@Michael made a vaild point.
Haven't played around with the ColorConfig
much, (slow PC reasons), but this week I will go through that.
Things will be more clear then.
This is my take on it now.
- Read the colors from the widget toolkits and store it somewhere.
The entries in the `Color
ColorConfig::GetDefaultColor(ColorConfigEntry eEntry)`
are hard-coded, can be created on startup instead. Something like
having a vector
of structs with the default color values for different ENUMs
associated to
UI elements.
- Then the colors in the StyleSettings can be initialized based on theme
selection.
If it's "System Theme", then the colors saved in the point above can
be used to
initialize the StyleSettings. If it's some custom theme (extension),
then the
colors should be read from the expert configuration instead.
On 5/27/24 9:15 AM, Michael Weghorn wrote:
On 2024-05-27 05:04, Sahil Gautam wrote:
The project is about not depending on the OS for colors and implement
"Themes"
in Libreoffice. So as per my understanding (opinions invited), all
the `Set...Color()`
calls in the `bool UpdateSettings(AllSettings& rSettings)` functions,
which take
colors from the OS and put them into the `StyleSettings` are to be
removed, and colors
should be passed to the widget toolkits, which were read from the
expert configuration.
My take would be that colors should still be taken from the
OS's/toolkit's current system theme/style by default, and only be
overriden if explicitly configured so.