Goal
Add a theme section to PyQt settings with built-in presets, including the dark appearance already shown in SchedPlus website material, plus a safe documented format for user-created themes.
Proposed presets
Use the established SnapDock palette families as design references where appropriate: Light, Dark, Solarized, Arctic Dark, and Forest. Adapt them to SchedPlus components rather than copying web CSS directly.
Scope
- Persist the selected theme in portable UI preferences.
- Apply theme changes predictably across all PyQt windows and dialogs.
- Support importing a documented theme file with schema/version validation.
- Define required semantic color tokens instead of accepting unrestricted executable or arbitrary application content.
- Consider an advanced color editor only after presets and theme-file import are stable.
- Keep Lite on its intentionally simple native presentation unless separately approved.
Acceptance criteria
Goal
Add a theme section to PyQt settings with built-in presets, including the dark appearance already shown in SchedPlus website material, plus a safe documented format for user-created themes.
Proposed presets
Use the established SnapDock palette families as design references where appropriate: Light, Dark, Solarized, Arctic Dark, and Forest. Adapt them to SchedPlus components rather than copying web CSS directly.
Scope
Acceptance criteria