From b258eac215c791b2a8eed10cecbbf9551c87f0b9 Mon Sep 17 00:00:00 2001 From: Petr Mrázek Date: Mon, 22 Nov 2021 03:55:16 +0100 Subject: NOISSUE continue reshuffling the codebase --- launcher/ui/themes/SystemTheme.cpp | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 launcher/ui/themes/SystemTheme.cpp (limited to 'launcher/ui/themes/SystemTheme.cpp') diff --git a/launcher/ui/themes/SystemTheme.cpp b/launcher/ui/themes/SystemTheme.cpp new file mode 100644 index 00000000..49b1afaa --- /dev/null +++ b/launcher/ui/themes/SystemTheme.cpp @@ -0,0 +1,83 @@ +#include "SystemTheme.h" +#include +#include +#include +#include + +SystemTheme::SystemTheme() +{ + qDebug() << "Determining System Theme..."; + const auto & style = QApplication::style(); + systemPalette = style->standardPalette(); + QString lowerThemeName = style->objectName(); + qDebug() << "System theme seems to be:" << lowerThemeName; + QStringList styles = QStyleFactory::keys(); + for(auto &st: styles) + { + qDebug() << "Considering theme from theme factory:" << st.toLower(); + if(st.toLower() == lowerThemeName) + { + systemTheme = st; + qDebug() << "System theme has been determined to be:" << systemTheme; + return; + } + } + // fall back to fusion if we can't find the current theme. + systemTheme = "Fusion"; + qDebug() << "System theme not found, defaulted to Fusion"; +} + +void SystemTheme::apply(bool initial) +{ + // if we are applying the system theme as the first theme, just don't touch anything. it's for the better... + if(initial) + { + return; + } + ITheme::apply(initial); +} + +QString SystemTheme::id() +{ + return "system"; +} + +QString SystemTheme::name() +{ + return QObject::tr("System"); +} + +QString SystemTheme::qtTheme() +{ + return systemTheme; +} + +QPalette SystemTheme::colorScheme() +{ + return systemPalette; +} + +QString SystemTheme::appStyleSheet() +{ + return QString(); +} + +double SystemTheme::fadeAmount() +{ + return 0.5; +} + +QColor SystemTheme::fadeColor() +{ + return QColor(128,128,128); +} + +bool SystemTheme::hasStyleSheet() +{ + return false; +} + +bool SystemTheme::hasColorScheme() +{ + return true; +} -- cgit