summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/osx/salframe.cxx32
1 files changed, 21 insertions, 11 deletions
diff --git a/vcl/osx/salframe.cxx b/vcl/osx/salframe.cxx
index 71cc5a4f1982..f4c7379cf42b 100644
--- a/vcl/osx/salframe.cxx
+++ b/vcl/osx/salframe.cxx
@@ -1301,27 +1301,37 @@ SAL_WNODEPRECATED_DECLARATIONS_POP
// black otherwise
Color aControlTextColor(getColor([NSColor controlTextColor], COL_BLACK, mpNSWindow));
- Color aSelectedControlTextColor(getColor([NSColor alternateSelectedControlTextColor], COL_WHITE, mpNSWindow));
- aStyleSettings.SetDefaultButtonTextColor(aSelectedControlTextColor);
+ Color aSelectedControlTextColor(getColor([NSColor selectedControlTextColor], COL_BLACK, mpNSWindow));
+ Color aAlternateSelectedControlTextColor(getColor([NSColor alternateSelectedControlTextColor], COL_WHITE, mpNSWindow));
+ aStyleSettings.SetDefaultButtonTextColor(aAlternateSelectedControlTextColor);
aStyleSettings.SetButtonTextColor(aControlTextColor);
- aStyleSettings.SetDefaultActionButtonTextColor(aSelectedControlTextColor);
+ aStyleSettings.SetDefaultActionButtonTextColor(aAlternateSelectedControlTextColor);
aStyleSettings.SetActionButtonTextColor(aControlTextColor);
aStyleSettings.SetFlatButtonTextColor(aControlTextColor);
- aStyleSettings.SetDefaultButtonRolloverTextColor(aSelectedControlTextColor);
+ aStyleSettings.SetDefaultButtonRolloverTextColor(aAlternateSelectedControlTextColor);
aStyleSettings.SetButtonRolloverTextColor(aControlTextColor);
- aStyleSettings.SetDefaultActionButtonRolloverTextColor(aSelectedControlTextColor);
+ aStyleSettings.SetDefaultActionButtonRolloverTextColor(aAlternateSelectedControlTextColor);
aStyleSettings.SetActionButtonRolloverTextColor(aControlTextColor);
aStyleSettings.SetFlatButtonRolloverTextColor(aControlTextColor);
- aStyleSettings.SetDefaultButtonPressedRolloverTextColor(aSelectedControlTextColor);
- aStyleSettings.SetButtonPressedRolloverTextColor(aSelectedControlTextColor);
- aStyleSettings.SetDefaultActionButtonPressedRolloverTextColor(aSelectedControlTextColor);
- aStyleSettings.SetActionButtonPressedRolloverTextColor(aSelectedControlTextColor);
+ aStyleSettings.SetDefaultButtonPressedRolloverTextColor(aAlternateSelectedControlTextColor);
+ aStyleSettings.SetButtonPressedRolloverTextColor(aAlternateSelectedControlTextColor);
+ aStyleSettings.SetDefaultActionButtonPressedRolloverTextColor(aAlternateSelectedControlTextColor);
+ aStyleSettings.SetActionButtonPressedRolloverTextColor(aAlternateSelectedControlTextColor);
aStyleSettings.SetFlatButtonPressedRolloverTextColor(aControlTextColor);
- // Set text colors for tabs according to OS settings, typically white for selected buttons, black otherwise
+ // Set text colors for tabs according to OS settings
aStyleSettings.SetTabTextColor(aControlTextColor);
- aStyleSettings.SetTabHighlightTextColor(aSelectedControlTextColor);
+
+ // FIXME: Starting with macOS Big Sur, coloring has changed. Currently there is no documentation which system color should be
+ // used for selected tab text. As a workaround the current OS version has to be considered. This code has to be reviewed once
+ // issue is covered by documentation.
+
+ NSOperatingSystemVersion aOSVersion = { .majorVersion = 11, .minorVersion = 0, .patchVersion = 0 };
+ if ([NSProcessInfo.processInfo isOperatingSystemAtLeastVersion: aOSVersion])
+ aStyleSettings.SetTabHighlightTextColor(aSelectedControlTextColor);
+ else
+ aStyleSettings.SetTabHighlightTextColor(aAlternateSelectedControlTextColor);
aStyleSettings.SetCursorBlinkTime( mnBlinkCursorDelay );