Skip to content

List the suppressible confirmation dialogs in Preferences - #750

Merged
hannesa2 merged 1 commit into
masterfrom
dialog-warnings-list
Oct 3, 2026
Merged

hannesa2 merged 1 commit into
masterfrom
dialog-warnings-list

Conversation

@goneng

@goneng goneng commented Oct 3, 2026 •

Copy link
Copy Markdown
Collaborator

Show each confirmation dialog GitX can stop asking about in a new Warnings Preferences tab, with whether it is currently ignored, and let the user toggle it.

Workplan

  • Register each suppressible dialog (push, delete branch or tag, drop stash, move a ref by drag and drop) in PBGitDefaults with a title and description; call sites use shared constants.
  • Warnings tab: an introductory sentence, a table with a "Don't ask" checkbox per dialog, checked when the dialog is suppressed, a separator, and the Reset Warnings button. The table reads and writes the existing "Suppressed Dialog Warnings" set, so it stays in step with Reset Warnings and with "don't show again" ticked in a dialog.
  • The list is sized to the registered dialogs and scrolls past eight rows.
  • A remembered Preferences tab that this build lacks is ignored (otherwise a downgrade after opening Warnings leaves Preferences unable to open).
  • The Preferences window gets a minimum width so all four tabs fit.
  • A test scans Classes for suppressionIdentifier: arguments and fails if one is not registered.

Screenshots

image

Test plan

  • PBDialogWarningTests pass (registry scan, defaults round trip, table data source, Reset Warnings). Changing a call site to an unregistered identifier makes the scan test fail.
  • Not checked by hand: the tab's appearance and clicking the checkboxes in the running app. Please look at the Warnings tab.

@goneng
goneng force-pushed the dialog-warnings-list branch 6 times, most recently from 0e0ac74 to c2821c4 Compare October 3, 2026 11:06
@goneng
goneng marked this pull request as ready for review October 3, 2026 12:19
@goneng
goneng force-pushed the dialog-warnings-list branch from c2821c4 to 19f40ec Compare October 3, 2026 12:39
Show each confirmation dialog GitX can stop asking about, with whether
it is currently ignored, and let the user toggle it individually.

- Register every suppressible dialog in PBGitDefaults with a title and
  a one-line description, and use shared constants at the call sites.
- Add a Warnings tab with an introductory sentence, the list, a
  separator and the Reset Warnings button.
- Size the list to the registered dialogs, scrolling past eight rows.
- Ignore a remembered Preferences tab this build does not have, so a
  downgrade still opens the window.
- Give the Preferences window a minimum width so all four tabs fit.
- Make a checked row mean the same as the box in the dialog itself:
  the dialog is not shown.
- Keep the storage as is: the table reads and writes the existing
  "Suppressed Dialog Warnings" set, so it and Reset Warnings cannot
  disagree.
- Run the tests against a settings store of their own, so they do not
  touch the user's saved warnings or remembered tab.
- Fail the tests when a confirmation dialog is added without a registry
  entry.
@goneng
goneng force-pushed the dialog-warnings-list branch from 19f40ec to 2a571da Compare October 3, 2026 12:42
@hannesa2

hannesa2 commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

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

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

commit-context-menu.pngscreenshot

history-view.pngscreenshot

settings-general.pngscreenshot

settings-integration.pngscreenshot

@hannesa2
hannesa2 merged commit 37ede14 into master Oct 3, 2026
3 checks passed
@hannesa2
hannesa2 deleted the dialog-warnings-list branch October 3, 2026 14:09
@goneng

goneng commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

@hannesa2 , I think we have a lot of new content and bug-fixes since v1.6 - maybe it is time for a new release

@hannesa2

hannesa2 commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Is the worktree ready to ship?

@goneng

goneng commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator Author

Is the worktree ready to ship?

Yes - there is one small enhancement that can wait for the next release -
a rate case where the "main repo-folder that has related worktrees" had moved
(like if we rename ~/GitRepos/GitX to ~/GitRepos/GitX-New-Home).
Newer versions of git can help "sync" the lost worktrees, but - again -
this is very rare, and most git-clients don't support this at the moment.

@hannesa2

hannesa2 commented Oct 3, 2026

Copy link
Copy Markdown
Contributor

Ok, I wait for
#754 and
#753
then I'll make a new release

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants