From c2f37716e59055636bee2d1549a16809c408e45b Mon Sep 17 00:00:00 2001 From: Tayou Date: Thu, 3 Nov 2022 05:05:07 +0100 Subject: [PATCH] clang_format for PR files I'm getting a rendezvous... I thought I did this already Signed-off-by: Tayou --- launcher/ui/themes/CustomTheme.cpp | 121 +++++++++++----------------- launcher/ui/themes/CustomTheme.h | 12 ++- launcher/ui/themes/ThemeManager.cpp | 49 +++++------ launcher/ui/themes/ThemeManager.h | 17 ++-- 4 files changed, 87 insertions(+), 112 deletions(-) diff --git a/launcher/ui/themes/CustomTheme.cpp b/launcher/ui/themes/CustomTheme.cpp index a61bdbaf..3ad61668 100644 --- a/launcher/ui/themes/CustomTheme.cpp +++ b/launcher/ui/themes/CustomTheme.cpp @@ -33,19 +33,24 @@ * limitations under the License. */ #include "CustomTheme.h" -#include #include +#include #include "ThemeManager.h" -const char * themeFile = "theme.json"; +const char* themeFile = "theme.json"; -static bool readThemeJson(const QString &path, QPalette &palette, double &fadeAmount, QColor &fadeColor, QString &name, QString &widgets, QString &qssFilePath, bool &dataIncomplete) +static bool readThemeJson(const QString& path, + QPalette& palette, + double& fadeAmount, + QColor& fadeColor, + QString& name, + QString& widgets, + QString& qssFilePath, + bool& dataIncomplete) { QFileInfo pathInfo(path); - if(pathInfo.exists() && pathInfo.isFile()) - { - try - { + if (pathInfo.exists() && pathInfo.isFile()) { + try { auto doc = Json::requireDocument(path, "Theme JSON file"); const QJsonObject root = doc.object(); dataIncomplete = !root.contains("qssFilePath"); @@ -53,14 +58,11 @@ static bool readThemeJson(const QString &path, QPalette &palette, double &fadeAm widgets = Json::requireString(root, "widgets", "Qt widget theme"); qssFilePath = Json::ensureString(root, "qssFilePath", "themeStyle.css"); auto colorsRoot = Json::requireObject(root, "colors", "colors object"); - auto readColor = [&](QString colorName) -> QColor - { + auto readColor = [&](QString colorName) -> QColor { auto colorValue = Json::ensureString(colorsRoot, colorName, QString()); - if(!colorValue.isEmpty()) - { + if (!colorValue.isEmpty()) { QColor color(colorValue); - if(!color.isValid()) - { + if (!color.isValid()) { themeWarningLog() << "Color value" << colorValue << "for" << colorName << "was not recognized."; return QColor(); } @@ -68,15 +70,11 @@ static bool readThemeJson(const QString &path, QPalette &palette, double &fadeAm } return QColor(); }; - auto readAndSetColor = [&](QPalette::ColorRole role, QString colorName) - { + auto readAndSetColor = [&](QPalette::ColorRole role, QString colorName) { auto color = readColor(colorName); - if(color.isValid()) - { + if (color.isValid()) { palette.setColor(role, color); - } - else - { + } else { themeDebugLog() << "Color value for" << colorName << "was not present."; } }; @@ -96,26 +94,28 @@ static bool readThemeJson(const QString &path, QPalette &palette, double &fadeAm readAndSetColor(QPalette::Highlight, "Highlight"); readAndSetColor(QPalette::HighlightedText, "HighlightedText"); - //fade + // fade fadeColor = readColor("fadeColor"); fadeAmount = Json::ensureDouble(colorsRoot, "fadeAmount", 0.5, "fade amount"); - } - catch (const Exception &e) - { + } catch (const Exception& e) { themeWarningLog() << "Couldn't load theme json: " << e.cause(); return false; } - } - else - { + } else { themeDebugLog() << "No theme json present."; return false; } return true; } -static bool writeThemeJson(const QString &path, const QPalette &palette, double fadeAmount, QColor fadeColor, QString name, QString widgets, QString qssFilePath) +static bool writeThemeJson(const QString& path, + const QPalette& palette, + double fadeAmount, + QColor fadeColor, + QString name, + QString widgets, + QString qssFilePath) { QJsonObject rootObj; rootObj.insert("name", name); @@ -123,10 +123,7 @@ static bool writeThemeJson(const QString &path, const QPalette &palette, double rootObj.insert("qssFilePath", qssFilePath); QJsonObject colorsObj; - auto insertColor = [&](QPalette::ColorRole role, QString colorName) - { - colorsObj.insert(colorName, palette.color(role).name()); - }; + auto insertColor = [&](QPalette::ColorRole role, QString colorName) { colorsObj.insert(colorName, palette.color(role).name()); }; // palette insertColor(QPalette::Window, "Window"); @@ -148,13 +145,10 @@ static bool writeThemeJson(const QString &path, const QPalette &palette, double colorsObj.insert("fadeAmount", fadeAmount); rootObj.insert("colors", colorsObj); - try - { + try { Json::write(rootObj, path); return true; - } - catch (const Exception &e) - { + } catch (const Exception& e) { themeWarningLog() << "Failed to write theme json to" << path; return false; } @@ -171,8 +165,7 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QFileInfo& fileInfo, bool isManifest QString path = FS::PathCombine("themes", m_id); QString pathResources = FS::PathCombine("themes", m_id, "resources"); - if(!FS::ensureFolderPathExists(path) || !FS::ensureFolderPathExists(pathResources)) - { + if (!FS::ensureFolderPathExists(path) || !FS::ensureFolderPathExists(pathResources)) { themeWarningLog() << "couldn't create folder for theme!"; m_palette = baseTheme->colorScheme(); m_styleSheet = baseTheme->appStyleSheet(); @@ -184,8 +177,7 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QFileInfo& fileInfo, bool isManifest bool jsonDataIncomplete = false; m_palette = baseTheme->colorScheme(); - if (!readThemeJson(themeFilePath, m_palette, m_fadeAmount, m_fadeColor, m_name, m_widgets, m_qssFilePath, jsonDataIncomplete)) - { + if (!readThemeJson(themeFilePath, m_palette, m_fadeAmount, m_fadeColor, m_name, m_widgets, m_qssFilePath, jsonDataIncomplete)) { themeDebugLog() << "Did not read theme json file correctly, writing new one to: " << themeFilePath; m_name = "Custom"; m_palette = baseTheme->colorScheme(); @@ -193,42 +185,30 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QFileInfo& fileInfo, bool isManifest m_fadeAmount = baseTheme->fadeAmount(); m_widgets = baseTheme->qtTheme(); m_qssFilePath = "themeStyle.css"; - } - else - { + } else { m_palette = fadeInactive(m_palette, m_fadeAmount, m_fadeColor); } - if(jsonDataIncomplete) - { + if (jsonDataIncomplete) { writeThemeJson(fileInfo.absoluteFilePath(), m_palette, m_fadeAmount, m_fadeColor, m_name, m_widgets, m_qssFilePath); } auto qssFilePath = FS::PathCombine(path, m_qssFilePath); - QFileInfo info (qssFilePath); - if(info.isFile()) - { - try - { + QFileInfo info(qssFilePath); + if (info.isFile()) { + try { // TODO: validate css? m_styleSheet = QString::fromUtf8(FS::read(qssFilePath)); - } - catch (const Exception &e) - { + } catch (const Exception& e) { themeWarningLog() << "Couldn't load css:" << e.cause() << "from" << qssFilePath; m_styleSheet = baseTheme->appStyleSheet(); } - } - else - { + } else { themeDebugLog() << "No theme css present."; m_styleSheet = baseTheme->appStyleSheet(); - try - { + try { FS::write(qssFilePath, m_styleSheet.toUtf8()); - } - catch (const Exception &e) - { + } catch (const Exception& e) { themeWarningLog() << "Couldn't write css:" << e.cause() << "to" << qssFilePath; } } @@ -236,12 +216,11 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QFileInfo& fileInfo, bool isManifest m_id = fileInfo.fileName(); m_name = fileInfo.baseName(); QString path = fileInfo.filePath(); - //themeDebugLog << "Theme ID: " << m_id; - //themeDebugLog << "Theme Name: " << m_name; - //themeDebugLog << "Theme Path: " << path; + // themeDebugLog << "Theme ID: " << m_id; + // themeDebugLog << "Theme Name: " << m_name; + // themeDebugLog << "Theme Path: " << path; - if(!FS::ensureFilePathExists(path)) - { + if (!FS::ensureFilePathExists(path)) { themeWarningLog() << m_name << " Theme file path doesn't exist!"; m_palette = baseTheme->colorScheme(); m_styleSheet = baseTheme->appStyleSheet(); @@ -249,13 +228,10 @@ CustomTheme::CustomTheme(ITheme* baseTheme, QFileInfo& fileInfo, bool isManifest } m_palette = baseTheme->colorScheme(); - try - { + try { // TODO: validate qss? m_styleSheet = QString::fromUtf8(FS::read(path)); - } - catch (const Exception &e) - { + } catch (const Exception& e) { themeWarningLog() << "Couldn't load qss:" << e.cause() << "from" << path; m_styleSheet = baseTheme->appStyleSheet(); } @@ -267,7 +243,6 @@ QStringList CustomTheme::searchPaths() return { FS::PathCombine("themes", m_id, "resources") }; } - QString CustomTheme::id() { return m_id; diff --git a/launcher/ui/themes/CustomTheme.h b/launcher/ui/themes/CustomTheme.h index e845d23d..f2b1b06e 100644 --- a/launcher/ui/themes/CustomTheme.h +++ b/launcher/ui/themes/CustomTheme.h @@ -34,13 +34,12 @@ */ #pragma once -#include "ITheme.h" #include +#include "ITheme.h" -class CustomTheme: public ITheme -{ -public: - CustomTheme(ITheme * baseTheme, QFileInfo& file, bool isManifest); +class CustomTheme : public ITheme { + public: + CustomTheme(ITheme* baseTheme, QFileInfo& file, bool isManifest); virtual ~CustomTheme() {} QString id() override; @@ -54,7 +53,7 @@ public: QString qtTheme() override; QStringList searchPaths() override; -private: /* data */ + private: /* data */ QPalette m_palette; QColor m_fadeColor; double m_fadeAmount; @@ -64,4 +63,3 @@ private: /* data */ QString m_widgets; QString m_qssFilePath; }; - diff --git a/launcher/ui/themes/ThemeManager.cpp b/launcher/ui/themes/ThemeManager.cpp index 4b7cd46d..01a38a86 100644 --- a/launcher/ui/themes/ThemeManager.cpp +++ b/launcher/ui/themes/ThemeManager.cpp @@ -17,26 +17,27 @@ */ #include "ThemeManager.h" -#include "ui/themes/SystemTheme.h" -#include "ui/themes/DarkTheme.h" -#include "ui/themes/BrightTheme.h" -#include "ui/themes/CustomTheme.h" +#include #include #include #include -#include +#include "ui/themes/BrightTheme.h" +#include "ui/themes/CustomTheme.h" +#include "ui/themes/DarkTheme.h" +#include "ui/themes/SystemTheme.h" #include "Application.h" #ifdef Q_OS_WIN -#include -// this is needed for versionhelpers.h, it is also included in WinDarkmode, but we can't rely on that. +#include +// this is needed for versionhelpers.h, it is also included in WinDarkmode, but we can't rely on that. // Ultimately this should be included in versionhelpers, but that is outside of the project. #include "ui/WinDarkmode.h" #include #endif -ThemeManager::ThemeManager(MainWindow* mainWindow) { +ThemeManager::ThemeManager(MainWindow* mainWindow) +{ m_mainWindow = mainWindow; InitializeThemes(); } @@ -44,7 +45,8 @@ ThemeManager::ThemeManager(MainWindow* mainWindow) { /// @brief Adds the Theme to the list of themes /// @param theme The Theme to add /// @return Theme ID -QString ThemeManager::AddTheme(std::unique_ptr theme) { +QString ThemeManager::AddTheme(std::unique_ptr theme) +{ QString id = theme->id(); m_themes.emplace(id, std::move(theme)); return id; @@ -53,13 +55,13 @@ QString ThemeManager::AddTheme(std::unique_ptr theme) { /// @brief Gets the Theme from the List via ID /// @param themeId Theme ID of theme to fetch /// @return Theme at themeId -ITheme* ThemeManager::GetTheme(QString themeId) { +ITheme* ThemeManager::GetTheme(QString themeId) +{ return m_themes[themeId].get(); } -void ThemeManager::InitializeThemes() { - - +void ThemeManager::InitializeThemes() +{ // Icon themes { // TODO: icon themes and instance icons do not mesh well together. Rearrange and fix discrepancies! @@ -78,7 +80,8 @@ void ThemeManager::InitializeThemes() { themeDebugLog() << "Loading Built-in Theme:" << darkThemeId; themeDebugLog() << "Loading Built-in Theme:" << AddTheme(std::make_unique()); - // TODO: need some way to differentiate same name themes in different subdirectories (maybe smaller grey text next to theme name in dropdown?) + // TODO: need some way to differentiate same name themes in different subdirectories (maybe smaller grey text next to theme name in + // dropdown?) QString themeFolder = QDir("./themes/").absoluteFilePath(""); themeDebugLog() << "Theme Folder Path: " << themeFolder; @@ -92,7 +95,7 @@ void ThemeManager::InitializeThemes() { AddTheme(std::make_unique(GetTheme(darkThemeId), themeJson, true)); } else { // Load pure QSS Themes - QDirIterator stylesheetFileIterator(dir.absoluteFilePath(""), {"*.qss", "*.css"}, QDir::Files); + QDirIterator stylesheetFileIterator(dir.absoluteFilePath(""), { "*.qss", "*.css" }, QDir::Files); while (stylesheetFileIterator.hasNext()) { QFile customThemeFile(stylesheetFileIterator.next()); QFileInfo customThemeFileInfo(customThemeFile); @@ -121,7 +124,8 @@ void ThemeManager::setIconTheme(const QString& name) QIcon::setThemeName(name); } -void ThemeManager::applyCurrentlySelectedTheme() { +void ThemeManager::applyCurrentlySelectedTheme() +{ setIconTheme(APPLICATION->settings()->get("IconTheme").toString()); themeDebugLog() << "<> Icon theme set."; setApplicationTheme(APPLICATION->settings()->get("ApplicationTheme").toString(), true); @@ -132,23 +136,20 @@ void ThemeManager::setApplicationTheme(const QString& name, bool initial) { auto systemPalette = qApp->palette(); auto themeIter = m_themes.find(name); - if(themeIter != m_themes.end()) - { - auto & theme = themeIter->second; + if (themeIter != m_themes.end()) { + auto& theme = themeIter->second; themeDebugLog() << "applying theme" << theme->name(); theme->apply(initial); #ifdef Q_OS_WIN if (m_mainWindow && IsWindows10OrGreater()) { if (QString::compare(theme->id(), "dark") == 0) { - WinDarkmode::setDarkWinTitlebar(m_mainWindow->winId(), true); + WinDarkmode::setDarkWinTitlebar(m_mainWindow->winId(), true); } else { - WinDarkmode::setDarkWinTitlebar(m_mainWindow->winId(), false); + WinDarkmode::setDarkWinTitlebar(m_mainWindow->winId(), false); } } #endif - } - else - { + } else { themeWarningLog() << "Tried to set invalid theme:" << name; } } diff --git a/launcher/ui/themes/ThemeManager.h b/launcher/ui/themes/ThemeManager.h index 96088d82..b85cb742 100644 --- a/launcher/ui/themes/ThemeManager.h +++ b/launcher/ui/themes/ThemeManager.h @@ -19,18 +19,20 @@ #include -#include "ui/themes/ITheme.h" #include "ui/MainWindow.h" +#include "ui/themes/ITheme.h" -inline auto themeDebugLog() { - return qDebug() << "[Theme]"; +inline auto themeDebugLog() +{ + return qDebug() << "[Theme]"; } -inline auto themeWarningLog() { - return qWarning() << "[Theme]"; +inline auto themeWarningLog() +{ + return qWarning() << "[Theme]"; } class ThemeManager { -public: + public: ThemeManager(MainWindow* mainWindow); // maybe make private? Or put in ctor? @@ -41,11 +43,10 @@ public: void applyCurrentlySelectedTheme(); void setApplicationTheme(const QString& name, bool initial); -private: + private: std::map> m_themes; MainWindow* m_mainWindow; QString AddTheme(std::unique_ptr theme); ITheme* GetTheme(QString themeId); }; -