This current implementation is quite hacky, so is currently marked as draft until either a better implementation is figured out or it is decided this is an acceptable implementation.
Some Plasma Styles, for example Breeze Light and Breeze Dark before a commit that gave them hardcoded selection backgrounds, and default Feren OS's Plasma Style, deliberately leave some values out of their colors file. This is done to allow them to draw some of their colours from the user's colour scheme, mainly used for making the Plasma Style respect the user's accent colour.
This works entirely fine... until you change your colour scheme. You see, when you do so, the Plasma Style doesn't self-update to reflect the change to the parts of its palette it obtained from the user's colour scheme... until now.
This pull request fixes the issue by, currently, using a hack that allows the prior cached complete colour palette to be discarded before loading in the values now appropriate to the current colour scheme and Plasma Style combination.
However, I know this is a hacky implementation, and I do want to explore other methods, with some help of course from others, including:
- Using SimpleConfig to only have the incomplete colour palette in memory, then getting an up-to-date QPalette and merging the two to use as the palette whenever it changes