Commit Graph

327 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
f65fd08e65 Make flow ribbons themeable 2026-03-21 20:45:23 +01:00
754ea0c2f6 Add support for loading image plugins through the settings folder of the apps. 2026-03-14 09:23:20 +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
3fede5dabf Add a setting to select the language in the options dialog
All translations have been updated, and translations of the actions in the library have been fixed.
2026-03-11 18:21:35 +01:00
80de46ce74 Add a setting to control the scaling method used 2026-03-06 17:16:51 +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
68dd26e20f Clean leftover code after theming that set QIcons directly 2026-02-22 21:30:03 +01:00
adfa058742 Implement continuous scrolling 2026-02-22 19:28:37 +01:00
7218d0dc87 Drop Qt 5 support 2026-02-20 21:48:15 +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
ac5adcf824 Bump version to 10.0.0 2026-02-19 18:21:53 +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
5ebf52bdb3 Fix shaders, vertex shader output locations don't match the fragment shader input locations. 2026-02-19 18:00:53 +01:00
7fad1ebb3f Make compile_shaders.sh executable 2026-02-19 18:00:53 +01:00
283475bee2 Remove software and opengl flow implementations
This simplifies the code base A LOT.
2026-02-19 18:00:53 +01:00
8c04235987 Remove comments 2026-02-19 18:00:53 +01:00
f2b3a696a9 Add performance measurement 2026-02-19 18:00:53 +01:00
d913fa137e Add a CPU based frustum culling that's good enough for flow use case 2026-02-19 18:00:53 +01:00
d4fbbd5603 More cleaning 2026-02-19 18:00:53 +01:00
ea80a550dd Clean unused stuff 2026-02-19 18:00:52 +01:00
720d58533c Fix the fragment shader to work with any background color
There now some dither to avoid banding in the gradients.
2026-02-19 18:00:52 +01:00
41b02725d7 Use the fragment shader to calculate the shading effect for a more uniform shading than the one based on vertex 2026-02-19 18:00:52 +01:00
7384d50721 Fix mipmapping 2026-02-19 18:00:52 +01:00
4e18fb69d7 Lazy population can clear already set marks
We need to initialize marks separated from populate
2026-02-19 18:00:52 +01:00
5e21657791 Simplify code 2026-02-19 18:00:52 +01:00