diff --git a/src/duckstation-qt/interfacesettingswidget.cpp b/src/duckstation-qt/interfacesettingswidget.cpp index 66c96ca90..9761a8352 100644 --- a/src/duckstation-qt/interfacesettingswidget.cpp +++ b/src/duckstation-qt/interfacesettingswidget.cpp @@ -17,12 +17,12 @@ const char* InterfaceSettingsWidget::THEME_NAMES[] = { QT_TRANSLATE_NOOP("MainWindow", "Cobalt Sky"), QT_TRANSLATE_NOOP("MainWindow", "Grey Matter"), QT_TRANSLATE_NOOP("MainWindow", "Dark Ruby"), - QT_TRANSLATE_NOOP("MainWindow", "QDarkStyle"), + QT_TRANSLATE_NOOP("MainWindow", "Purplerain"), nullptr, }; const char* InterfaceSettingsWidget::THEME_VALUES[] = { - "", "fusion", "darkfusion", "darkfusionblue", "cobaltsky","greymatter", "darkruby", "qdarkstyle", nullptr, + "","fusion", "darkfusion", "darkfusionblue", "cobaltsky", "greymatter", "darkruby", "purplerain", nullptr, }; const char* InterfaceSettingsWidget::DEFAULT_THEME_NAME = "darkfusion"; @@ -118,4 +118,4 @@ InterfaceSettingsWidget::~InterfaceSettingsWidget() = default; void InterfaceSettingsWidget::onRenderToSeparateWindowChanged() { m_ui.hideMainWindow->setEnabled(m_ui.renderToSeparateWindow->isChecked()); -} +} \ No newline at end of file diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index bbbc341c0..53259e2ed 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -2391,6 +2391,39 @@ void MainWindow::setStyleFromSettings() qApp->setPalette(darkPalette); } + else if (theme == "purplerain") + { + qApp->setStyle(QStyleFactory::create("Fusion")); + + const QColor darkPurple(73, 41, 121); + const QColor darkerPurple(53, 29, 87); + const QColor gold(250, 207, 0); + + QPalette darkPalette; + darkPalette.setColor(QPalette::Window, darkPurple); + darkPalette.setColor(QPalette::WindowText, Qt::white); + darkPalette.setColor(QPalette::Base, darkerPurple); + darkPalette.setColor(QPalette::AlternateBase, darkPurple); + darkPalette.setColor(QPalette::ToolTipBase, darkPurple); + darkPalette.setColor(QPalette::ToolTipText, Qt::white); + darkPalette.setColor(QPalette::Text, Qt::white); + darkPalette.setColor(QPalette::Button, darkerPurple); + darkPalette.setColor(QPalette::ButtonText, Qt::white); + darkPalette.setColor(QPalette::Link, gold); + darkPalette.setColor(QPalette::Highlight, gold); + darkPalette.setColor(QPalette::HighlightedText, Qt::black); + darkPalette.setColor(QPalette::PlaceholderText, QColor(Qt::white).darker()); + + darkPalette.setColor(QPalette::Active, QPalette::Button, darkerPurple); + darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, darkPurple.lighter()); + darkPalette.setColor(QPalette::Disabled, QPalette::WindowText, darkPurple.lighter()); + darkPalette.setColor(QPalette::Disabled, QPalette::Text, darkPurple.lighter()); + darkPalette.setColor(QPalette::Disabled, QPalette::Light, darkPurple); + + qApp->setPalette(darkPalette); + + qApp->setStyleSheet("QToolTip { color: #ffffff; background-color: #505a70; border: 1px solid white; }"); + } else { qApp->setStyle(s_unthemed_style_name); @@ -3142,4 +3175,4 @@ void MainWindow::SystemLock::cancelResume() { m_was_paused = true; m_was_fullscreen = false; -} +} \ No newline at end of file