From 48f161e12931201aa301bfc42986b456894dc737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 15 Apr 2025 23:21:43 +0200 Subject: [PATCH] Remove qt_mac_applicationIsInDarkMode in favour of QStyleHints::colorScheme() Now that we have the information available in QStyleHints we don't need to expose it as a dedicated helper function, and definitely not in QtCore. Change-Id: If5ad3991d78810457b51a30aadc3bf3af593940c Reviewed-by: Timur Pocheptsov Reviewed-by: Thiago Macieira --- src/corelib/kernel/qcore_mac.mm | 7 ------- src/corelib/kernel/qcore_mac_p.h | 1 - src/plugins/platforms/cocoa/qcocoatheme.mm | 5 ++++- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/corelib/kernel/qcore_mac.mm b/src/corelib/kernel/qcore_mac.mm index 60149739984..2601063d52e 100644 --- a/src/corelib/kernel/qcore_mac.mm +++ b/src/corelib/kernel/qcore_mac.mm @@ -323,13 +323,6 @@ QDebug operator<<(QDebug debug, const QCFString &string) #endif // !QT_NO_DEBUG_STREAM #if defined(Q_OS_MACOS) && !defined(QT_BOOTSTRAPPED) -bool qt_mac_applicationIsInDarkMode() -{ - auto appearance = [NSApp.effectiveAppearance bestMatchFromAppearancesWithNames: - @[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]]; - return [appearance isEqualToString:NSAppearanceNameDarkAqua]; -} - bool qt_mac_runningUnderRosetta() { int translated = 0; diff --git a/src/corelib/kernel/qcore_mac_p.h b/src/corelib/kernel/qcore_mac_p.h index 51efe0fe328..1a257b51bc4 100644 --- a/src/corelib/kernel/qcore_mac_p.h +++ b/src/corelib/kernel/qcore_mac_p.h @@ -185,7 +185,6 @@ private: }; #ifdef Q_OS_MACOS -Q_CORE_EXPORT bool qt_mac_applicationIsInDarkMode(); Q_CORE_EXPORT bool qt_mac_runningUnderRosetta(); Q_CORE_EXPORT std::optional qt_mac_sipConfiguration(); #ifdef QT_BUILD_INTERNAL diff --git a/src/plugins/platforms/cocoa/qcocoatheme.mm b/src/plugins/platforms/cocoa/qcocoatheme.mm index 2ce621c27aa..169d231fd39 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.mm +++ b/src/plugins/platforms/cocoa/qcocoatheme.mm @@ -505,7 +505,10 @@ void QCocoaTheme::requestColorScheme(Qt::ColorScheme scheme) */ void QCocoaTheme::updateColorScheme() { - m_colorScheme = qt_mac_applicationIsInDarkMode() ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light; + auto appearance = [NSApp.effectiveAppearance bestMatchFromAppearancesWithNames: + @[ NSAppearanceNameAqua, NSAppearanceNameDarkAqua ]]; + m_colorScheme = [appearance isEqualToString:NSAppearanceNameDarkAqua] ? + Qt::ColorScheme::Dark : Qt::ColorScheme::Light; } Qt::ContrastPreference QCocoaTheme::contrastPreference() const