Merge pull request 'fix(gui): style radio buttons + checkbox states in the setup wizard — 0.26.1' (#22) from feat/share-terminal into main
release / release (push) Successful in 14s

Reviewed-on: #22
This commit was merged in pull request #22.
This commit is contained in:
2026-05-22 08:28:34 +00:00
5 changed files with 28 additions and 3 deletions
+7
View File
@@ -5,6 +5,13 @@ All notable changes to RigDoctor are recorded here. Format follows
(`MAJOR.MINOR.PATCH`, pre-1.0). `__version__` and `pyproject.toml` must match the git (`MAJOR.MINOR.PATCH`, pre-1.0). `__version__` and `pyproject.toml` must match the git
release tag (so the auto-updater, D18, can compare versions). release tag (so the auto-updater, D18, can compare versions).
## [0.26.1] - 2026-05-22
### Fixed
- **Setup wizard contrast.** The **radio buttons** (Recording trigger) were unstyled, so the
selected option was invisible on the dark theme — now styled with a clear accent ring + dot.
Bundle **checkboxes** got explicit checked/disabled states, and stay selectable even when a
bundle is already installed (the page no longer looks dead when everything's present).
## [0.26.0] - 2026-05-22 ## [0.26.0] - 2026-05-22
### Added ### Added
- **Graphical setup wizard (M9).** A first-run GUI wizard (`gui/setup_wizard.py`) walks through: - **Graphical setup wizard (M9).** A first-run GUI wizard (`gui/setup_wizard.py`) walks through:
+1 -1
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "rigdoctor" name = "rigdoctor"
version = "0.26.0" version = "0.26.1"
description = "Modular hardware monitoring & crash diagnostics for Linux gamers." description = "Modular hardware monitoring & crash diagnostics for Linux gamers."
readme = "README.md" readme = "README.md"
requires-python = ">=3.11" requires-python = ">=3.11"
+1 -1
View File
@@ -1,3 +1,3 @@
"""RigDoctor — modular hardware monitoring & crash diagnostics for Linux gamers.""" """RigDoctor — modular hardware monitoring & crash diagnostics for Linux gamers."""
__version__ = "0.26.0" __version__ = "0.26.1"
+1 -1
View File
@@ -117,7 +117,7 @@ class SetupWizard(QDialog):
tag = " — all installed ✓" if not missing else f"{len(missing)} to install" tag = " — all installed ✓" if not missing else f"{len(missing)} to install"
cb = QCheckBox(f"{bundle}: {names}{tag}") cb = QCheckBox(f"{bundle}: {names}{tag}")
cb.setChecked(bool(missing)) # default-check bundles with something to add cb.setChecked(bool(missing)) # default-check bundles with something to add
cb.setEnabled(bool(missing) and sysenv.package_manager() == "apt") cb.setEnabled(sysenv.package_manager() == "apt") # selectable even if already installed
self._bundle_checks[bundle] = cb self._bundle_checks[bundle] = cb
v.addWidget(cb) v.addWidget(cb)
if sysenv.package_manager() != "apt": if sysenv.package_manager() != "apt":
+18
View File
@@ -144,6 +144,24 @@ QCheckBox::indicator:hover {{ border-color: {ACCENT}; }}
QCheckBox::indicator:checked {{ QCheckBox::indicator:checked {{
background: {ACCENT}; border-color: {ACCENT}; image: url("{_CHECK}"); background: {ACCENT}; border-color: {ACCENT}; image: url("{_CHECK}");
}} }}
QCheckBox::indicator:disabled {{ border-color: #3a414d; background: #1c2026; }}
QCheckBox::indicator:checked:disabled {{ background: #2a6175; border-color: #2a6175; }}
QCheckBox:disabled {{ color: {MUTED}; }}
/* Radio buttons — same dark treatment as checkboxes; the selected one gets a clear
accent dot (Fusion leaves these unstyled = the selection is invisible on dark). */
QRadioButton {{ spacing: 8px; background: transparent; }}
QRadioButton::indicator {{
width: 17px; height: 17px; border-radius: 9px;
border: 1px solid {MUTED}; background: #262b34;
}}
QRadioButton::indicator:hover {{ border-color: {ACCENT}; }}
QRadioButton::indicator:checked {{
border: 1px solid {ACCENT};
background: qradialgradient(cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5,
stop:0 {ACCENT}, stop:0.5 {ACCENT}, stop:0.55 #262b34, stop:1 #262b34);
}}
QRadioButton:disabled {{ color: {MUTED}; }}
/* Dialogs (update prompt, changelog) — match the dark theme so text is readable. */ /* Dialogs (update prompt, changelog) — match the dark theme so text is readable. */
QDialog {{ background: {BG}; }} QDialog {{ background: {BG}; }}