diff options
author | Trial97 <alexandru.tripon97@gmail.com> | 2023-08-15 12:49:21 +0300 |
---|---|---|
committer | Trial97 <alexandru.tripon97@gmail.com> | 2023-08-15 12:49:21 +0300 |
commit | cf27d2f9ab206e24f7dfd909a88d7db48fd0a74a (patch) | |
tree | 63675a840a90712b8b1468e87569fade7b11deb6 /launcher/ui/themes/ThemeManager.h | |
parent | b2fdd8359405c93d0d93aa8c68971c986a1f68cb (diff) | |
parent | 8f5bb982cd27dd9158b63d826769c168455a139b (diff) | |
download | PrismLauncher-cf27d2f9ab206e24f7dfd909a88d7db48fd0a74a.tar.gz PrismLauncher-cf27d2f9ab206e24f7dfd909a88d7db48fd0a74a.tar.bz2 PrismLauncher-cf27d2f9ab206e24f7dfd909a88d7db48fd0a74a.zip |
Merge branch 'develop' of https://github.com/PrismLauncher/PrismLauncher into download_threads
Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
Diffstat (limited to 'launcher/ui/themes/ThemeManager.h')
-rw-r--r-- | launcher/ui/themes/ThemeManager.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/launcher/ui/themes/ThemeManager.h b/launcher/ui/themes/ThemeManager.h index 1ce8c6f4..b5c66677 100644 --- a/launcher/ui/themes/ThemeManager.h +++ b/launcher/ui/themes/ThemeManager.h @@ -2,6 +2,7 @@ /* * Prism Launcher - Minecraft Launcher * Copyright (C) 2022 Tayou <git@tayou.org> + * Copyright (C) 2023 TheKodeToad <TheKodeToad@proton.me> * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,6 +20,7 @@ #include <QString> +#include "IconTheme.h" #include "ui/MainWindow.h" #include "ui/themes/CatPack.h" #include "ui/themes/ITheme.h" @@ -34,11 +36,17 @@ inline auto themeWarningLog() class ThemeManager { public: - ThemeManager(MainWindow* mainWindow); + ThemeManager(); + QList<IconTheme*> getValidIconThemes(); QList<ITheme*> getValidApplicationThemes(); - void setIconTheme(const QString& name); + bool isValidIconTheme(const QString& id); + bool isValidApplicationTheme(const QString& id); + QDir getIconThemesFolder(); + QDir getApplicationThemesFolder(); + QDir getCatPacksFolder(); void applyCurrentlySelectedTheme(bool initial = false); + void setIconTheme(const QString& name); void setApplicationTheme(const QString& name, bool initial = false); /// @brief Returns the background based on selected and with events (Birthday, XMas, etc.) @@ -49,12 +57,21 @@ class ThemeManager { private: std::map<QString, std::unique_ptr<ITheme>> m_themes; + std::map<QString, IconTheme> m_icons; + QDir m_iconThemeFolder{ "iconthemes" }; + QDir m_applicationThemeFolder{ "themes" }; + QDir m_catPacksFolder{ "catpacks" }; std::map<QString, std::unique_ptr<CatPack>> m_catPacks; - MainWindow* m_mainWindow; void initializeThemes(); void initializeCatPacks(); QString addTheme(std::unique_ptr<ITheme> theme); ITheme* getTheme(QString themeId); + QString addIconTheme(IconTheme theme); QString addCatPack(std::unique_ptr<CatPack> catPack); + void initializeIcons(); + void initializeWidgets(); + + const QStringList builtinIcons{ "pe_colored", "pe_light", "pe_dark", "pe_blue", "breeze_light", "breeze_dark", + "OSX", "iOS", "flat", "flat_white", "multimc" }; }; |