Repository navigation
add: machine-local window layout persistence (#85, part 1) - #172
Merged
Merged
Conversation
Osayi-ANL
force-pushed
the
add/85-p1-window-layout-persistence
branch
from
September 23, 2026 19:15
7fd1f42 to
b71faa3
Compare
…ngs — a window reopens at the size, position and dock arrangement it was closed at, per viewer type, with a dock-state version each viewer raises on its own
Osayi-ANL
force-pushed
the
add/85-p1-window-layout-persistence
branch
from
September 24, 2026 20:52
b71faa3 to
b812bcd
Compare
This was referenced Oct 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First of eleven parts for #85.
A window reopens at the size, position and dock arrangement it was closed at. State goes to
QSettings("DashPVA", <viewer type>)— Qt's per-user store, so nothing lands in the repo, and each viewer gets its own keys.DOCK_STATE_VERSIONguards the dock layout: raise it when a viewer's dock set changes and a stale layout is retired rather than restored into the wrong places.Restore runs on a deferred
singleShotonce__init__has finished. Docks cannot be restored before they exist, and a subclass's hardcoded defaults would otherwise overwrite restored values. Living inBaseWindowmeans no window can forget to.HKL3D and Workbench get this by inheritance — neither file is touched. The area-detector viewer sets
persist_state = Falsefor now because it still restores its ownarea_det_*keys; that comes off in part 4 when it migrates onto the shared store.Inputs and session restore follow as parts 2 and 3.
Test Plan