- ruff format and import ordering (main_window, data_collection_settings,
beam_center_panel, beamline_state_panel)
- rename unused unpacked variable in test_title_label
- replace the mousePressEvent monkeypatch on the beamline state title
with a proper eventFilter so basedpyright accepts the diff
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
TitleLabel gains an optional collapsible mode: whole-banner click target,
bare +/- glyph (no pill background), per-title collapsed state persisted
in QSettings, and an expand() helper. Banners are halved to 25px with
plain text + QSS font (H3 margins would clip vertically).
- convert Zoom, Light, Omega, Smargon, Sample camera, Monochromator,
ABR meas. pos., Beam mark, Beam center, Beam size, Dataset path and
Loop centering to collapsible banners
- new collapsible Exp. Config. section wrapping the scan tabs
- move Manual sample from a bottom dock into the left column between
Dataset path and Exp. Config.; Ctrl+M now expands it instead of
raising the dock
- Beamline state banner restyled to match (25px, plain font, bare
glyph, whole banner clickable)
- universal 11px banner gap via tighten_column() shared by both panel
columns and the left column stack; ABR banner spans all grid columns
and file path / manual sample drop side margins so widths align
- abort button sits under the tabs instead of pinned to the bottom
- unit tests for the collapse behavior
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Add DbOverrideLineEdit: a numeric field holding both a database value and
the user's value, driven by a per-tab Database/User-values toggle. The
user's value persists across samples, can be reverted to the database
value, and recovered again - replacing the clunky per-field checkboxes.
Fix the dtz<->resolution coupling so editing one updates the other in both
Database and User modes (previously it broke whenever a value was
overridden). Wire resolution, detector distance, transmission, exposure,
rotation total/image angle and the raster grid element size through the
new widget; other panels are untouched.
Add tests covering persist/revert/recover, the toggle's downstream emit,
the dtz/resolution coupling in both modes, and cross-sample persistence.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>