Skip to content

Match settings checkbox alignment and labels to Windows ZoomIt - #38

Merged
markrussinovich merged 1 commit into
mainfrom
optionslayout
Jul 23, 2026
Merged

Match settings checkbox alignment and labels to Windows ZoomIt#38
markrussinovich merged 1 commit into
mainfrom
optionslayout

Conversation

@markrussinovich

Copy link
Copy Markdown
Contributor

Summary

Aligns the macOS settings panes with the Windows ZoomIt options dialog.

Changes

  • Add Windows-style checkbox helpers: caption on the left with the checkbox box on the right (matching BS_LEFTTEXT), plus a column helper that aligns the boxes in a right-hand column.
  • Convert the Zoom, Break, Snip, Record, DemoType, and webcam checkboxes to the box-on-right style and update captions/field labels to match the Windows ZoomIt options dialog wording.
  • Align the webcam Camera/Position and Size/Shape rows in a grid so their labels and popups line up.
  • Move the Record tab's Edit existing video (Trim) row to the bottom of the panel.

Testing

  • ./Scripts/build-app.sh debug builds cleanly; launched and verified the settings panes visually.

- Add Windows-style checkbox helpers (caption left, box right) and a
  column helper that aligns the boxes in a right-hand column.
- Convert Zoom, Break, Snip, Record, DemoType, and webcam checkboxes to
  the Windows box-on-right style and update captions/labels to match the
  Windows ZoomIt options dialog wording.
- Align the webcam Camera/Position and Size/Shape rows in a grid.
- Move the Record tab's Edit existing video (Trim) row to the bottom.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Aligns the macOS Settings window layout and wording with the Windows ZoomIt options dialog by introducing Windows-style checkbox layout helpers and updating multiple settings panes to use right-aligned checkbox boxes and Windows-matching captions/labels.

Changes:

  • Added reusable helpers for Windows-style checkboxes (caption-left / box-right) and for stacking them with aligned checkbox boxes.
  • Updated checkbox layout and captions across multiple tabs (Zoom, Break, Snip, Record, DemoType, Webcam) to match Windows wording and alignment.
  • Reworked Webcam rows into a grid for consistent label/popup alignment and moved the Record tab’s Trim row to the bottom.
Comments suppressed due to low confidence (1)

Sources/ZoomItMacCore/Settings/SettingsWindowController.swift:1288

  • The “Noise cancellation” checkbox label was updated, but the tooltip strings still describe “wind noise removal”, which makes the UI help text inconsistent/confusing. Consider updating the tooltip text to match the new wording while still mentioning the underlying AVFoundation feature.
        noiseCancellationCheckbox?.title = supported ? "Noise cancellation:" : "Noise cancellation (not supported by selected microphone):"
        noiseCancellationCheckbox?.isEnabled = supported
        noiseCancellationCheckbox?.state = (settings.recordNoiseCancellation && supported) ? .on : .off
        noiseCancellationCheckbox?.toolTip = supported
            ? "Uses AVFoundation wind noise removal for the selected microphone."

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

liveHotKeyButton.widthAnchor.constraint(greaterThanOrEqualToConstant: 140).isActive = true
self.liveHotKeyButton = liveHotKeyButton
let liveHotKeyRow = makeRow([makeLabel("Live zoom toggle:"), liveHotKeyButton])
let liveHotKeyRow = makeRow([makeLabel("LiveZoom Toggle:"), liveHotKeyButton])
Comment on lines +1302 to 1303
let enableCheck = makeCheckbox("", action: #selector(webcamEnabledChanged(_:)), state: settings.webcamEnabled)

@markrussinovich
markrussinovich merged commit b03e43d into main Jul 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants