Commit Graph

17 Commits

Author SHA1 Message Date
865020fe11 Migrate the build system to cmake 2026-02-25 09:19:39 +01:00
76860ae6c4 Support Qt below 6.5
QStyleHints::colorScheme is only 6.5+ but github actions latest ubuntu image is running Qt 6.4.
2026-02-19 19:21:28 +01:00
044176d6b7 Initial implementation of theming 2026-02-19 18:06:32 +01:00
9d6a1abd39 Improve icon utils by supporting explicit file name destination
Useful for using svg templates that can generate multiple icons, e.g. labels
2026-02-19 18:06:31 +01:00
36899b4e06 Add new function to recolor svg files supporting 3 placeholders 2026-02-19 18:06:31 +01:00
6b3fcc63d3 Make help/about dialog themable
Just the hardcoded colors used, the rest of the dialog will be themed by Qt.
2026-02-19 18:06:31 +01:00
561c2ae568 Fix theme initialization in Themable 2026-02-19 18:06:31 +01:00
bd4c5eace0 Make Themable keep the current theme for convenience 2026-02-19 18:06:31 +01:00
edd5bbc69c Make Themable pass the current Theme through applyTheme
This reduces boilerplate code and remove the ThemeManager dependency at Thamable subclasses level.
2026-02-19 18:06:31 +01:00
721da42c8c Add toolbar and background theming to YACReader 2026-02-19 18:06:30 +01:00
07eb103ce3 Add the new files to the projects 2026-02-19 18:06:30 +01:00
77240e67f2 Add a struct for the cases where we need to specify a icon size explicitly 2026-02-19 18:06:30 +01:00
390b24514c Add helpers to tint svg files 2026-02-19 18:06:30 +01:00
19a4037a1a Add an abstract class to be implemented by any class that needs theming 2026-02-19 18:06:30 +01:00
cc753e1866 Add ThemeManager
It can listen to system changes and update the current theme, widgets can use it to get the current theme.
2026-02-19 18:06:30 +01:00
05338d8122 Add an enum to identify themes
We can add here all the built-in themes, plus a custom one that could be loaded from a file.
2026-02-19 18:06:30 +01:00
ecee7d0aa4 Add new pri files for including the theme related files 2026-02-19 18:06:30 +01:00