Skip to content

Add PyQt theme presets and documented custom theme files #196

Description

@ZFordDev

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

  • Built-in Light and Dark themes are release-ready; additional presets meet contrast standards.
  • Every existing PyQt component is visually checked under each preset.
  • Invalid theme files fail safely and leave the active theme unchanged.
  • Backup and restore preserve portable theme preferences and custom theme data according to a documented policy.
  • Public documentation explains every token and provides a complete example theme.
  • Automated tests cover parsing, validation, persistence, and fallback behavior.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    UI/UXdocumentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions