diff options
Diffstat (limited to 'application/themes/SystemTheme.cpp')
-rw-r--r-- | application/themes/SystemTheme.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/application/themes/SystemTheme.cpp b/application/themes/SystemTheme.cpp index 6ced6843..6d8a0ee8 100644 --- a/application/themes/SystemTheme.cpp +++ b/application/themes/SystemTheme.cpp @@ -1,10 +1,26 @@ #include "SystemTheme.h" #include <QApplication> #include <QStyle> +#include <QStyleFactory> +#include <QDebug> SystemTheme::SystemTheme() { - systemPalette = QApplication::style()->standardPalette(); + const auto & style = QApplication::style(); + systemPalette = style->standardPalette(); + QString lowerThemeName = style->objectName(); + qWarning() << systemTheme; + QStringList styles = QStyleFactory::keys(); + for(auto &st: styles) + { + if(st.toLower() == lowerThemeName) + { + systemTheme = st; + return; + } + } + // fall back to fusion if we can't find the current theme. + systemTheme = "Fusion"; } QString SystemTheme::id() @@ -17,6 +33,11 @@ QString SystemTheme::name() return QObject::tr("System"); } +QString SystemTheme::qtTheme() +{ + return systemTheme; +} + QPalette SystemTheme::colorScheme() { return systemPalette; |