GUI usability batch for the user-facing daily-operation panels.
Access control
Admin-gate the beam diagnostics states (Beam location, Beamstop
alignment, Flux measurement) in the state strip and the status-bar
transitions menu; denials show as an auto-dismissing tooltip on a
red wash instead of a click-to-close message box.
Allow non-staff to change energy, and refresh the staff linux group.
Sample camera
Hover HUD with pixel coordinates and a grey-scale bar.
Combined view only while the state is moving or during robot
sample exchange.
Data collection panel
Auto Centering moves out of the experiment tabs to its own row
between Manual sample and Experiment configuration, with an
"apply after mount" checkbox that re-runs it after every detected
sample mount (guarded so a GUI restart with a sample already
mounted does not move hardware).
Draw a Grid now only shows on the Raster scan tab.
Misc
Baton request dialog closes properly after receiving the baton;
bigger accept/cancel buttons.
Help cheatsheet folds when the mouse leaves the box; wording,
tooltip-consistency and button-naming cleanups.
GUI usability batch for the user-facing daily-operation panels.
Access control
- Admin-gate the beam diagnostics states (Beam location, Beamstop
alignment, Flux measurement) in the state strip and the status-bar
transitions menu; denials show as an auto-dismissing tooltip on a
red wash instead of a click-to-close message box.
- Allow non-staff to change energy, and refresh the staff linux group.
Sample camera
- Hover HUD with pixel coordinates and a grey-scale bar.
- Combined view only while the state is moving or during robot
sample exchange.
Data collection panel
- Auto Centering moves out of the experiment tabs to its own row
between Manual sample and Experiment configuration, with an
"apply after mount" checkbox that re-runs it after every detected
sample mount (guarded so a GUI restart with a sample already
mounted does not move hardware).
- Draw a Grid now only shows on the Raster scan tab.
Misc
- Baton request dialog closes properly after receiving the baton;
bigger accept/cancel buttons.
- Help cheatsheet folds when the mouse leaves the box; wording,
tooltip-consistency and button-naming cleanups.
- uv.lock synced with the 0.12.5 version bump.
Generated with [Claude Code](https://claude.com/claude-code)
Beam location, Beamstop alignment and Flux measurement grey out for
non-staff in the state strip and the status-bar transitions menu. All
"not admin" denials now show as an auto-dismissing QToolTip on a
Catppuccin red wash instead of a click-to-close QMessageBox.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
basedpyright requires _admin_tip_anchor to exist after __init__, so the
anchor is created eagerly instead of lazily. Cover the red-tip branch and
the status-bar menu gate; the menu test swaps in a QMenu subclass with a
no-op exec because PySide method lookup ignores class-attr monkeypatches.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Bottom-right corner shows the hovered pixel coordinates with a grey
1-2-5 scale bar above them, derived from geom.pixel_in_mm and the
current zoom. Works in viewing mode (before the interaction gate),
clears on leave, and skips drawing outside the image.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Click is no longer the only way back to the "?" badge: moving the
pointer off the expanded box, or out of the widget entirely, folds it.
Checked before the interaction gate so it works in viewing mode too.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Auto Centering moves out of the experiment tabs to its own row between
Manual sample and Exp. Config., with an apply-after-mount checkbox that
re-runs it on every detected sample mount (guarded against firing on GUI
startup). Draw a Grid now only shows on the Raster scan tab.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
duan_j
changed title from WIP: feat: admin-gate beam diagnostics states, warn via passive red tip to WIP: feat: user GUI optimizations2026-08-20 19:58:23 +02:00
duan_j
marked the pull request as ready for review 2026-08-20 20:00:13 +02:00
duan_j
merged commit 3df3683b75 into main2026-08-20 20:01:10 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
GUI usability batch for the user-facing daily-operation panels.
Access control
alignment, Flux measurement) in the state strip and the status-bar
transitions menu; denials show as an auto-dismissing tooltip on a
red wash instead of a click-to-close message box.
Sample camera
sample exchange.
Data collection panel
between Manual sample and Experiment configuration, with an
"apply after mount" checkbox that re-runs it after every detected
sample mount (guarded so a GUI restart with a sample already
mounted does not move hardware).
Misc
bigger accept/cancel buttons.
tooltip-consistency and button-naming cleanups.
Generated with Claude Code
Coverage report (automated)
Total line + branch coverage: 49%
Diff coverage vs main: 97% (minimum 80%)
Full report: coverage artifact on this run.
099ea2297btoa81c51c6eaa81c51c6eato620877391ca6ef1710b0to071daa0315071daa0315tof165055ffcf165055ffcto3df3683b75WIP: feat: admin-gate beam diagnostics states, warn via passive red tipto WIP: feat: user GUI optimizations