Skip to content

Add grey styling for locked/disabled sliders and controls#415

Merged
marcinz606 merged 1 commit into
mainfrom
feat/uipass
Jul 7, 2026
Merged

Add grey styling for locked/disabled sliders and controls#415
marcinz606 merged 1 commit into
mainfrom
feat/uipass

Conversation

@marcinz606

Copy link
Copy Markdown
Owner

Summary

  • Locked controls (analysis buffer under roll average, clip sliders under Lock Bounds, flatfield k1 with no reference profile, etc.) were visually identical to normal enabled controls — the app QSS had no :disabled state at all.
  • Adds a global grey :disabled treatment in modern_dark.qss for sliders (handle/groove/sub-page, including the cyan/magenta/yellow channel variants) and for buttons/combos/fields — applies automatically to every existing setEnabled(False) call site, no per-callsite changes needed.
  • CompactSlider's label and HueSlider/KelvinSlider's handle tint are painted via inline setStyleSheet (bypasses QSS), so these get an explicit setEnabled override that repaints them muted grey when locked. Locked takes priority over the "edited" amber indicator.

Test plan

  • make lint
  • make type
  • make test (1182 passed, 4 skipped, 1 xfailed)
  • Added test_compact_slider_locked_style_overrides_edited and test_kelvin_slider_locked_handle_is_muted to tests/test_slider_widgets.py

Locked controls (e.g. analysis buffer under roll average, flatfield k1
with no reference profile) looked identical to normal enabled ones
since no :disabled state existed in the app QSS. Adds a global grey
:disabled treatment for sliders, buttons, and fields, plus explicit
handling for CompactSlider/HueSlider/KelvinSlider whose handle/label
colors are painted inline and bypass QSS.
@marcinz606 marcinz606 merged commit 6423962 into main Jul 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant