Commit Graph

3570 Commits

Author SHA1 Message Date
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
07718e50db Don't save the default theme color 2026-02-19 18:06:31 +01:00
7b6055e76d Make go to flow widget themable 2026-02-19 18:06:31 +01:00
3bdbf4424b Use local var 2026-02-19 18:06:31 +01:00
561c2ae568 Fix theme initialization in Themable 2026-02-19 18:06:31 +01:00
599ad67877 Fix go to toolbar go to button 2026-02-19 18:06:31 +01:00
be7b41ab9d Remove unused include 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
b662e4975b Make comic flow themable 2026-02-19 18:06:31 +01:00
1bd4926b25 Add a theme factory to YACReaderLibrary and theme the comic vine dialog 2026-02-19 18:06:31 +01:00
1cb2f50057 Make the YACReaderBusyWidget customizable (color) 2026-02-19 18:06:31 +01:00
721da42c8c Add toolbar and background theming to YACReader 2026-02-19 18:06:30 +01:00
b46f34adb1 Replace colors in the toolbar icons with placeholder color #f0f (magenta) so we can recolor them later consistently 2026-02-19 18:06:30 +01:00
1b04b5cfa3 Initialize the theme infrastructure in YACReader 2026-02-19 18:06:30 +01:00
df538fac89 Initialize the theme infrastructure in YACReaderLibrary 2026-02-19 18:06:30 +01:00
b9b8ad81a5 Replace all the icons in the comic vine scraper with svg versions 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
1df50ce7e6 Add the Theme struct to both projects 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
7bfba71058 Merge pull request #507 from YACReader/flowgl-redone
YACReader 10: Replace the flow OpenGL implementation with a QRhi based one
2026-02-19 18:05:51 +01:00
0afa10f2cf Update CHANGELOG 2026-02-19 18:03:53 +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
6053fca005 Use a QLabel to show the current/total text 2026-02-19 18:00:52 +01:00
c4c59ab96a Ensure resources dynamically
Content and settings can vary at any moment and we need to be prepared for always have a consistent context
2026-02-19 18:00:52 +01:00
48aaf36fab Format 2026-02-19 18:00:52 +01:00
b142ffd6c9 Remove comments 2026-02-19 18:00:52 +01:00
816d5bfe9a Extract the comic and page flow classes to their own files 2026-02-19 18:00:52 +01:00
65fd07bb99 Add proper resources cleaning 2026-02-19 18:00:52 +01:00
e6b7174c62 Put rhi resources into a scene struct 2026-02-19 18:00:52 +01:00
3381754c12 Add an initial rhi implementation that mimics the opengl implementation 2026-02-19 18:00:52 +01:00