54968a245f1dfd0e6fd2780a040e080a826be20f
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
54968a245f |
viewer: the file manager starts where the data is, and follows a dataset opened elsewhere
Build Packages / Create release (push) Successful in 18s
Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 7m41s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 8m36s
Build Packages / build:viewer-tgz:cpu (push) Successful in 10m51s
Build Packages / build:viewer-tgz:cuda (push) Successful in 11m28s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m37s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 15m40s
Build Packages / build:windows:nocuda (push) Successful in 16m50s
Build Packages / build:windows:cuda (push) Successful in 19m6s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 23m20s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 15m57s
Build Packages / build:rugnux:windows (push) Successful in 10m23s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 19m21s
Build Packages / Generate python client (push) Successful in 48s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 19m11s
Build Packages / Build documentation (push) Successful in 1m23s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m36s
Build Packages / build:rpm (rocky8) (push) Successful in 17m45s
Build Packages / build:rpm (rocky9) (push) Successful in 19m12s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 14m20s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 15m11s
Build Packages / Unit tests (push) Successful in 1h42m33s
Two things a beamline user did every session by hand. The browser's default root now resolves JUNGFRAUJOCH_DATA_ROOT, then the root last used, then - for an SLS account, which is eNNNNN against a pNNNNN group - /sls/mx/data/pNNNNN/raw, then home. The environment variable stays the general mechanism and keeps precedence; the account rule is there because it needs nothing rolled out to benefit from it. Both go through DefaultRoot(), so a reset resolves them the same way a first run does. A dataset opened from the File menu or over D-Bus now expands and selects itself in the browser when it lies inside the current root. Containment is tested on resolved paths, so a sibling directory sharing a prefix is not inside it. Neither says anything when it does not apply: an account that is not a beamline one, a directory that is not there, a dataset outside the root - each is a bare return, because for everyone who is not at this one facility the condition should be invisible. Following never writes the root, so the location the user chose is still the location they get back. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011GxZqDiFP3KqriBhNdcR56 |
||
|
|
7d872fd762 |
viewer: plot choices persist per dataset kind, and settings reset live
The dataset-info plot remembers the selected quantity and the Grid/Per-image toggle states across restarts, with grid scans and standard scans each keeping their own favourite (QSettings groups datasetInfoPlot/gridScan and /standard). Choices are stored as the combo item's data code, not its index, so a saved choice survives the plot list changing and a code no longer offered falls back to the first item. Favourites are saved on every explicit user action and applied whenever a dataset of the other kind loads; loads of the same kind keep the in-session state, and the live-source default still wins until the user picks. The unconditional Grid auto-check on grid scans moved into the favourite's default, so unchecking Grid on a grid dataset now sticks. View > "Reset all settings to defaults" clears the whole settings store after confirmation and brings the running session to a first-start state in place: default layout, window size, display settings (Indigo, Auto off, HDR off), plot choices, and the file manager root. Because the live state then equals the defaults, saving on close stays enabled and later changes persist as usual. File > Quit now closes the main window instead of calling QApplication::quit(), so closeEvent runs and the persistent settings are saved on that path too - previously they were saved only when the window was closed by the window manager. The file manager root persistence was audited and left unchanged: saved on every successful change, restored behind JUNGFRAUJOCH_DATA_ROOT, and a vanished directory falls back to the home directory. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WbjnQhutnboy4qbxwmgDAX |
||
|
|
a7a4c28925 |
jfjoch_viewer: the inspector states the numbers it used to hide
Build Packages / Unit tests (push) Successful in 49m15s
Build Packages / build:windows:nocuda (push) Successful in 18m5s
Build Packages / build:windows:cuda (push) Successful in 20m26s
Build Packages / build:viewer-tgz:cpu (push) Successful in 7m17s
Build Packages / build:viewer-tgz:cuda (push) Successful in 8m15s
Build Packages / build:rugnux-tgz (x86_64) (push) Successful in 6m57s
Build Packages / build:rugnux:windows (push) Successful in 10m56s
Build Packages / build:rugnux:aarch64 (cross) (push) Successful in 5m0s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m21s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m22s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m49s
Build Packages / build:rpm (rocky8) (push) Successful in 11m57s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m5s
Build Packages / XDS test (neggia plugin) (push) Successful in 5m45s
Build Packages / Generate python client (push) Successful in 10s
Build Packages / Build documentation (push) Successful in 36s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (JFJoch plugin) (push) Failing after 3h12m36s
Build Packages / XDS test (durin plugin) (push) Failing after 3h12m38s
Build Packages / DIALS test (push) Failing after 3h12m40s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 3h12m42s
Build Packages / build:rpm (rocky9) (push) Failing after 3h12m44s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 3h12m46s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 3h12m48s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 3h12m50s
Six changes to the desktop viewer, all in what it shows and what it is called: - The left-hand reprocessing panel is titled "Processing" (it sits next to "File manager"); the jobs panel that held that name is "Jobs". - The file manager lists *.cbf beside the HDF5 datasets. A CBF is one frame per file and opening any of them opens its sweep, which is what the File > Open dialog already did. - Image statistics: collection time, detector distance, beam centre and wavelength were in the dataset row's tooltip, where a number nobody hovers over is a number nobody reads. They are rows of their own, in the order a person asks for them - what the dataset is, how it was collected, then what this image contains. Source/instrument and sample are bold like every other value. The B-factor row is gone. - A "Spots + background" plot: spot count on the left axis, background per pixel on the right, since a common scale would flatten one of them. The axis labels take the colour of their line - a legend costs exactly the vertical room those labels need at this dock height. It is what a live (HTTP) connection selects by default, until the user picks something else. - Expanding the powder-calibration section no longer widens the settings panel past the space it has. Two buttons side by side cannot be narrower than both their labels, and a combo is never narrower than its longest entry - a 40-character cell in the calibrant list set the minimum width of the whole dock. One button per row, the cell in a tooltip, and both combos allowed to elide. - The grid/per-image toggles both rebuild the metric selector now. The grid button did not, so leaving per-image mode through it left the per-image plot types listed - X-ray fluorescence offered as a metric of a grid scan - and their values were then read as per-dataset metrics. Each mode also remembers its own selection instead of carrying an index across two unrelated lists. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011oVDk7aukYqfPZBLHn5nGg |
||
|
|
d24cdfcff4 |
jfjoch_viewer: navigation keys, one-shot auto-contrast, file manager panel, cleanup
* Dataset-info plot hover shows a horizontal crosshair alongside the existing vertical one, so a run of hovers reads as a level or a drift at a glance. * `A` applies auto-contrast once instead of switching on persistent Auto mode (a new `oneShotAutoForeground()`, distinct from the toolbar's Auto toggle); pressing it a second time on the same image switches Auto on for good, and pressing it while Auto is already on leaves it on. The value itself comes from one `AutoForegroundValue()` shared with the continuous Auto path. * `Home`/`End`/`Page Up`/`Page Down` navigate the dataset (first/last image, one image forward/back); claimed in the diffraction view's keyPressEvent before QGraphicsView's default handling, which otherwise eats them to scroll the viewport. * Alt+wheel dataset navigation is removed - some window managers already took it before the app ever saw it, per the caveat that used to sit next to its entry in the shortcuts list. * The image strip dock and its dedicated thumbnail-rendering machinery in the reading worker (SetThumbnail*, RenderThumbnail_i) are removed; it cost a lot and nothing else used any of it. * Toolbar text: "Colour" -> "Color". * Color map, Auto and HDR mode now persist across sessions, the same way the window layout already does. * The Inspector's "Dataset:" path wraps at '/' (a zero-width space after each one) instead of being cut off when it doesn't fit one line. * LoadFile no longer reopens an already-open file - it forwards straight to LoadImage instead - which was the likely cause of a D-Bus client's per-image navigation lagging behind the same navigation done via the grid-scan hover. * New file-manager dock (left, tabbed with Settings via tabifyDockWidget): a directory tree filtered to *_master.h5/*_process.h5, rooted at JUNGFRAUJOCH_DATA_ROOT if set, else the last-browsed root, else the home directory. Most beamline users care about opening images, not reprocessing settings, so it's the tab raised by default. Its filter box narrows files only - a directory always passes - because filtering the directories too hid the matching files under any directory whose own name did not match, and hid the root's ancestors, which left the tree with no valid root index until the root was set again by hand. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PogHY7bWXV4bpctDPdyuDN Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> |