summaryrefslogtreecommitdiffstats
path: root/src/plugins/styles/mac/qmacstyle_mac.mm
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-06-25 11:17:32 +0200
committerLiang Qi <liang.qi@qt.io>2019-06-25 13:04:27 +0200
commitef37ab9970ffb9347bc95a3e6006de956c0155c9 (patch)
tree4c6afb6d232c6ed8aab732763ef895e8bd85ec55 /src/plugins/styles/mac/qmacstyle_mac.mm
parent79bdc7cf1daec75df59de9236599a9f24077511a (diff)
parent5b5e8f78fecbe2bd9279bfa9ef10015cef8b1bc7 (diff)
Merge remote-tracking branch 'origin/5.12' into dev
Conflicts: .qmake.conf src/gui/painting/qdrawhelper.cpp src/gui/text/qdistancefield.cpp src/gui/text/qdistancefield_p.h src/network/ssl/qsslsocket_openssl.cpp src/plugins/platforms/android/qandroidinputcontext.cpp src/widgets/styles/qstylesheetstyle.cpp Done-With: Timur Pocheptsov <timur.pocheptsov@qt.io> Change-Id: Ia7daad21f077ea889898f17734ec46303e71fe6b
Diffstat (limited to 'src/plugins/styles/mac/qmacstyle_mac.mm')
-rw-r--r--src/plugins/styles/mac/qmacstyle_mac.mm14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm
index 05c397a6f1..6c4605b5d2 100644
--- a/src/plugins/styles/mac/qmacstyle_mac.mm
+++ b/src/plugins/styles/mac/qmacstyle_mac.mm
@@ -2001,7 +2001,8 @@ QMacStyle::QMacStyle()
Q_D(QMacStyle);
// FIXME: Tie this logic into theme change, or even polish/unpolish
if (QOperatingSystemVersion::current() >= QOperatingSystemVersion::MacOSMojave) {
- d->appearanceObserver = QMacKeyValueObserver(NSApp, @"effectiveAppearance", [&d] {
+ d->appearanceObserver = QMacKeyValueObserver(NSApp, @"effectiveAppearance", [this] {
+ Q_D(QMacStyle);
for (NSView *b : d->cocoaControls)
[b release];
d->cocoaControls.clear();
@@ -2495,11 +2496,12 @@ int QMacStyle::pixelMetric(PixelMetric metric, const QStyleOption *opt, const QW
QPalette QMacStyle::standardPalette() const
{
- QPalette pal = QCommonStyle::standardPalette();
- pal.setColor(QPalette::Disabled, QPalette::Dark, QColor(191, 191, 191));
- pal.setColor(QPalette::Active, QPalette::Dark, QColor(191, 191, 191));
- pal.setColor(QPalette::Inactive, QPalette::Dark, QColor(191, 191, 191));
- return pal;
+ auto platformTheme = QGuiApplicationPrivate::platformTheme();
+ auto styleNames = platformTheme->themeHint(QPlatformTheme::StyleNames);
+ if (styleNames.toStringList().contains("macintosh"))
+ return *platformTheme->palette();
+ else
+ return QStyle::standardPalette();
}
int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w,