Merge pull request #7036 from symless/SYNERGY-1006-Big-sur-icon-theme
SYNERGY-1006 - Added template mode for icons on Big Sur and higher
This commit is contained in:
@ -8,6 +8,7 @@ Bug fixes:
|
||||
- #7001 Add option to prevent computer from going to sleep
|
||||
- #7029 | #7033 Wrong encoding for text copied between linux and windows
|
||||
- #7015 Fix Windows service not starting up after sleep
|
||||
- #7036 Fix tray icon not changing theme on Big Sur
|
||||
|
||||
Enhancements:
|
||||
- #6998 Remove functionality related to the screen saver synchronisation
|
||||
|
||||
@ -343,10 +343,19 @@ void MainWindow::setIcon(qSynergyState state) const
|
||||
QIcon icon;
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
if (isOSXUseDarkIcons())
|
||||
icon.addFile(synergyDarkIconFiles[state]);
|
||||
else
|
||||
icon.addFile(synergyLightIconFiles[state]);
|
||||
switch(getOSXIconsTheme()) {
|
||||
case IconsTheme::ICONS_DARK:
|
||||
icon.addFile(synergyDarkIconFiles[state]);
|
||||
break;
|
||||
case IconsTheme::ICONS_LIGHT:
|
||||
icon.addFile(synergyLightIconFiles[state]);
|
||||
break;
|
||||
case IconsTheme::ICONS_TEMPLATE:
|
||||
default:
|
||||
icon.addFile(synergyDarkIconFiles[state]);
|
||||
icon.setIsMask(true);
|
||||
break;
|
||||
}
|
||||
#else
|
||||
icon.addFile(synergyDefaultIconFiles[state]);
|
||||
#endif
|
||||
|
||||
@ -19,7 +19,13 @@
|
||||
|
||||
#define OSXHELPERS__H
|
||||
|
||||
enum class IconsTheme {
|
||||
ICONS_DARK,
|
||||
ICONS_LIGHT,
|
||||
ICONS_TEMPLATE
|
||||
};
|
||||
|
||||
bool isOSXInterfaceStyleDark();
|
||||
bool isOSXUseDarkIcons();
|
||||
IconsTheme getOSXIconsTheme();
|
||||
|
||||
#endif
|
||||
|
||||
@ -30,13 +30,12 @@ isOSXInterfaceStyleDark()
|
||||
return (style && [style isKindOfClass:[NSString class]] && NSOrderedSame == [style caseInsensitiveCompare:@"dark"]);
|
||||
}
|
||||
|
||||
bool
|
||||
isOSXUseDarkIcons()
|
||||
IconsTheme
|
||||
getOSXIconsTheme()
|
||||
{
|
||||
if (@available(macOS 11, *)) {
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
return isOSXInterfaceStyleDark();
|
||||
}
|
||||
if (@available(macOS 11, *))
|
||||
return IconsTheme::ICONS_TEMPLATE;
|
||||
else if(isOSXInterfaceStyleDark())
|
||||
return IconsTheme::ICONS_DARK;
|
||||
return IconsTheme::ICONS_LIGHT;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user