Commit Graph

29 Commits

Author SHA1 Message Date
0affbded6e Normalize color strings so they are always upper case for better readability of the theme files and the values in the editor 2026-03-22 12:13:07 +01:00
3709b6e737 Format includes using clang-format
Some checks failed
Build / Initialization (push) Has been cancelled
Build / Code Format Validation (push) Has been cancelled
Build / Linux (Qt6) (push) Has been cancelled
Build / Linux (Qt6 + 7zip) (push) Has been cancelled
Build / macOS (Qt6 Universal) (push) Has been cancelled
Build / Windows x64 (Qt6) (push) Has been cancelled
Build / Windows ARM64 (Qt6) (push) Has been cancelled
Build / Docker amd64 Image (push) Has been cancelled
Build / Docker arm64 Image (push) Has been cancelled
Build / Publish Dev Builds (push) Has been cancelled
Build / Publish Release (push) Has been cancelled
Build / Publish YACReader10 Pre-release Builds (push) Has been cancelled
2026-03-13 18:21:38 +01:00
f0943995c6 Include sanitation 2026-03-13 11:06:25 +01:00
0ceba0ea74 Improve theme editor usability so themes can be set from it 2026-03-06 15:06:20 +01:00
86b5003f07 Use target app and version in themes meta 2026-03-06 12:29:06 +01:00
a876f33902 Format 2026-03-05 10:54:41 +01:00
46661becaf Implement theme pickers + importing 2026-03-05 08:22:04 +01:00
ad28216f50 Fix qrc prefix 2026-03-03 22:13:39 +01:00
2d66987045 Make json keys display as human readable strings in the theme editor 2026-03-02 22:44:08 +01:00
547e48cc04 Use json file based themes instead of code to create them (theme editor + theme mode settings) 2026-03-02 21:23:39 +01:00
7e7c6a979c Add TODO to document bug in recolorSvgXML 2026-02-28 18:20:13 +01:00
7ab7aaf09a Minimum Qt version required is 6.7 2026-02-26 22:02:12 +01:00
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