Skip to content

Redesign settings dialog: modern macOS toolbar-style layout with proper form alignment#7

Draft
Copilot wants to merge 3 commits into
masterfrom
copilot/update-app-settings-dialog-design
Draft

Redesign settings dialog: modern macOS toolbar-style layout with proper form alignment#7
Copilot wants to merge 3 commits into
masterfrom
copilot/update-app-settings-dialog-design

Conversation

Copilot AI commented Mar 2, 2026

Copy link
Copy Markdown

The settings dialog used an outdated NSTabView card UI with left-aligned labels, inconsistent VFL spacing, and a fixed 440×300 window — far from current macOS conventions as seen in Safari/Mail Settings.

Navigation

  • Replaced bare NSTabView with NSTabViewController (NSTabViewControllerStyleToolbar) — icon toolbar across the top, content below, matching Safari/Mail Settings on macOS 13+
  • Window title changed to "Settings"; window auto-resizes per pane via preferredContentSize
  • SF Symbol icons per tab (gearshape, paintbrush, doc.text) with @available(macOS 11.0, *) guard and system-image fallbacks

Form layout

  • Replaced all manual VFL constraints with NSGridView: right-aligned label column (NSGridCellPlacementTrailing, fixed 140 pt) + left-aligned control column — all controls start at the same x-position across every pane
  • Checkboxes placed in the control column with NSGridCell.emptyContentView in the label column (they are self-labelling; no duplicate label)
  • Numeric field + stepper + unit label composed via a reusable NSStackView helper (stepperRowWithField:stepper:unit:)

Spacing

Named constants codify HIG-standard values throughout:

static const CGFloat kEdgeInset        = 20.0; // pane margins
static const CGFloat kLabelColumnWidth = 140.0; // right-aligned label column
static const CGFloat kColumnGap        =  8.0;  // label → control gap
static const CGFloat kRowSpacing       =  8.0;  // between form rows

All action methods are unchanged.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

…tings

Co-authored-by: danaspiegel <6631+danaspiegel@users.noreply.github.com>
Copilot AI changed the title [WIP] Redesign app settings dialog for improved usability Redesign preferences dialog: tabbed layout + additional settings Mar 2, 2026
…orm layout

Co-authored-by: danaspiegel <6631+danaspiegel@users.noreply.github.com>
Copilot AI changed the title Redesign preferences dialog: tabbed layout + additional settings Redesign settings dialog: modern macOS toolbar-style layout with proper form alignment Mar 2, 2026
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.

2 participants