diff options
Diffstat (limited to 'src/plugins/platformthemes/gtk3/qgtk3interface.cpp')
-rw-r--r-- | src/plugins/platformthemes/gtk3/qgtk3interface.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/plugins/platformthemes/gtk3/qgtk3interface.cpp b/src/plugins/platformthemes/gtk3/qgtk3interface.cpp index d3195863af..4ce7d92ceb 100644 --- a/src/plugins/platformthemes/gtk3/qgtk3interface.cpp +++ b/src/plugins/platformthemes/gtk3/qgtk3interface.cpp @@ -400,6 +400,22 @@ const QString QGtk3Interface::themeName() const return QLatin1StringView(theme_name); } +Qt::Appearance QGtk3Interface::appearanceByColors() const +{ + const QColor background = color(widget(QGtkWidget::gtk_Default), + QGtkColorSource::Background, + GTK_STATE_FLAG_ACTIVE); + const QColor foreground = color(widget(QGtkWidget::gtk_Default), + QGtkColorSource::Foreground, + GTK_STATE_FLAG_ACTIVE); + + if (foreground.lightness() > background.lightness()) + return Qt::Appearance::Dark; + if (foreground.lightness() < background.lightness()) + return Qt::Appearance::Light; + return Qt::Appearance::Unknown; +} + inline constexpr QGtk3Interface::QGtkWidget QGtk3Interface::toWidgetType(QPlatformTheme::Font type) { switch (type) { |