From 2248487c6ca9d5459c70a16868d5aeee07d96157 Mon Sep 17 00:00:00 2001 From: Mitch Curtis Date: Tue, 29 Jun 2021 11:58:04 +0200 Subject: Add QPlatformTheme::Appearance for detecting light/dark modes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit And implement it on Windows and macOS. Fixes: QTBUG-83908 Fixes: QTBUG-94859 Change-Id: I7b0c062adf5d4dbaefa64c862ab8ab1348809d71 Reviewed-by: Tor Arne Vestbø --- src/plugins/platforms/cocoa/qcocoatheme.h | 1 + src/plugins/platforms/cocoa/qcocoatheme.mm | 5 +++++ 2 files changed, 6 insertions(+) (limited to 'src/plugins/platforms/cocoa') diff --git a/src/plugins/platforms/cocoa/qcocoatheme.h b/src/plugins/platforms/cocoa/qcocoatheme.h index f6276e3d1a..436ed94351 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.h +++ b/src/plugins/platforms/cocoa/qcocoatheme.h @@ -73,6 +73,7 @@ public: QIcon fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions options = {}) const override; QVariant themeHint(ThemeHint hint) const override; + Appearance appearance() const override; QString standardButtonText(int button) const override; QKeySequence standardButtonShortcut(int button) const override; diff --git a/src/plugins/platforms/cocoa/qcocoatheme.mm b/src/plugins/platforms/cocoa/qcocoatheme.mm index abb2aa03da..8f0f6b90d8 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.mm +++ b/src/plugins/platforms/cocoa/qcocoatheme.mm @@ -533,6 +533,11 @@ QVariant QCocoaTheme::themeHint(ThemeHint hint) const return QPlatformTheme::themeHint(hint); } +QPlatformTheme::Appearance QCocoaTheme::appearance() const +{ + return qt_mac_applicationIsInDarkMode() ? Appearance::Dark : Appearance::Light; +} + QString QCocoaTheme::standardButtonText(int button) const { return button == QPlatformDialogHelper::Discard ? -- cgit v1.2.3