Skip to content

Refactor: Centralize Debug Logging & Add Theme Assets#5

Merged
dayvster merged 4 commits into
mainfrom
dev
Feb 14, 2026
Merged

Refactor: Centralize Debug Logging & Add Theme Assets#5
dayvster merged 4 commits into
mainfrom
dev

Conversation

@dayvster

Copy link
Copy Markdown
Owner

This pull request introduces major improvements to theming and preferences management in the application. The most significant changes are the migration to global QSS-based theming for more consistent styling, support for command-line theme selection and stylesheet testing, and the addition of a new preferences storage system. Debug logging and diagnostic output have also been improved to better respect verbosity settings and provide clearer runtime information.

Theming and Styling Improvements:

  • Migrated from local widget stylesheets to global QSS-based theming, allowing themes to consistently control appearance across all widgets. Inline styles were removed or minimized in AppRow and ListView, and a root container was added to ensure stylesheet painting applies reliably. [1] [2] [3] [4] [5]
  • Added command-line support for theme selection (--theme <name>) and stylesheet testing (--test-qss), enabling users to apply built-in or custom themes and verify QSS support. Theme and QSS application logic was updated to handle these flags and fallback to persisted styles when appropriate. [1] [2]
  • Improved QSS application by recursively setting stylesheets on all window children, with diagnostic output for runtime verification. Palette and font coherence were ensured for widgets not covered by QSS.

Preferences Management:

  • Introduced a new preferences storage system (Preferences class in src/core/preferences.cpp and src/core/preferences.h) for tracking pinned and hidden items, with support for loading and saving preferences to disk. [1] [2]
  • Registered the new preferences source file in the build system (CMakeLists.txt).

Debugging and Diagnostics:

  • Updated debug logging to respect verbosity flags (-v, -vvv) and provide clearer output, including per-run debug identifiers and improved launch diagnostics. [1] [2]
  • Retained std::cout for CLI diagnostic dump mode in AppReader::DumpAndPrint, ensuring script compatibility and consistent output. [1] [2]

Theme Manager Enhancements:

  • Ensured that built-in QSS files are created and available for user customization at ThemeManager initialization.

These changes collectively provide a more robust, customizable, and maintainable foundation for application theming and user preferences.

@dayvster dayvster merged commit 746d494 into main Feb 14, 2026
0 of 2 checks 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