fix(ui): diff viewer opens non-modal and maximizable
The diff viewer used ShowDialog at both call sites (task details, worktrees overview), blocking navigation of the rest of the app while open. Switch both to Window.Show(owner) and reuse the one open window (swap DataContext, Activate()) instead of stacking a second one on re-open. Add an opt-in maximize/restore button + double-click-titlebar toggle to ModalShell (ShowMaximizeButton, default false so other modals are untouched), wired on for DiffViewerView only. Reuses the existing Icon.WinMax/WinRestore geometry and OffScreenMargin inset from MainWindow's own maximize handling. The review gate (Approve & Merge locked until the diff is opened) already fires DiffViewed before the dialog/window is shown, so it is unaffected by the modal-to-non-modal change.
This commit is contained in:
@@ -365,7 +365,9 @@
|
||||
"splitView": "Nebeneinander",
|
||||
"wrapLines": "Zeilenumbruch",
|
||||
"paneBase": "BASIS",
|
||||
"paneWorktree": "WORKTREE"
|
||||
"paneWorktree": "WORKTREE",
|
||||
"maximize": "Maximieren",
|
||||
"restore": "Wiederherstellen"
|
||||
},
|
||||
"worktreesOverview": {
|
||||
"refresh": "Aktualisieren",
|
||||
|
||||
@@ -365,7 +365,9 @@
|
||||
"splitView": "Side by side",
|
||||
"wrapLines": "Wrap lines",
|
||||
"paneBase": "BASE",
|
||||
"paneWorktree": "WORKTREE"
|
||||
"paneWorktree": "WORKTREE",
|
||||
"maximize": "Maximize",
|
||||
"restore": "Restore"
|
||||
},
|
||||
"worktreesOverview": {
|
||||
"refresh": "Refresh",
|
||||
|
||||
Reference in New Issue
Block a user