Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.9, 5.12
-
None
Description
The Fusion style has a function `isMacSystemPalette()` that attempts to guess if a widget's current palette is the system palette, and then imposes an electric-blue highlight colour.
Two problems with this:
- the check probably gives a false positive when you load an application-wide alternative palette in the way that KDE's integration platform plugin does OR when the palette in use happens to be using the same QColor values for the 2 test colours.
- the highlight colour is one of very few aspects that the user can actually customise and hardcoding the default thus introduces a look-and-feel violation for those users who do.
I experimented with bypassing the function and applications then behave as you'd expect: they will use the highlight/selection colour configured via the System Preferences - changes are even visible immediately, without restarting the application (see e.g. github:RJVB/qstyle-demo).
Curiously (because of the inconsistency), the style also imposes the use of icons in buttons (and menus), which is not at all appropriate on Mac.