Revert "macOS: Force light theme on macOS 10.14+"

This does not really work: as soon as you build with
the 10.14 SDK you opt-in to having updated palette
management, which the Qt 5.11 series does not have.

This leaves app developers with two ways to opt-out
of dark mode:
 - Build with the 10.13 (or earlier) SDK.
 - Set NSRequiresAquaSystemAppearance in Info.plist

This reverts commit 04671a80db32bd7fce470c50934cf60f2e8ffa70.

Change-Id: I5c01b9965da45de914f699526ba0723837f36e1d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
This commit is contained in:
Morten Johan Sørvig 2018-08-31 14:02:51 +02:00 committed by Jani Heikkinen
parent 4daa6bba7f
commit 9da5b6f743

View File

@ -70,12 +70,6 @@
#include <IOKit/graphics/IOGraphicsLib.h>
#if !QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_14)
@interface NSApplication (MojaveForwardDeclarations)
@property (strong) NSAppearance *appearance NS_AVAILABLE_MAC(10_14);
@end
#endif
static void initResources()
{
Q_INIT_RESOURCE(qcocoaresources);
@ -137,21 +131,6 @@ QCocoaIntegration::QCocoaIntegration(const QStringList &paramList)
NSApplication *cocoaApplication = [QNSApplication sharedApplication];
qt_redirectNSApplicationSendEvent();
if (__builtin_available(macOS 10.14, *)) {
// Disable dark appearance, unless the Info.plist or environment requests that it should be enabled
bool plistEnablesDarkAppearance = [[[NSBundle mainBundle] objectForInfoDictionaryKey:
@"NSRequiresAquaSystemAppearance"] boolValue];
bool hasEnvironmentRequiresAquaAppearance;
int environmentRequiresAquaAppearance = qEnvironmentVariableIntValue(
"QT_MAC_REQUIRES_AQUA_SYSTEM_APPEARANCE", &hasEnvironmentRequiresAquaAppearance);
bool environmentEnablesDarkAppearance = hasEnvironmentRequiresAquaAppearance
&& environmentRequiresAquaAppearance == 0;
if (!(plistEnablesDarkAppearance || environmentEnablesDarkAppearance))
NSApp.appearance = [NSAppearance appearanceNamed:NSAppearanceNameAqua];
}
if (qEnvironmentVariableIsEmpty("QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM")) {
// Applications launched from plain executables (without an app
// bundle) are "background" applications that does not take keybaord