Skip to content

[UI] Fix a Read-Only 'Warnings' tabs and also fix Tab-order and behaviour - #756

Merged
hannesa2 merged 3 commits into
masterfrom
fix-preferences-tab-margins
Oct 4, 2026
Merged

hannesa2 merged 3 commits into
masterfrom
fix-preferences-tab-margins

Conversation

@goneng

@goneng goneng commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Fix the Integration and Warnings tabs in Preferences, whose controls sat
too close to the toolbar and the bottom edge compared to General and
Updates, and fix the Warnings list at a size that hints at more rows.

Workplan

  • Integration tab
    • pane height 290 to 328, controls moved up by 4.
  • Warnings tab
    • margins fixed, as above.
    • the list is 4.5 rows tall (180 points) and the pane has a fixed size,
      so the half-visible row hints that the list scrolls.
      The code that (automatically) resized the list to the current row-count is removed.
    • shorten the Force push description, which was cut off.
    • the checkboxes react to clicks and Space again (the list refused every row selection).
    • Tab and Shift-Tab leave the list in one press, instead of parking on its checkbox column and hidden scroller.
  • All tabs
    • Left and Right move focus between the tabs the way Tab does, and Space and Return show the focused tab's pane.

Screenshots

image

(the list's vertical size is uneven on purpose, based on Apple's UI-design best practices)

image

Test plan

  • Read the window and control frames through accessibility on each tab.
    Gaps above and below the controls, in points:
    General 38/39, Updates 38/41, Warnings 37/41, Integration 39/39.
  • The Warnings list is 180 points tall; PBDialogWarningTests passes,
    including a test for the 4.5 rows.
  • Not checked by eye; please compare the tabs visually.
  • Tab bar keyboard use checked with real key presses: Tab, Left and Right
    reach the tabs; Space and Return show the pane. No automated test.

@goneng goneng changed the title Fix the uneven margins of the Integration and Warnings tabs [UI] Cosmetic: Fix the uneven margins of the 'Integration' and 'Warnings' tabs Oct 3, 2026
@goneng goneng changed the title [UI] Cosmetic: Fix the uneven margins of the 'Integration' and 'Warnings' tabs Fix the sizing and margins of the Integration and Warnings tabs Oct 3, 2026
@goneng
goneng force-pushed the fix-preferences-tab-margins branch from 2a833c5 to e70c4e0 Compare October 3, 2026 17:45
@goneng goneng changed the title Fix the sizing and margins of the Integration and Warnings tabs [UI] Fix the sizing and margins of the Integration and Warnings tabs Oct 3, 2026
@goneng
goneng force-pushed the fix-preferences-tab-margins branch from e70c4e0 to 4fbe576 Compare October 3, 2026 18:35
@goneng
goneng marked this pull request as ready for review October 3, 2026 18:35
@goneng
goneng requested a review from hannesa2 October 3, 2026 18:36
@goneng
goneng marked this pull request as draft October 3, 2026 20:19
@goneng
goneng force-pushed the fix-preferences-tab-margins branch 2 times, most recently from 90804b5 to f921434 Compare October 3, 2026 22:49
Give both Preferences tabs the same top and bottom margins that the
General and Updates tabs already have, and fix the Warnings list.

- Integration: add room above the Git Executable row, which sat against
  the toolbar, and balance the bottom margin.
- Warnings: add room above the description and below the Reset row.
- Warnings: reserve room for 4.5 rows and keep the tab at a fixed size,
  so the half visible row hints that the list scrolls once there are
  more dialogs. Drop the code that resized the list to the row count.
- Warnings: shorten the Force push description, which was cut off.
- Measured through accessibility, all four tabs now have 37 to 41 points
  above and below their controls.
@goneng
goneng force-pushed the fix-preferences-tab-margins branch 3 times, most recently from b2a43a9 to ff517cd Compare October 3, 2026 23:42
@goneng
goneng marked this pull request as ready for review October 3, 2026 23:50
@goneng goneng added the bugfix label Oct 3, 2026
@goneng goneng changed the title [UI] Fix the sizing and margins of the Integration and Warnings tabs [UI] Fix a Read-Only 'Warnings' tabs and also fix Tab-order and behaviour Oct 3, 2026
goneng added 2 commits October 4, 2026 02:55
Make the Warnings list react to clicks and Space, and let Tab leave it
in one press.

- Drop the delegate method that refused every row selection. The table
  tracks a click on a checkbox only when its row can be selected, so
  neither a click nor Space toggled anything.
- Make Tab and Shift-Tab leave the list at once. A cell-based table
  stopped on its checkbox column after the table itself, and its hidden
  scroller was a stop of its own, so it took several presses to get out.
- Add tests that click a checkbox, press Space on a selected row and
  press Tab in the list.
Move focus between the Preferences tabs with the arrow keys the way
Tab does, and turn Return into a click, so the focused tab reacts to
Space and Return.

- Left and Right put focus on an internal toolbar view that ignores
  Space. Step through the key view loop instead, which lands on the tab
  button itself.
- The tab button ignores Return and Enter, so click it for them.
- Checked with real key presses: Tab, Right and Left reach the tabs and
  Space or Return then shows the pane. No automated test, since the
  toolbar cannot be reached through the key view loop in the test run.
@goneng
goneng force-pushed the fix-preferences-tab-margins branch from ff517cd to 3efabfe Compare October 3, 2026 23:55
@hannesa2

hannesa2 commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

Screenshot differs: emulatorApi=arm64 with 2 screenshot(s)

setpoint (old) | diff | actual screenshot (new)

settings-integration.pngscreenshot

settings-warnings.pngscreenshot

@hannesa2
hannesa2 merged commit 07d85ca into master Oct 4, 2026
3 checks passed
@hannesa2
hannesa2 deleted the fix-preferences-tab-margins branch October 4, 2026 05:08
@goneng

goneng commented Oct 4, 2026 •

Copy link
Copy Markdown
Collaborator Author

@hannesa2 , I think this could be our "release candidate" for v1.7.1 - it fixes a bug where the list in the (new) 'Warnings' tab was read-only...
(Introduced in PR #750 )

@hannesa2

hannesa2 commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

I just created 1.7.1

@goneng

goneng commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator Author

I just created 1.7.1

Great!
(in #750 I was so focused on aligning the content of the new tab that I missed out on the fact that the list was read-only...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants