From f2ac4a2e3446fa7a87e09ecb88ece04bb1c20a83 Mon Sep 17 00:00:00 2001 From: Bharadwaj Raju Date: Thu, 21 Oct 2021 17:59:56 +0530 Subject: [PATCH 1/2] Actually determine light/dark from colorscheme Uses the same method to calculate that as the Colors KCM --- src/settings.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index f8cecdd..3793925 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -15,6 +15,7 @@ #include +#include #include Q_LOGGING_CATEGORY(XdgDesktopPortalKdeSettings, "xdp-kde-settings") @@ -290,15 +291,15 @@ QDBusVariant SettingsPortal::readProperty(const QString &group, const QString &k QDBusVariant SettingsPortal::readFdoColorScheme() { - const KConfigGroup general = m_kdeglobals->group(QStringLiteral("General")); - const QString colorSchemeName = general.readEntry(QStringLiteral("ColorScheme"), QStringLiteral("Breeze")); + const QPalette palette = KColorScheme::createApplicationPalette(KSharedConfigPtr()); + const int windowBackgroundGray = qGray(palette.window().color().rgb()); - uint result = 0; + uint result = 0; // no preference - if (colorSchemeName == QLatin1String("Breeze") || colorSchemeName == QLatin1String("BreezeLight") || colorSchemeName == QLatin1String("BreezeClassic")) { - result = 2; - } else if (colorSchemeName == QLatin1String("BreezeDark")) { - result = 1; + if (windowBackgroundGray < 192) { + result = 1; // prefer dark + } else { + result = 2; // prefer light } return QDBusVariant(result); -- GitLab From b79b3ef1786e4664480fa5f0094e7e493c584211 Mon Sep 17 00:00:00 2001 From: Bharadwaj Raju Date: Thu, 21 Oct 2021 18:17:41 +0530 Subject: [PATCH 2/2] Use QApplication::palette() instead KColorScheme --- src/settings.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/settings.cpp b/src/settings.cpp index 3793925..9185b2e 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -8,14 +8,16 @@ #include "settings.h" +#include + #include #include #include #include #include +#include -#include #include Q_LOGGING_CATEGORY(XdgDesktopPortalKdeSettings, "xdp-kde-settings") @@ -291,7 +293,7 @@ QDBusVariant SettingsPortal::readProperty(const QString &group, const QString &k QDBusVariant SettingsPortal::readFdoColorScheme() { - const QPalette palette = KColorScheme::createApplicationPalette(KSharedConfigPtr()); + const QPalette palette = QApplication::palette(); const int windowBackgroundGray = qGray(palette.window().color().rgb()); uint result = 0; // no preference -- GitLab