diff options
Diffstat (limited to 'src/quickcontrols2/qquickstyleattached.cpp')
-rw-r--r-- | src/quickcontrols2/qquickstyleattached.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/quickcontrols2/qquickstyleattached.cpp b/src/quickcontrols2/qquickstyleattached.cpp index cdfa902e..7c9935ea 100644 --- a/src/quickcontrols2/qquickstyleattached.cpp +++ b/src/quickcontrols2/qquickstyleattached.cpp @@ -39,12 +39,33 @@ #include <QtCore/qfile.h> #include <QtCore/qsettings.h> #include <QtCore/qfileselector.h> +#include <QtGui/qcolor.h> +#include <QtGui/qpalette.h> +#include <QtGui/private/qguiapplication_p.h> +#include <QtGui/qpa/qplatformtheme.h> #include <QtQuick/qquickwindow.h> #include <QtQuick/private/qquickitem_p.h> #include <QtQuickTemplates2/private/qquickpopup_p.h> QT_BEGIN_NAMESPACE +static bool isDarkSystemTheme() +{ + if (const QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) { + if (const QPalette *systemPalette = theme->palette(QPlatformTheme::SystemPalette)) { + const QColor textColor = systemPalette->color(QPalette::WindowText); + return textColor.red() > 128 && textColor.blue() > 128 && textColor.green() > 128; + } + } + return false; +} + +Q_QUICKCONTROLS2_PRIVATE_EXPORT bool qt_is_dark_system_theme() +{ + static bool dark = isDarkSystemTheme(); + return dark; +} + static QQuickStyleAttached *attachedStyle(const QMetaObject *type, QObject *object, bool create = false) { if (!object) |