mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 16:00:08 +00:00
Change how new fusion styles are selected
This commit is contained in:
parent
5c57ae0edc
commit
57d65cf086
4 changed files with 71 additions and 10 deletions
|
|
@ -70,7 +70,13 @@
|
||||||
<file>res/palettes/wct/SW.pal</file>
|
<file>res/palettes/wct/SW.pal</file>
|
||||||
<file>res/palettes/wct/VIL.pal</file>
|
<file>res/palettes/wct/VIL.pal</file>
|
||||||
<file>res/palettes/wct/ZDR.pal</file>
|
<file>res/palettes/wct/ZDR.pal</file>
|
||||||
|
<file>res/qt6ct_colors/airy.conf</file>
|
||||||
<file>res/qt6ct_colors/darker.conf</file>
|
<file>res/qt6ct_colors/darker.conf</file>
|
||||||
|
<file>res/qt6ct_colors/dusk.conf</file>
|
||||||
|
<file>res/qt6ct_colors/ia_ora.conf</file>
|
||||||
|
<file>res/qt6ct_colors/sand.conf</file>
|
||||||
|
<file>res/qt6ct_colors/simple.conf</file>
|
||||||
|
<file>res/qt6ct_colors/waves.conf</file>
|
||||||
<file>res/textures/lines/default-1x7.png</file>
|
<file>res/textures/lines/default-1x7.png</file>
|
||||||
<file>res/textures/lines/test-pattern.png</file>
|
<file>res/textures/lines/test-pattern.png</file>
|
||||||
<file>res/textures/images/cursor-17.png</file>
|
<file>res/textures/images/cursor-17.png</file>
|
||||||
|
|
|
||||||
|
|
@ -166,10 +166,24 @@ static void ConfigureTheme(const std::vector<std::string>& args)
|
||||||
|
|
||||||
QGuiApplication::styleHints()->setColorScheme(qtColorScheme);
|
QGuiApplication::styleHints()->setColorScheme(qtColorScheme);
|
||||||
|
|
||||||
if (uiStyle == scwx::qt::types::UiStyle::FusionQt6Ct)
|
std::optional<std::string> paletteFile =
|
||||||
|
scwx::qt::types::GetQtPaletteFile(uiStyle);
|
||||||
|
if (paletteFile)
|
||||||
{
|
{
|
||||||
QPalette palette = Qt6CT::loadColorScheme(":res/qt6ct_colors/darker.conf",
|
QPalette defaultPalette = QApplication::style()->standardPalette();
|
||||||
QApplication::style()->standardPalette());;
|
QPalette palette =
|
||||||
|
Qt6CT::loadColorScheme(QString::fromStdString(*paletteFile),
|
||||||
|
defaultPalette);
|
||||||
|
|
||||||
|
if (defaultPalette == palette)
|
||||||
|
{
|
||||||
|
logger_->warn("Failed to load palette file '{}'", *paletteFile);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
logger_->info("Loaded palette file '{}'", *paletteFile);
|
||||||
|
}
|
||||||
|
|
||||||
QApplication::setPalette(palette);
|
QApplication::setPalette(palette);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,12 @@ static const std::unordered_map<UiStyle, std::string> qtStyleName_ {
|
||||||
{UiStyle::Fusion, "Fusion"},
|
{UiStyle::Fusion, "Fusion"},
|
||||||
{UiStyle::FusionLight, "Fusion"},
|
{UiStyle::FusionLight, "Fusion"},
|
||||||
{UiStyle::FusionDark, "Fusion"},
|
{UiStyle::FusionDark, "Fusion"},
|
||||||
{UiStyle::FusionQt6Ct, "Fusion"},
|
{UiStyle::FusionAiry, "Fusion"},
|
||||||
|
{UiStyle::FusionDarker, "Fusion"},
|
||||||
|
{UiStyle::FusionDusk, "Fusion"},
|
||||||
|
{UiStyle::FusionIaOra, "Fusion"},
|
||||||
|
{UiStyle::FusionSand, "Fusion"},
|
||||||
|
{UiStyle::FusionWaves, "Fusion"},
|
||||||
{UiStyle::Unknown, "?"}};
|
{UiStyle::Unknown, "?"}};
|
||||||
|
|
||||||
static const std::unordered_map<UiStyle, std::string> uiStyleName_ {
|
static const std::unordered_map<UiStyle, std::string> uiStyleName_ {
|
||||||
|
|
@ -23,7 +28,12 @@ static const std::unordered_map<UiStyle, std::string> uiStyleName_ {
|
||||||
{UiStyle::Fusion, "Fusion"},
|
{UiStyle::Fusion, "Fusion"},
|
||||||
{UiStyle::FusionLight, "Fusion Light"},
|
{UiStyle::FusionLight, "Fusion Light"},
|
||||||
{UiStyle::FusionDark, "Fusion Dark"},
|
{UiStyle::FusionDark, "Fusion Dark"},
|
||||||
{UiStyle::FusionQt6Ct, "Fusion with qt6ct Palette"},
|
{UiStyle::FusionAiry, "Fusion Airy"},
|
||||||
|
{UiStyle::FusionDarker, "Fusion Darker"},
|
||||||
|
{UiStyle::FusionDusk, "Fusion Dusk"},
|
||||||
|
{UiStyle::FusionIaOra, "Fusion IA Ora"},
|
||||||
|
{UiStyle::FusionSand, "Fusion Sand"},
|
||||||
|
{UiStyle::FusionWaves, "Fusion Waves"},
|
||||||
{UiStyle::Unknown, "?"}};
|
{UiStyle::Unknown, "?"}};
|
||||||
|
|
||||||
static const std::unordered_map<UiStyle, Qt::ColorScheme> qtColorSchemeMap_ {
|
static const std::unordered_map<UiStyle, Qt::ColorScheme> qtColorSchemeMap_ {
|
||||||
|
|
@ -31,9 +41,22 @@ static const std::unordered_map<UiStyle, Qt::ColorScheme> qtColorSchemeMap_ {
|
||||||
{UiStyle::Fusion, Qt::ColorScheme::Unknown},
|
{UiStyle::Fusion, Qt::ColorScheme::Unknown},
|
||||||
{UiStyle::FusionLight, Qt::ColorScheme::Light},
|
{UiStyle::FusionLight, Qt::ColorScheme::Light},
|
||||||
{UiStyle::FusionDark, Qt::ColorScheme::Dark},
|
{UiStyle::FusionDark, Qt::ColorScheme::Dark},
|
||||||
{UiStyle::FusionQt6Ct, Qt::ColorScheme::Unknown},
|
{UiStyle::FusionAiry, Qt::ColorScheme::Unknown},
|
||||||
|
{UiStyle::FusionDarker, Qt::ColorScheme::Unknown},
|
||||||
|
{UiStyle::FusionDusk, Qt::ColorScheme::Unknown},
|
||||||
|
{UiStyle::FusionIaOra, Qt::ColorScheme::Unknown},
|
||||||
|
{UiStyle::FusionSand, Qt::ColorScheme::Unknown},
|
||||||
|
{UiStyle::FusionWaves, Qt::ColorScheme::Unknown},
|
||||||
{UiStyle::Unknown, Qt::ColorScheme::Unknown}};
|
{UiStyle::Unknown, Qt::ColorScheme::Unknown}};
|
||||||
|
|
||||||
|
static const std::unordered_map<UiStyle, std::string> paletteFile_ {
|
||||||
|
{UiStyle::FusionAiry, ":res/qt6ct_colors/airy.conf"},
|
||||||
|
{UiStyle::FusionDarker, ":res/qt6ct_colors/darker.conf"},
|
||||||
|
{UiStyle::FusionDusk, ":res/qt6ct_colors/dusk.conf"},
|
||||||
|
{UiStyle::FusionIaOra, ":res/qt6ct_colors/ia_ora.conf"},
|
||||||
|
{UiStyle::FusionSand, ":res/qt6ct_colors/sand.conf"},
|
||||||
|
{UiStyle::FusionWaves, ":res/qt6ct_colors/waves.conf"}};
|
||||||
|
|
||||||
SCWX_GET_ENUM(UiStyle, GetUiStyle, uiStyleName_)
|
SCWX_GET_ENUM(UiStyle, GetUiStyle, uiStyleName_)
|
||||||
|
|
||||||
Qt::ColorScheme GetQtColorScheme(UiStyle uiStyle)
|
Qt::ColorScheme GetQtColorScheme(UiStyle uiStyle)
|
||||||
|
|
@ -46,6 +69,16 @@ std::string GetQtStyleName(UiStyle uiStyle)
|
||||||
return qtStyleName_.at(uiStyle);
|
return qtStyleName_.at(uiStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::optional<std::string> GetQtPaletteFile(UiStyle uiStyle)
|
||||||
|
{
|
||||||
|
if (paletteFile_.contains(uiStyle))
|
||||||
|
{
|
||||||
|
return paletteFile_.at(uiStyle);
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::nullopt;
|
||||||
|
}
|
||||||
|
|
||||||
std::string GetUiStyleName(UiStyle uiStyle)
|
std::string GetUiStyleName(UiStyle uiStyle)
|
||||||
{
|
{
|
||||||
return uiStyleName_.at(uiStyle);
|
return uiStyleName_.at(uiStyle);
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include <scwx/util/iterator.hpp>
|
#include <scwx/util/iterator.hpp>
|
||||||
|
|
||||||
|
#include <optional>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include <Qt>
|
#include <Qt>
|
||||||
|
|
@ -26,15 +27,22 @@ enum class UiStyle
|
||||||
Fusion,
|
Fusion,
|
||||||
FusionLight,
|
FusionLight,
|
||||||
FusionDark,
|
FusionDark,
|
||||||
FusionQt6Ct,
|
FusionAiry,
|
||||||
|
FusionDarker,
|
||||||
|
FusionDusk,
|
||||||
|
FusionIaOra,
|
||||||
|
FusionSand,
|
||||||
|
FusionWaves,
|
||||||
Unknown
|
Unknown
|
||||||
};
|
};
|
||||||
typedef scwx::util::Iterator<UiStyle, UiStyle::Default, UiStyle::FusionQt6Ct>
|
typedef scwx::util::Iterator<UiStyle, UiStyle::Default, UiStyle::FusionWaves>
|
||||||
UiStyleIterator;
|
UiStyleIterator;
|
||||||
|
|
||||||
Qt::ColorScheme GetQtColorScheme(UiStyle uiStyle);
|
Qt::ColorScheme GetQtColorScheme(UiStyle uiStyle);
|
||||||
std::string GetQtStyleName(UiStyle uiStyle);
|
std::string GetQtStyleName(UiStyle uiStyle);
|
||||||
|
|
||||||
|
std::optional<std::string> GetQtPaletteFile(UiStyle uiStyle);
|
||||||
|
|
||||||
UiStyle GetUiStyle(const std::string& name);
|
UiStyle GetUiStyle(const std::string& name);
|
||||||
std::string GetUiStyleName(UiStyle uiStyle);
|
std::string GetUiStyleName(UiStyle uiStyle);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue