diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index 17d96ec2ac..8a2769a3ed 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -46,12 +46,6 @@ namespace Qt { transparent }; - enum class Appearance { - Unknown, - Light, - Dark, - }; - enum class ColorScheme { Unknown, Light, @@ -1763,7 +1757,6 @@ namespace Qt { Q_ENUM_NS(DayOfWeek) Q_ENUM_NS(CursorShape) Q_ENUM_NS(GlobalColor) - Q_ENUM_NS(Appearance) Q_ENUM_NS(ColorScheme) Q_ENUM_NS(AspectRatioMode) Q_ENUM_NS(TransformationMode) diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index fc306f34c8..86ec1aee51 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -801,7 +801,7 @@ */ /*! - \enum Qt::Appearance + \enum Qt::ColorScheme Represents the appearance of an application's theme, defined by QGuiApplication::palette(). diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index ca2d215541..7497c3fcaa 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -1496,7 +1496,7 @@ void QGuiApplicationPrivate::createPlatformIntegration() init_platform(QLatin1StringView(platformName), platformPluginPath, platformThemeName, argc, argv); if (const QPlatformTheme *theme = platformTheme()) - QStyleHintsPrivate::get(QGuiApplication::styleHints())->setAppearance(theme->appearance()); + QStyleHintsPrivate::get(QGuiApplication::styleHints())->setColorScheme(theme->colorScheme()); if (!icon.isEmpty()) forcedWindowIcon = QDir::isAbsolutePath(icon) ? QIcon(icon) : QIcon::fromTheme(icon); @@ -2616,22 +2616,15 @@ void QGuiApplicationPrivate::processThemeChanged(QWindowSystemInterfacePrivate:: for (auto *window : windows) QGuiApplication::sendSpontaneousEvent(window, &themeChangeEvent); - QStyleHintsPrivate::get(QGuiApplication::styleHints())->setAppearance(appearance()); + QStyleHintsPrivate::get(QGuiApplication::styleHints())->setColorScheme(colorScheme()); } /*! \internal - \brief QGuiApplicationPrivate::appearance - \return the platform theme's appearance - or Qt::Appearance::Unknown if a platform theme cannot be established - Qt::Appearance. + \brief QGuiApplicationPrivate::colorScheme + \return the platform theme's color scheme + or Qt::ColorScheme::Unknown if a platform theme cannot be established */ -Qt::Appearance QGuiApplicationPrivate::appearance() -{ - return platformTheme() ? platformTheme()->appearance() - : Qt::Appearance::Unknown; -} - Qt::ColorScheme QGuiApplicationPrivate::colorScheme() { return platformTheme() ? platformTheme()->colorScheme() diff --git a/src/gui/kernel/qguiapplication_p.h b/src/gui/kernel/qguiapplication_p.h index 433cf1a088..0a5ba0885a 100644 --- a/src/gui/kernel/qguiapplication_p.h +++ b/src/gui/kernel/qguiapplication_p.h @@ -314,7 +314,6 @@ private: friend class QDragManager; - static Qt::Appearance appearance(); static Qt::ColorScheme colorScheme(); static QGuiApplicationPrivate *self; diff --git a/src/gui/kernel/qplatformtheme.cpp b/src/gui/kernel/qplatformtheme.cpp index 84bc3b1f0e..f47d89021b 100644 --- a/src/gui/kernel/qplatformtheme.cpp +++ b/src/gui/kernel/qplatformtheme.cpp @@ -356,7 +356,7 @@ Q_GUI_EXPORT QPalette qt_fusionPalette() { auto theme = QGuiApplicationPrivate::platformTheme(); const bool darkAppearance = theme - ? theme->appearance() == Qt::Appearance::Dark + ? theme->colorScheme() == Qt::ColorScheme::Dark : false; const QColor windowText = darkAppearance ? QColor(240, 240, 240) : Qt::black; const QColor backGround = darkAppearance ? QColor(50, 50, 50) : QColor(239, 239, 239); @@ -436,14 +436,9 @@ QPlatformDialogHelper *QPlatformTheme::createPlatformDialogHelper(DialogType typ return nullptr; } -Qt::Appearance QPlatformTheme::appearance() const -{ - return Qt::Appearance::Unknown; -} - Qt::ColorScheme QPlatformTheme::colorScheme() const { - return Qt::ColorScheme(appearance()); + return Qt::ColorScheme::Unknown; } const QPalette *QPlatformTheme::palette(Palette type) const diff --git a/src/gui/kernel/qplatformtheme.h b/src/gui/kernel/qplatformtheme.h index 98825328aa..c0193947b9 100644 --- a/src/gui/kernel/qplatformtheme.h +++ b/src/gui/kernel/qplatformtheme.h @@ -294,7 +294,6 @@ public: virtual QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const; #endif - virtual Qt::Appearance appearance() const; virtual Qt::ColorScheme colorScheme() const; virtual const QPalette *palette(Palette type = SystemPalette) const; diff --git a/src/gui/kernel/qstylehints.cpp b/src/gui/kernel/qstylehints.cpp index a202c7ebc6..5becae76c6 100644 --- a/src/gui/kernel/qstylehints.cpp +++ b/src/gui/kernel/qstylehints.cpp @@ -122,20 +122,15 @@ int QStyleHints::touchDoubleTapDistance() const } /*! - \property QStyleHints::appearance - \brief the appearance of the platform theme. - \sa Qt::Appearance + \property QStyleHints::colorScheme + \brief the color scheme of the platform theme. + \sa Qt::ColorScheme \since 6.5 */ -Qt::Appearance QStyleHints::appearance() const -{ - Q_D(const QStyleHints); - return d->appearance(); -} - Qt::ColorScheme QStyleHints::colorScheme() const { - return Qt::ColorScheme(appearance()); + Q_D(const QStyleHints); + return d->colorScheme(); } /*! @@ -600,17 +595,17 @@ int QStyleHints::mouseQuickSelectionThreshold() const /*! \internal - QStyleHintsPrivate::setAppearance - set a new appearance. - Set \a appearance as the new appearance of the QStyleHints. - The appearanceChanged signal will be emitted if present and new appearance differ. + QStyleHintsPrivate::setColorScheme - set a new color scheme. + Set \a colorScheme as the new color scheme of the QStyleHints. + The colorSchemeChanged signal will be emitted if present and new color scheme differ. */ -void QStyleHintsPrivate::setAppearance(Qt::Appearance appearance) +void QStyleHintsPrivate::setColorScheme(Qt::ColorScheme colorScheme) { - if (m_appearance == appearance) + if (m_colorScheme == colorScheme) return; - m_appearance = appearance; + m_colorScheme = colorScheme; Q_Q(QStyleHints); - emit q->appearanceChanged(appearance); + emit q->colorSchemeChanged(colorScheme); } QStyleHintsPrivate *QStyleHintsPrivate::get(QStyleHints *q) diff --git a/src/gui/kernel/qstylehints.h b/src/gui/kernel/qstylehints.h index cae5a64f85..969bec4b35 100644 --- a/src/gui/kernel/qstylehints.h +++ b/src/gui/kernel/qstylehints.h @@ -52,7 +52,6 @@ class Q_GUI_EXPORT QStyleHints : public QObject Q_PROPERTY(int mouseDoubleClickDistance READ mouseDoubleClickDistance STORED false CONSTANT FINAL) Q_PROPERTY(int touchDoubleTapDistance READ touchDoubleTapDistance STORED false CONSTANT FINAL) - Q_PROPERTY(Qt::Appearance appearance READ appearance NOTIFY appearanceChanged FINAL) Q_PROPERTY(Qt::ColorScheme colorScheme READ colorScheme NOTIFY colorSchemeChanged FINAL) public: @@ -94,7 +93,6 @@ public: void setWheelScrollLines(int scrollLines); void setMouseQuickSelectionThreshold(int threshold); int mouseQuickSelectionThreshold() const; - Qt::Appearance appearance() const; Qt::ColorScheme colorScheme() const; Q_SIGNALS: @@ -109,7 +107,6 @@ Q_SIGNALS: void showShortcutsInContextMenusChanged(bool); void wheelScrollLinesChanged(int scrollLines); void mouseQuickSelectionThresholdChanged(int threshold); - void appearanceChanged(Qt::Appearance appearance); void colorSchemeChanged(Qt::ColorScheme colorScheme); private: diff --git a/src/gui/kernel/qstylehints_p.h b/src/gui/kernel/qstylehints_p.h index a93a410987..c58386d7a3 100644 --- a/src/gui/kernel/qstylehints_p.h +++ b/src/gui/kernel/qstylehints_p.h @@ -40,13 +40,13 @@ public: int m_mouseDoubleClickDistance = -1; int m_touchDoubleTapDistance = -1; - Qt::Appearance appearance() const { return m_appearance; } - void setAppearance(Qt::Appearance appearance); + Qt::ColorScheme colorScheme() const { return m_colorScheme; } + void setColorScheme(Qt::ColorScheme colorScheme); static QStyleHintsPrivate *get(QStyleHints *q); private: - Qt::Appearance m_appearance = Qt::Appearance::Unknown; + Qt::ColorScheme m_colorScheme = Qt::ColorScheme::Unknown; }; QT_END_NAMESPACE diff --git a/src/gui/platform/unix/qgenericunixthemes.cpp b/src/gui/platform/unix/qgenericunixthemes.cpp index ad229af624..d767767893 100644 --- a/src/gui/platform/unix/qgenericunixthemes.cpp +++ b/src/gui/platform/unix/qgenericunixthemes.cpp @@ -374,8 +374,8 @@ public: int startDragDist = 10; int startDragTime = 500; int cursorBlinkRate = 1000; - Qt::Appearance m_appearance = Qt::Appearance::Unknown; - void updateAppearance(const QString &themeName); + Qt::ColorScheme m_colorScheme = Qt::ColorScheme::Unknown; + void updateColorScheme(const QString &themeName); #ifndef QT_NO_DBUS private: @@ -464,9 +464,9 @@ void QKdeThemePrivate::refresh() kdeVersion, kdeSettings); if (colorScheme.isValid()) - updateAppearance(colorScheme.toString()); + updateColorScheme(colorScheme.toString()); else - m_appearance = Qt::Appearance::Unknown; + m_colorScheme = Qt::ColorScheme::Unknown; const QVariant singleClickValue = readKdeSetting(QStringLiteral("KDE/SingleClick"), kdeDirs, kdeVersion, kdeSettings); if (singleClickValue.isValid()) @@ -749,14 +749,14 @@ QIcon QKdeTheme::fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions #endif } -Qt::Appearance QKdeTheme::appearance() const +Qt::ColorScheme QKdeTheme::colorScheme() const { - return d_func()->m_appearance; + return d_func()->m_colorScheme; } /*! \internal - \brief QKdeTheme::setAppearance - guess and set appearance for unix themes. + \brief QKdeTheme::setColorScheme - guess and set appearance for unix themes. KDE themes do not have an appearance property. The key words "dark" or "light" should be part of the theme name. This is, however, not a mandatory convention. @@ -765,29 +765,29 @@ Qt::Appearance QKdeTheme::appearance() const If it doesn't, the appearance is heuristically determined by comparing text and base color of the system palette. */ -void QKdeThemePrivate::updateAppearance(const QString &themeName) +void QKdeThemePrivate::updateColorScheme(const QString &themeName) { if (themeName.contains(QLatin1StringView("light"), Qt::CaseInsensitive)) { - m_appearance = Qt::Appearance::Light; + m_colorScheme = Qt::ColorScheme::Light; return; } if (themeName.contains(QLatin1StringView("dark"), Qt::CaseInsensitive)) { - m_appearance = Qt::Appearance::Dark; + m_colorScheme = Qt::ColorScheme::Dark; return; } if (systemPalette) { if (systemPalette->text().color().lightness() < systemPalette->base().color().lightness()) { - m_appearance = Qt::Appearance::Light; + m_colorScheme = Qt::ColorScheme::Light; return; } if (systemPalette->text().color().lightness() > systemPalette->base().color().lightness()) { - m_appearance = Qt::Appearance::Dark; + m_colorScheme = Qt::ColorScheme::Dark; return; } } - m_appearance = Qt::Appearance::Unknown; + m_colorScheme = Qt::ColorScheme::Unknown; } @@ -911,11 +911,11 @@ public: mutable QFont *fixedFont = nullptr; #ifndef QT_NO_DBUS - Qt::Appearance m_appearance = Qt::Appearance::Unknown; + Qt::ColorScheme m_colorScheme = Qt::ColorScheme::Unknown; private: std::unique_ptr dbus; bool initDbus(); - void updateAppearance(const QString &themeName); + void updateColorScheme(const QString &themeName); #endif // QT_NO_DBUS }; @@ -946,25 +946,25 @@ bool QGnomeThemePrivate::initDbus() // Wrap slot in a lambda to avoid inheriting QGnomeThemePrivate from QObject auto wrapper = [this](QGenericUnixThemeDBusListener::SettingType type, const QString &value) { if (type == QGenericUnixThemeDBusListener::SettingType::GtkTheme) - updateAppearance(value); + updateColorScheme(value); }; return QObject::connect(dbus.get(), &QGenericUnixThemeDBusListener::settingChanged, wrapper); } -void QGnomeThemePrivate::updateAppearance(const QString &themeName) +void QGnomeThemePrivate::updateColorScheme(const QString &themeName) { - const auto oldAppearance = m_appearance; + const auto oldColorScheme = m_colorScheme; if (themeName.contains(QLatin1StringView("light"), Qt::CaseInsensitive)) { - m_appearance = Qt::Appearance::Light; + m_colorScheme = Qt::ColorScheme::Light; } else if (themeName.contains(QLatin1StringView("dark"), Qt::CaseInsensitive)) { - m_appearance = Qt::Appearance::Dark; + m_colorScheme = Qt::ColorScheme::Dark; } else { - m_appearance = Qt::Appearance::Unknown; + m_colorScheme = Qt::ColorScheme::Unknown; } - if (oldAppearance != m_appearance) + if (oldColorScheme != m_colorScheme) QWindowSystemInterface::handleThemeChange(); } #endif // QT_NO_DBUS @@ -1053,9 +1053,9 @@ QPlatformMenuBar *QGnomeTheme::createPlatformMenuBar() const return nullptr; } -Qt::Appearance QGnomeTheme::appearance() const +Qt::ColorScheme QGnomeTheme::colorScheme() const { - return d_func()->m_appearance; + return d_func()->m_colorScheme; } #endif diff --git a/src/gui/platform/unix/qgenericunixthemes_p.h b/src/gui/platform/unix/qgenericunixthemes_p.h index ed60f9484c..63b20651e6 100644 --- a/src/gui/platform/unix/qgenericunixthemes_p.h +++ b/src/gui/platform/unix/qgenericunixthemes_p.h @@ -77,7 +77,7 @@ public: QPlatformTheme::IconOptions iconOptions = { }) const override; const QPalette *palette(Palette type = SystemPalette) const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; const QFont *font(Font type) const override; #ifndef QT_NO_DBUS @@ -107,7 +107,7 @@ public: virtual QString gtkFontName() const; #ifndef QT_NO_DBUS QPlatformMenuBar *createPlatformMenuBar() const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; #endif #if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON) QPlatformSystemTrayIcon *createPlatformSystemTrayIcon() const override; diff --git a/src/plugins/platforms/android/androidjnimain.cpp b/src/plugins/platforms/android/androidjnimain.cpp index 5b066fb5a5..5e4f383e61 100644 --- a/src/plugins/platforms/android/androidjnimain.cpp +++ b/src/plugins/platforms/android/androidjnimain.cpp @@ -775,8 +775,8 @@ static void handleScreenRemoved(JNIEnv */*env*/, jclass /*cls*/, jint displayId) static void handleUiDarkModeChanged(JNIEnv */*env*/, jobject /*thiz*/, jint newUiMode) { - QAndroidPlatformIntegration::setAppearance( - (newUiMode == 1 ) ? Qt::Appearance::Dark : Qt::Appearance::Light); + QAndroidPlatformIntegration::setColorScheme( + (newUiMode == 1 ) ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light); } static void onActivityResult(JNIEnv */*env*/, jclass /*cls*/, diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp index dec9082eca..9f0b1c8b2f 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.cpp +++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp @@ -532,16 +532,16 @@ void QAndroidPlatformIntegration::setScreenSize(int width, int height) QMetaObject::invokeMethod(m_primaryScreen, "setSize", Qt::AutoConnection, Q_ARG(QSize, QSize(width, height))); } -Qt::Appearance QAndroidPlatformIntegration::m_appearance = Qt::Appearance::Light; +Qt::ColorScheme QAndroidPlatformIntegration::m_colorScheme = Qt::ColorScheme::Light; -void QAndroidPlatformIntegration::setAppearance(Qt::Appearance newAppearance) +void QAndroidPlatformIntegration::setColorScheme(Qt::ColorScheme colorScheme) { - if (m_appearance == newAppearance) + if (m_colorScheme == colorScheme) return; - m_appearance = newAppearance; + m_colorScheme = colorScheme; QMetaObject::invokeMethod(qGuiApp, - [] () { QAndroidPlatformTheme::instance()->updateAppearance();}); + [] () { QAndroidPlatformTheme::instance()->updateColorScheme();}); } void QAndroidPlatformIntegration::setScreenSizeParameters(const QSize &physicalSize, diff --git a/src/plugins/platforms/android/qandroidplatformintegration.h b/src/plugins/platforms/android/qandroidplatformintegration.h index 8463dc8949..5f1126fafc 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.h +++ b/src/plugins/platforms/android/qandroidplatformintegration.h @@ -110,8 +110,8 @@ public: void flushPendingUpdates(); - static void setAppearance(Qt::Appearance newAppearance); - static Qt::Appearance appearance() { return m_appearance; } + static void setColorScheme(Qt::ColorScheme colorScheme); + static Qt::ColorScheme colorScheme() { return m_colorScheme; } #if QT_CONFIG(vulkan) QPlatformVulkanInstance *createPlatformVulkanInstance(QVulkanInstance *instance) const override; #endif @@ -124,7 +124,7 @@ private: QThread *m_mainThread; - static Qt::Appearance m_appearance; + static Qt::ColorScheme m_colorScheme; static QRect m_defaultAvailableGeometry; static QSize m_defaultPhysicalSize; diff --git a/src/plugins/platforms/android/qandroidplatformtheme.cpp b/src/plugins/platforms/android/qandroidplatformtheme.cpp index 1d090024be..f863529057 100644 --- a/src/plugins/platforms/android/qandroidplatformtheme.cpp +++ b/src/plugins/platforms/android/qandroidplatformtheme.cpp @@ -158,7 +158,7 @@ QJsonObject AndroidStyle::loadStyleData() if (!stylePath.isEmpty() && !stylePath.endsWith(slashChar)) stylePath += slashChar; - if (QAndroidPlatformIntegration::appearance() == Qt::Appearance::Dark) + if (QAndroidPlatformIntegration::colorScheme() == Qt::ColorScheme::Dark) stylePath += "darkUiMode/"_L1; Q_ASSERT(!stylePath.isEmpty()); @@ -333,7 +333,7 @@ QAndroidPlatformTheme::~QAndroidPlatformTheme() m_instance = nullptr; } -void QAndroidPlatformTheme::updateAppearance() +void QAndroidPlatformTheme::updateColorScheme() { updateStyle(); QWindowSystemInterface::handleThemeChange(); @@ -358,7 +358,7 @@ void QAndroidPlatformTheme::updateStyle() QColor highlight(148, 210, 231); QColor disabledShadow = shadow.lighter(150); - if (appearance() == Qt::Appearance::Dark) { + if (colorScheme() == Qt::ColorScheme::Dark) { // Colors were prepared based on Theme.DeviceDefault.DayNight windowText = QColor(250, 250, 250); background = QColor(48, 48, 48); @@ -418,9 +418,9 @@ void QAndroidPlatformTheme::showPlatformMenuBar() QtAndroidMenu::openOptionsMenu(); } -Qt::Appearance QAndroidPlatformTheme::appearance() const +Qt::ColorScheme QAndroidPlatformTheme::colorScheme() const { - return QAndroidPlatformIntegration::appearance(); + return QAndroidPlatformIntegration::colorScheme(); } static inline int paletteType(QPlatformTheme::Palette type) diff --git a/src/plugins/platforms/android/qandroidplatformtheme.h b/src/plugins/platforms/android/qandroidplatformtheme.h index 38e653ab71..bb8c5c4869 100644 --- a/src/plugins/platforms/android/qandroidplatformtheme.h +++ b/src/plugins/platforms/android/qandroidplatformtheme.h @@ -31,13 +31,13 @@ class QAndroidPlatformTheme: public QPlatformTheme { public: ~QAndroidPlatformTheme(); - void updateAppearance(); + void updateColorScheme(); void updateStyle(); QPlatformMenuBar *createPlatformMenuBar() const override; QPlatformMenu *createPlatformMenu() const override; QPlatformMenuItem *createPlatformMenuItem() const override; void showPlatformMenuBar() override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; const QPalette *palette(Palette type = SystemPalette) const override; const QFont *font(Font type = SystemFont) const override; QVariant themeHint(ThemeHint hint) const override; diff --git a/src/plugins/platforms/cocoa/qcocoatheme.h b/src/plugins/platforms/cocoa/qcocoatheme.h index d19e20e7c2..a7c37a685c 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.h +++ b/src/plugins/platforms/cocoa/qcocoatheme.h @@ -37,7 +37,7 @@ public: QIcon fileIcon(const QFileInfo &fileInfo, QPlatformTheme::IconOptions options = {}) const override; QVariant themeHint(ThemeHint hint) const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() 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 69823b409b..594df204e5 100644 --- a/src/plugins/platforms/cocoa/qcocoatheme.mm +++ b/src/plugins/platforms/cocoa/qcocoatheme.mm @@ -470,9 +470,9 @@ QVariant QCocoaTheme::themeHint(ThemeHint hint) const return QPlatformTheme::themeHint(hint); } -Qt::Appearance QCocoaTheme::appearance() const +Qt::ColorScheme QCocoaTheme::colorScheme() const { - return qt_mac_applicationIsInDarkMode() ? Qt::Appearance::Dark : Qt::Appearance::Light; + return qt_mac_applicationIsInDarkMode() ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light; } QString QCocoaTheme::standardButtonText(int button) const diff --git a/src/plugins/platforms/ios/qiosscreen.mm b/src/plugins/platforms/ios/qiosscreen.mm index be17972d36..e968cafe1d 100644 --- a/src/plugins/platforms/ios/qiosscreen.mm +++ b/src/plugins/platforms/ios/qiosscreen.mm @@ -178,16 +178,16 @@ static QIOSScreen* qtPlatformScreenFor(UIScreen *uiScreen) { [super traitCollectionDidChange:previousTraitCollection]; - Qt::Appearance appearance = self.traitCollection.userInterfaceStyle + Qt::ColorScheme colorScheme = self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark - ? Qt::Appearance::Dark - : Qt::Appearance::Light; + ? Qt::ColorScheme::Dark + : Qt::ColorScheme::Light; if (self.screen == UIScreen.mainScreen) { // Check if the current userInterfaceStyle reports a different appearance than // the platformTheme's appearance. We might have set that one based on the UIScreen if (previousTraitCollection.userInterfaceStyle != self.traitCollection.userInterfaceStyle - || QGuiApplicationPrivate::platformTheme()->appearance() != appearance) { + || QGuiApplicationPrivate::platformTheme()->colorScheme() != colorScheme) { QIOSTheme::initializeSystemPalette(); QWindowSystemInterface::handleThemeChange(); } diff --git a/src/plugins/platforms/ios/qiostheme.h b/src/plugins/platforms/ios/qiostheme.h index 5d551663d0..9aa2ebaf82 100644 --- a/src/plugins/platforms/ios/qiostheme.h +++ b/src/plugins/platforms/ios/qiostheme.h @@ -21,7 +21,7 @@ public: const QPalette *palette(Palette type = SystemPalette) const override; QVariant themeHint(ThemeHint hint) const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; QPlatformMenuItem* createPlatformMenuItem() const override; QPlatformMenu* createPlatformMenu() const override; diff --git a/src/plugins/platforms/ios/qiostheme.mm b/src/plugins/platforms/ios/qiostheme.mm index 2c40149813..d1356ab8f7 100644 --- a/src/plugins/platforms/ios/qiostheme.mm +++ b/src/plugins/platforms/ios/qiostheme.mm @@ -142,7 +142,7 @@ QVariant QIOSTheme::themeHint(ThemeHint hint) const } } -Qt::Appearance QIOSTheme::appearance() const +Qt::ColorScheme QIOSTheme::colorScheme() const { UIUserInterfaceStyle appearance = UIUserInterfaceStyleUnspecified; // Set the appearance based on the UIWindow @@ -153,8 +153,8 @@ Qt::Appearance QIOSTheme::appearance() const appearance = UIScreen.mainScreen.traitCollection.userInterfaceStyle; } return appearance == UIUserInterfaceStyleDark - ? Qt::Appearance::Dark - : Qt::Appearance::Light; + ? Qt::ColorScheme::Dark + : Qt::ColorScheme::Light; } const QFont *QIOSTheme::font(Font type) const diff --git a/src/plugins/platforms/windows/qwindowstheme.cpp b/src/plugins/platforms/windows/qwindowstheme.cpp index 7535c7a583..29c4c47c36 100644 --- a/src/plugins/platforms/windows/qwindowstheme.cpp +++ b/src/plugins/platforms/windows/qwindowstheme.cpp @@ -499,9 +499,9 @@ QVariant QWindowsTheme::themeHint(ThemeHint hint) const return QPlatformTheme::themeHint(hint); } -Qt::Appearance QWindowsTheme::appearance() const +Qt::ColorScheme QWindowsTheme::colorScheme() const { - return QWindowsContext::isDarkMode() ? Qt::Appearance::Dark : Qt::Appearance::Light; + return QWindowsContext::isDarkMode() ? Qt::ColorScheme::Dark : Qt::ColorScheme::Light; } void QWindowsTheme::clearPalettes() diff --git a/src/plugins/platforms/windows/qwindowstheme.h b/src/plugins/platforms/windows/qwindowstheme.h index 661519b312..18b87e4072 100644 --- a/src/plugins/platforms/windows/qwindowstheme.h +++ b/src/plugins/platforms/windows/qwindowstheme.h @@ -31,7 +31,7 @@ public: #endif QVariant themeHint(ThemeHint) const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; const QPalette *palette(Palette type = SystemPalette) const override { return m_palettes[type]; } diff --git a/src/plugins/platformthemes/gtk3/qgtk3interface.cpp b/src/plugins/platformthemes/gtk3/qgtk3interface.cpp index 8bb15c7c36..d802f2d1db 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3interface.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3interface.cpp @@ -488,14 +488,14 @@ const QString QGtk3Interface::themeName() const /*! \internal - \brief Determine appearance by colors. + \brief Determine color scheme by colors. - Returns the appearance of the current GTK theme, heuristically determined by the + Returns the color scheme of the current GTK theme, heuristically determined by the lightness difference between default background and foreground colors. \note Returns Unknown in the unlikely case that both colors have the same lightness. */ -Qt::Appearance QGtk3Interface::appearanceByColors() const +Qt::ColorScheme QGtk3Interface::colorSchemeByColors() const { const QColor background = color(widget(QGtkWidget::gtk_Default), QGtkColorSource::Background, @@ -505,10 +505,10 @@ Qt::Appearance QGtk3Interface::appearanceByColors() const GTK_STATE_FLAG_ACTIVE); if (foreground.lightness() > background.lightness()) - return Qt::Appearance::Dark; + return Qt::ColorScheme::Dark; if (foreground.lightness() < background.lightness()) - return Qt::Appearance::Light; - return Qt::Appearance::Unknown; + return Qt::ColorScheme::Light; + return Qt::ColorScheme::Unknown; } /*! diff --git a/src/plugins/platformthemes/gtk3/qgtk3interface_p.h b/src/plugins/platformthemes/gtk3/qgtk3interface_p.h index 2765473eda..b92adcd720 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3interface_p.h +++ b/src/plugins/platformthemes/gtk3/qgtk3interface_p.h @@ -136,8 +136,8 @@ public: // Return current GTK theme name const QString themeName() const; - // Derive appearance from default colors - Qt::Appearance appearanceByColors() const; + // Derive color scheme from default colors + Qt::ColorScheme colorSchemeByColors() const; // Convert GTK state to/from string static int toGtkState(const QString &state); diff --git a/src/plugins/platformthemes/gtk3/qgtk3json.cpp b/src/plugins/platformthemes/gtk3/qgtk3json.cpp index de3174c7ab..eb81e563be 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3json.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3json.cpp @@ -53,9 +53,9 @@ QLatin1String QGtk3Json::fromWidgetType(QGtk3Interface::QGtkWidget widgetType) return QLatin1String(QMetaEnum::fromType().valueToKey(static_cast(widgetType))); } -QLatin1String QGtk3Json::fromAppearance(Qt::Appearance app) +QLatin1String QGtk3Json::fromColorScheme(Qt::ColorScheme app) { - return QLatin1String(QMetaEnum::fromType().valueToKey(static_cast(app))); + return QLatin1String(QMetaEnum::fromType().valueToKey(static_cast(app))); } #define CONVERT(type, key, def)\ @@ -63,9 +63,9 @@ QLatin1String QGtk3Json::fromAppearance(Qt::Appearance app) const int intVal = QMetaEnum::fromType().keyToValue(key.toLatin1().constData(), &ok);\ return ok ? static_cast(intVal) : type::def -Qt::Appearance QGtk3Json::toAppearance(const QString &appearance) +Qt::ColorScheme QGtk3Json::toColorScheme(const QString &colorScheme) { - CONVERT(Qt::Appearance, appearance, Unknown); + CONVERT(Qt::ColorScheme, colorScheme, Unknown); } QPlatformTheme::Palette QGtk3Json::toPalette(const QString &palette) @@ -175,7 +175,7 @@ const QJsonDocument QGtk3Json::save(const QGtk3Storage::PaletteMap &map) const QGtk3Storage::TargetBrush tb = brushIterator.key(); QGtk3Storage::Source s = brushIterator.value(); brushObject.insert(ceColorGroup, fromColorGroup(tb.colorGroup)); - brushObject.insert(ceAppearance, fromAppearance(tb.appearance)); + brushObject.insert(ceColorScheme, fromColorScheme(tb.colorScheme)); brushObject.insert(ceSourceType, fromSourceType(s.sourceType)); QJsonObject sourceObject; @@ -201,7 +201,7 @@ const QJsonDocument QGtk3Json::save(const QGtk3Storage::PaletteMap &map) case QGtk3Storage::SourceType::Modified:{ sourceObject.insert(ceColorGroup, fromColorGroup(s.rec.colorGroup)); sourceObject.insert(ceColorRole, fromColorRole(s.rec.colorRole)); - sourceObject.insert(ceAppearance, fromAppearance(s.rec.appearance)); + sourceObject.insert(ceColorScheme, fromColorScheme(s.rec.colorScheme)); sourceObject.insert(ceRed, s.rec.deltaRed); sourceObject.insert(ceGreen, s.rec.deltaGreen); sourceObject.insert(ceBlue, s.rec.deltaBlue); @@ -322,9 +322,9 @@ bool QGtk3Json::load(QGtk3Storage::PaletteMap &map, const QJsonDocument &doc) const QGtk3Storage::SourceType sourceType = toSourceType(value); GETSTR(brushObject, ceColorGroup); const QPalette::ColorGroup colorGroup = toColorGroup(value); - GETSTR(brushObject, ceAppearance); - const Qt::Appearance appearance = toAppearance(value); - QGtk3Storage::TargetBrush tb(colorGroup, colorRole, appearance); + GETSTR(brushObject, ceColorScheme); + const Qt::ColorScheme colorScheme = toColorScheme(value); + QGtk3Storage::TargetBrush tb(colorGroup, colorRole, colorScheme); QGtk3Storage::Source s; if (!brushObject.contains(ceData) || !brushObject[ceData].isObject()) { @@ -376,13 +376,13 @@ bool QGtk3Json::load(QGtk3Storage::PaletteMap &map, const QJsonDocument &doc) const QPalette::ColorGroup colorGroup = toColorGroup(value); GETSTR(sourceObject, ceColorRole); const QPalette::ColorRole colorRole = toColorRole(value); - GETSTR(sourceObject, ceAppearance); - const Qt::Appearance appearance = toAppearance(value); + GETSTR(sourceObject, ceColorScheme); + const Qt::ColorScheme colorScheme = toColorScheme(value); GETINT(sourceObject, ceLighter, lighter); GETINT(sourceObject, ceRed, red); GETINT(sourceObject, ceBlue, blue); GETINT(sourceObject, ceGreen, green); - s = QGtk3Storage::Source(colorGroup, colorRole, appearance, + s = QGtk3Storage::Source(colorGroup, colorRole, colorScheme, lighter, red, green, blue); } break; diff --git a/src/plugins/platformthemes/gtk3/qgtk3json_p.h b/src/plugins/platformthemes/gtk3/qgtk3json_p.h index b4477eb667..daf280612c 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3json_p.h +++ b/src/plugins/platformthemes/gtk3/qgtk3json_p.h @@ -50,7 +50,7 @@ public: static QLatin1String fromGdkSource(QGtk3Interface::QGtkColorSource source); static QLatin1String fromSourceType(QGtk3Storage::SourceType sourceType); static QLatin1String fromWidgetType(QGtk3Interface::QGtkWidget widgetType); - static QLatin1String fromAppearance(Qt::Appearance app); + static QLatin1String fromColorScheme(Qt::ColorScheme colorScheme); // Convert strings to enums static QPlatformTheme::Palette toPalette(const QString &palette); @@ -61,7 +61,7 @@ public: static QGtk3Interface::QGtkColorSource toGdkSource(const QString &source); static QGtk3Storage::SourceType toSourceType(const QString &sourceType); static QGtk3Interface::QGtkWidget toWidgetType(const QString &widgetType); - static Qt::Appearance toAppearance(const QString &appearance); + static Qt::ColorScheme toColorScheme(const QString &colorScheme); // Json keys static constexpr QLatin1StringView cePalettes = "QtGtk3Palettes"_L1; @@ -82,7 +82,7 @@ public: static constexpr QLatin1StringView ceBrush = "FixedBrush"_L1; static constexpr QLatin1StringView ceData = "SourceData"_L1; static constexpr QLatin1StringView ceBrushes = "Brushes"_L1; - static constexpr QLatin1StringView ceAppearance = "Appearance"_L1; + static constexpr QLatin1StringView ceColorScheme = "ColorScheme"_L1; // Save to a file static bool save(const QGtk3Storage::PaletteMap &map, const QString &fileName, diff --git a/src/plugins/platformthemes/gtk3/qgtk3storage.cpp b/src/plugins/platformthemes/gtk3/qgtk3storage.cpp index 1319157f44..8d6f3a4c14 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3storage.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3storage.cpp @@ -55,7 +55,7 @@ QBrush QGtk3Storage::brush(const Source &source, const BrushMap &map) const case SourceType::Modified: { // don't loop through modified sources, break if modified source not found Source recSource = brush(TargetBrush(source.rec.colorGroup, source.rec.colorRole, - source.rec.appearance), map); + source.rec.colorScheme), map); if (!recSource.isValid() || (recSource.sourceType == SourceType::Modified)) return QBrush(); @@ -99,15 +99,15 @@ QGtk3Storage::Source QGtk3Storage::brush(const TargetBrush &b, const BrushMap &m // Return exact match FIND(b); - // unknown appearance can find anything - if (b.appearance == Qt::Appearance::Unknown) { - FIND(TargetBrush(b, Qt::Appearance::Dark)); - FIND(TargetBrush(b, Qt::Appearance::Light)); + // unknown color scheme can find anything + if (b.colorScheme == Qt::ColorScheme::Unknown) { + FIND(TargetBrush(b, Qt::ColorScheme::Dark)); + FIND(TargetBrush(b, Qt::ColorScheme::Light)); } // Color group All can always be found if (b.colorGroup != QPalette::All) - return brush(TargetBrush(QPalette::All, b.colorRole, b.appearance), map); + return brush(TargetBrush(QPalette::All, b.colorRole, b.colorScheme), map); // Brush not found return Source(); @@ -181,13 +181,13 @@ const QPalette *QGtk3Storage::palette(QPlatformTheme::Palette type) const Source source = i.value(); // Brush is set if - // - theme and source appearance match + // - theme and source color scheme match // - or either of them is unknown - const auto appSource = i.key().appearance; - const auto appTheme = appearance(); + const auto appSource = i.key().colorScheme; + const auto appTheme = colorScheme(); const bool setBrush = (appSource == appTheme) || - (appSource == Qt::Appearance::Unknown) || - (appTheme == Qt::Appearance::Unknown); + (appSource == Qt::ColorScheme::Unknown) || + (appTheme == Qt::ColorScheme::Unknown); if (setBrush) { p.setBrush(i.key().colorGroup, i.key().colorRole, brush(source, brushes)); @@ -196,7 +196,7 @@ const QPalette *QGtk3Storage::palette(QPlatformTheme::Palette type) const m_paletteCache[type].emplace(p); if (type == QPlatformTheme::SystemPalette) - qCDebug(lcQGtk3Interface) << "System Palette defined" << themeName() << appearance() << p; + qCDebug(lcQGtk3Interface) << "System Palette defined" << themeName() << colorScheme() << p; return &m_paletteCache[type].value(); } @@ -255,7 +255,7 @@ QIcon QGtk3Storage::fileIcon(const QFileInfo &fileInfo) const */ void QGtk3Storage::clear() { - m_appearance = Qt::Appearance::Unknown; + m_colorScheme = Qt::ColorScheme::Unknown; m_palettes.clear(); for (auto &cache : m_paletteCache) cache.reset(); @@ -307,7 +307,7 @@ void QGtk3Storage::handleThemeChange() - "QGtk3Palettes" (top level value) - QPlatformTheme::Palette - QPalette::ColorRole - - Qt::Appearance + - Qt::ColorScheme - Qt::ColorGroup - Source data - Source Type @@ -337,14 +337,14 @@ void QGtk3Storage::populateMap() clear(); - // Derive appearance from theme name - m_appearance = newThemeName.contains("dark"_L1, Qt::CaseInsensitive) - ? Qt::Appearance::Dark : m_interface->appearanceByColors(); + // Derive color scheme from theme name + m_colorScheme = newThemeName.contains("dark"_L1, Qt::CaseInsensitive) + ? Qt::ColorScheme::Dark : m_interface->colorSchemeByColors(); if (m_themeName.isEmpty()) { - qCDebug(lcQGtk3Interface) << "GTK theme initialized:" << newThemeName << m_appearance; + qCDebug(lcQGtk3Interface) << "GTK theme initialized:" << newThemeName << m_colorScheme; } else { - qCDebug(lcQGtk3Interface) << "GTK theme changed to:" << newThemeName << m_appearance; + qCDebug(lcQGtk3Interface) << "GTK theme changed to:" << newThemeName << m_colorScheme; } m_themeName = newThemeName; @@ -466,19 +466,19 @@ void QGtk3Storage::createMapping() // Define a modified source #define LIGHTER(group, role, lighter)\ source = Source(QPalette::group, QPalette::role,\ - Qt::Appearance::Unknown, lighter) + Qt::ColorScheme::Unknown, lighter) #define MODIFY(group, role, red, green, blue)\ source = Source(QPalette::group, QPalette::role,\ - Qt::Appearance::Unknown, red, green, blue) + Qt::ColorScheme::Unknown, red, green, blue) // Define fixed source #define FIX(color) source = FixedSource(color); // Add the source to a target brush - // Use default Qt::Appearance::Unknown, if no appearance was specified + // Use default Qt::ColorScheme::Unknown, if no color scheme was specified #define ADD_2(group, role) map.insert(TargetBrush(QPalette::group, QPalette::role), source); #define ADD_3(group, role, app) map.insert(TargetBrush(QPalette::group, QPalette::role,\ - Qt::Appearance::app), source); + Qt::ColorScheme::app), source); #define ADD_X(x, group, role, app, FUNC, ...) FUNC #define ADD(...) ADD_X(,##__VA_ARGS__, ADD_3(__VA_ARGS__), ADD_2(__VA_ARGS__)) // Save target brushes to a palette type @@ -508,8 +508,8 @@ void QGtk3Storage::createMapping() Use ADD(ColorGroup, ColorRole) to use the defined source for the color group / role in the current palette. - Use ADD(ColorGroup, ColorRole, Appearance) to use the defined source - only for a specific appearance + Use ADD(ColorGroup, ColorRole, ColorScheme) to use the defined source + only for a specific color scheme 3. Save mapping Save the defined mappings for a specific palette. diff --git a/src/plugins/platformthemes/gtk3/qgtk3storage_p.h b/src/plugins/platformthemes/gtk3/qgtk3storage_p.h index af628d49ff..37c5bf57ff 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3storage_p.h +++ b/src/plugins/platformthemes/gtk3/qgtk3storage_p.h @@ -61,7 +61,7 @@ public: struct RecursiveSource { QPalette::ColorGroup colorGroup; QPalette::ColorRole colorRole; - Qt::Appearance appearance; + Qt::ColorScheme colorScheme; int lighter = 100; int deltaRed = 0; int deltaGreen = 0; @@ -71,7 +71,7 @@ public: QDebug operator<<(QDebug dbg) { return dbg << "QGtkStorage::RecursiceSource(colorGroup=" << colorGroup << ", colorRole=" - << colorRole << ", appearance=" << appearance << ", lighter=" << lighter + << colorRole << ", colorScheme=" << colorScheme << ", lighter=" << lighter << ", deltaRed="<< deltaRed << "deltaBlue =" << deltaBlue << "deltaGreen=" << deltaGreen << ", width=" << width << ", height=" << height << ")"; } @@ -106,23 +106,23 @@ public: // Recursive constructor for darker/lighter colors Source(QPalette::ColorGroup group, QPalette::ColorRole role, - Qt::Appearance app, int p_lighter = 100) + Qt::ColorScheme scheme, int p_lighter = 100) : sourceType(SourceType::Modified) { rec.colorGroup = group; rec.colorRole = role; - rec.appearance = app; + rec.colorScheme = scheme; rec.lighter = p_lighter; } // Recursive ocnstructor for color modification Source(QPalette::ColorGroup group, QPalette::ColorRole role, - Qt::Appearance app, int p_red, int p_green, int p_blue) + Qt::ColorScheme scheme, int p_red, int p_green, int p_blue) : sourceType(SourceType::Modified) { rec.colorGroup = group; rec.colorRole = role; - rec.appearance = app; + rec.colorScheme = scheme; rec.deltaRed = p_red; rec.deltaGreen = p_green; rec.deltaBlue = p_blue; @@ -130,12 +130,12 @@ public: // Recursive constructor for all: color modification and darker/lighter Source(QPalette::ColorGroup group, QPalette::ColorRole role, - Qt::Appearance app, int p_lighter, + Qt::ColorScheme scheme, int p_lighter, int p_red, int p_green, int p_blue) : sourceType(SourceType::Modified) { rec.colorGroup = group; rec.colorRole = role; - rec.appearance = app; + rec.colorScheme = scheme; rec.lighter = p_lighter; rec.deltaRed = p_red; rec.deltaGreen = p_green; @@ -159,25 +159,25 @@ public: } }; - // Struct with key attributes to identify a brush: color group, color role and appearance + // Struct with key attributes to identify a brush: color group, color role and color scheme struct TargetBrush { QPalette::ColorGroup colorGroup; QPalette::ColorRole colorRole; - Qt::Appearance appearance; + Qt::ColorScheme colorScheme; // Generic constructor TargetBrush(QPalette::ColorGroup group, QPalette::ColorRole role, - Qt::Appearance app = Qt::Appearance::Unknown) : - colorGroup(group), colorRole(role), appearance(app) {}; + Qt::ColorScheme scheme = Qt::ColorScheme::Unknown) : + colorGroup(group), colorRole(role), colorScheme(scheme) {}; - // Copy constructor with appearance modifier for dark/light aware search - TargetBrush(const TargetBrush &other, Qt::Appearance app) : - colorGroup(other.colorGroup), colorRole(other.colorRole), appearance(app) {}; + // Copy constructor with color scheme modifier for dark/light aware search + TargetBrush(const TargetBrush &other, Qt::ColorScheme scheme) : + colorGroup(other.colorGroup), colorRole(other.colorRole), colorScheme(scheme) {}; // struct becomes key of a map, so operator< is needed bool operator<(const TargetBrush& other) const { - return std::tie(colorGroup, colorRole, appearance) < - std::tie(other.colorGroup, other.colorRole, other.appearance); + return std::tie(colorGroup, colorRole, colorScheme) < + std::tie(other.colorGroup, other.colorRole, other.colorScheme); } }; @@ -190,7 +190,7 @@ public: // Public getters const QPalette *palette(QPlatformTheme::Palette = QPlatformTheme::SystemPalette) const; QPixmap standardPixmap(QPlatformTheme::StandardPixmap standardPixmap, const QSizeF &size) const; - Qt::Appearance appearance() const { return m_appearance; }; + Qt::ColorScheme colorScheme() const { return m_colorScheme; }; static QPalette standardPalette(); const QString themeName() const { return m_interface ? m_interface->themeName() : QString(); }; const QFont *font(QPlatformTheme::Font type) const; @@ -207,7 +207,7 @@ private: std::unique_ptr m_interface; - Qt::Appearance m_appearance = Qt::Appearance::Unknown; + Qt::ColorScheme m_colorScheme = Qt::ColorScheme::Unknown; // Caches for Pixmaps, fonts and palettes mutable QCache m_pixmapCache; @@ -220,7 +220,7 @@ private: // Get GTK3 source for a target brush Source brush (const TargetBrush &brush, const BrushMap &map) const; - // clear cache, palettes and appearance + // clear cache, palettes and color scheme void clear(); // Data creation, import & export diff --git a/src/plugins/platformthemes/gtk3/qgtk3theme.cpp b/src/plugins/platformthemes/gtk3/qgtk3theme.cpp index 553cd70d8f..1df4cf94a3 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3theme.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3theme.cpp @@ -174,10 +174,10 @@ QString QGtk3Theme::gtkFontName() const return QGnomeTheme::gtkFontName(); } -Qt::Appearance QGtk3Theme::appearance() const +Qt::ColorScheme QGtk3Theme::colorScheme() const { Q_ASSERT(m_storage); - return m_storage->appearance(); + return m_storage->colorScheme(); } bool QGtk3Theme::usePlatformNativeDialog(DialogType type) const diff --git a/src/plugins/platformthemes/gtk3/qgtk3theme.h b/src/plugins/platformthemes/gtk3/qgtk3theme.h index 0071df9cea..2828cc56e6 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3theme.h +++ b/src/plugins/platformthemes/gtk3/qgtk3theme.h @@ -18,7 +18,7 @@ public: virtual QVariant themeHint(ThemeHint hint) const override; virtual QString gtkFontName() const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; bool usePlatformNativeDialog(DialogType type) const override; QPlatformDialogHelper *createPlatformDialogHelper(DialogType type) const override; diff --git a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp index c7b7ec550f..2f46b53297 100644 --- a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp +++ b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.cpp @@ -40,7 +40,7 @@ public: /*! \internal - Converts the given Freedesktop color scheme setting \a colorschemePref to a Qt::Appearance value. + Converts the given Freedesktop color scheme setting \a colorschemePref to a Qt::ColorScheme value. Specification: https://github.com/flatpak/xdg-desktop-portal/blob/d7a304a00697d7d608821253cd013f3b97ac0fb6/data/org.freedesktop.impl.portal.Settings.xml#L33-L45 Unfortunately the enum numerical values are not defined identically, so we have to convert them. @@ -53,18 +53,18 @@ public: 1: Prefer dark appearance | 2: Dark 2: Prefer light appearance | 1: Light */ - static Qt::Appearance appearanceFromXdgPref(const XdgColorschemePref colorschemePref) + static Qt::ColorScheme colorSchemeFromXdgPref(const XdgColorschemePref colorschemePref) { switch (colorschemePref) { - case PreferDark: return Qt::Appearance::Dark; - case PreferLight: return Qt::Appearance::Light; - default: return Qt::Appearance::Unknown; + case PreferDark: return Qt::ColorScheme::Dark; + case PreferLight: return Qt::ColorScheme::Light; + default: return Qt::ColorScheme::Unknown; } } QPlatformTheme *baseTheme = nullptr; uint fileChooserPortalVersion = 0; - Qt::Appearance appearance = Qt::Appearance::Unknown; + Qt::ColorScheme colorScheme = Qt::ColorScheme::Unknown; }; QXdgDesktopPortalTheme::QXdgDesktopPortalTheme() @@ -124,7 +124,7 @@ QXdgDesktopPortalTheme::QXdgDesktopPortalTheme() if (reply.isValid()) { const QDBusVariant dbusVariant = qvariant_cast(reply.value()); const QXdgDesktopPortalThemePrivate::XdgColorschemePref xdgPref = static_cast(dbusVariant.variant().toUInt()); - d->appearance = QXdgDesktopPortalThemePrivate::appearanceFromXdgPref(xdgPref); + d->colorScheme = QXdgDesktopPortalThemePrivate::colorSchemeFromXdgPref(xdgPref); } } @@ -205,10 +205,10 @@ QVariant QXdgDesktopPortalTheme::themeHint(ThemeHint hint) const return d->baseTheme->themeHint(hint); } -Qt::Appearance QXdgDesktopPortalTheme::appearance() const +Qt::ColorScheme QXdgDesktopPortalTheme::colorScheme() const { Q_D(const QXdgDesktopPortalTheme); - return d->appearance; + return d->colorScheme; } QPixmap QXdgDesktopPortalTheme::standardPixmap(StandardPixmap sp, const QSizeF &size) const diff --git a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.h b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.h index 8e1cd37932..1ac04c45e6 100644 --- a/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.h +++ b/src/plugins/platformthemes/xdgdesktopportal/qxdgdesktopportaltheme.h @@ -34,7 +34,7 @@ public: QVariant themeHint(ThemeHint hint) const override; - Qt::Appearance appearance() const override; + Qt::ColorScheme colorScheme() const override; QPixmap standardPixmap(StandardPixmap sp, const QSizeF &size) const override; QIcon fileIcon(const QFileInfo &fileInfo, diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm index fa34c4cd58..4e7b131e84 100644 --- a/src/plugins/styles/mac/qmacstyle_mac.mm +++ b/src/plugins/styles/mac/qmacstyle_mac.mm @@ -160,7 +160,7 @@ const int pushButtonBevelRectOffsets[3] = { QVector > QMacStylePrivate::scrollBars; -bool isDarkMode() { return QGuiApplicationPrivate::platformTheme()->appearance() == Qt::Appearance::Dark; } +bool isDarkMode() { return QGuiApplicationPrivate::platformTheme()->colorScheme() == Qt::ColorScheme::Dark; } // Title bar gradient colors for Lion were determined by inspecting PSDs exported // using CoreUI's CoreThemeDocument; there is no public API to retrieve them diff --git a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp index f884afc5b4..e90d1c0925 100644 --- a/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp +++ b/src/plugins/styles/windowsvista/qwindowsvistastyle.cpp @@ -4781,7 +4781,7 @@ void QWindowsVistaStyle::polish(QPalette &pal) { Q_D(QWindowsVistaStyle); - if (qApp->styleHints()->appearance() == Qt::Appearance::Dark) { + if (qApp->styleHints()->colorScheme() == Qt::ColorScheme::Dark) { // System runs in dark mode, but the Vista style cannot use a dark palette. // Overwrite with the light system palette. using QWindowsApplication = QNativeInterface::Private::QWindowsApplication; @@ -4817,7 +4817,7 @@ void QWindowsVistaStyle::polish(QPalette &pal) void QWindowsVistaStyle::polish(QApplication *app) { // Override windows theme palettes to light - if (qApp->styleHints()->appearance() == Qt::Appearance::Dark) { + if (qApp->styleHints()->colorScheme() == Qt::ColorScheme::Dark) { static const char* themedWidgets[] = { "QToolButton", "QAbstractButton",