mirror of
https://github.com/stenzek/duckstation.git
synced 2026-02-15 19:04:37 +00:00
Qt: Add 'Darker Fusion' theme
This commit is contained in:
@@ -138,7 +138,7 @@ void AudioSettingsWidget::updateDriverNames()
|
||||
const AudioBackend backend = getEffectiveBackend();
|
||||
std::vector<std::pair<std::string, std::string>> names = AudioStream::GetDriverNames(backend);
|
||||
|
||||
m_ui.driver->disconnect();
|
||||
SettingWidgetBinder::DisconnectWidget(m_ui.driver);
|
||||
m_ui.driver->clear();
|
||||
if (names.empty())
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ const char* InterfaceSettingsWidget::THEME_NAMES[] = {
|
||||
QT_TRANSLATE_NOOP("MainWindow", "Fusion"),
|
||||
QT_TRANSLATE_NOOP("MainWindow", "Dark Fusion (Gray)"),
|
||||
QT_TRANSLATE_NOOP("MainWindow", "Dark Fusion (Blue)"),
|
||||
QT_TRANSLATE_NOOP("MainWindow", "Darker Fusion"),
|
||||
QT_TRANSLATE_NOOP("MainWindow", "AMOLED"),
|
||||
QT_TRANSLATE_NOOP("MainWindow", "Cobalt Sky"),
|
||||
QT_TRANSLATE_NOOP("MainWindow", "Grey Matter"),
|
||||
@@ -38,6 +39,7 @@ const char* InterfaceSettingsWidget::THEME_VALUES[] = {
|
||||
"fusion",
|
||||
"darkfusion",
|
||||
"darkfusionblue",
|
||||
"darkerfusion",
|
||||
"AMOLED",
|
||||
"cobaltsky",
|
||||
"greymatter",
|
||||
|
||||
@@ -147,6 +147,80 @@ void QtHost::SetStyleFromSettings()
|
||||
qApp->setStyleSheet(QString());
|
||||
qApp->styleHints()->setColorScheme(Qt::ColorScheme::Dark);
|
||||
}
|
||||
else if (theme == "darkerfusion")
|
||||
{
|
||||
qApp->setStyle(QStyleFactory::create("Fusion"));
|
||||
|
||||
static constexpr QColor window_color(36, 36, 36);
|
||||
static constexpr QColor base_color(43, 43, 43);
|
||||
static constexpr QColor button_color(40, 40, 40); // qt makes this lighter
|
||||
static constexpr QColor text(255, 255, 255);
|
||||
static constexpr QColor highlight_background(65, 65, 65);
|
||||
static constexpr QColor highlight_text(255, 255, 255);
|
||||
static constexpr QColor disabled_text(200, 200, 200);
|
||||
static constexpr QColor placeholder_text(200, 200, 200);
|
||||
static constexpr QColor link_text(198, 238, 255);
|
||||
|
||||
QPalette darkPalette;
|
||||
darkPalette.setColor(QPalette::Window, window_color);
|
||||
darkPalette.setColor(QPalette::WindowText, text);
|
||||
darkPalette.setColor(QPalette::Base, base_color);
|
||||
darkPalette.setColor(QPalette::AlternateBase, window_color);
|
||||
darkPalette.setColor(QPalette::ToolTipBase, window_color);
|
||||
darkPalette.setColor(QPalette::ToolTipText, text);
|
||||
darkPalette.setColor(QPalette::Text, text);
|
||||
darkPalette.setColor(QPalette::Button, button_color);
|
||||
darkPalette.setColor(QPalette::ButtonText, text);
|
||||
darkPalette.setColor(QPalette::Link, link_text);
|
||||
darkPalette.setColor(QPalette::Highlight, highlight_background);
|
||||
darkPalette.setColor(QPalette::HighlightedText, highlight_text);
|
||||
darkPalette.setColor(QPalette::PlaceholderText, placeholder_text);
|
||||
|
||||
darkPalette.setColor(QPalette::Active, QPalette::Button, button_color);
|
||||
darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, disabled_text);
|
||||
darkPalette.setColor(QPalette::Disabled, QPalette::WindowText, disabled_text);
|
||||
darkPalette.setColor(QPalette::Disabled, QPalette::Text, disabled_text);
|
||||
darkPalette.setColor(QPalette::Disabled, QPalette::Light, window_color);
|
||||
|
||||
qApp->setPalette(darkPalette);
|
||||
qApp->setStyleSheet(QString());
|
||||
qApp->styleHints()->setColorScheme(Qt::ColorScheme::Dark);
|
||||
|
||||
// menus are by far the ugliest part of fusion, so we style them manually
|
||||
const QString stylesheet = QStringLiteral(R"(
|
||||
QMenu {
|
||||
border: 1px solid #444;
|
||||
border-radius: 8px;
|
||||
padding: 6px 10px;
|
||||
background-color: #232323;
|
||||
}
|
||||
QMenu::item {
|
||||
padding: 6px 10px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
QMenu::item:selected {
|
||||
background-color: #414141;
|
||||
}
|
||||
QMenuBar::item {
|
||||
padding: 4px 6px;
|
||||
border-radius: 6px;
|
||||
}
|
||||
QMenuBar::item:selected, QMenuBar::item:pressed {
|
||||
background: #414141;
|
||||
border-radius: 4px;
|
||||
}
|
||||
QToolTip {
|
||||
color: #ffffff;
|
||||
background-color: #232323;
|
||||
border: 1px solid #444;
|
||||
border-radius: 6px;
|
||||
padding: 2px;
|
||||
}
|
||||
)");
|
||||
|
||||
qApp->setStyleSheet(stylesheet);
|
||||
|
||||
}
|
||||
else if (theme == "cobaltsky")
|
||||
{
|
||||
// Custom palette by KamFretoZ, A soothing deep royal blue
|
||||
|
||||
Reference in New Issue
Block a user