diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index ed285f7ba..2a5cb3a7f 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -695,6 +695,7 @@ void MainWindow::connectSignals() connect(m_ui.actionAbout, &QAction::triggered, this, &MainWindow::onAboutActionTriggered); connect(m_ui.actionCheckForUpdates, &QAction::triggered, this, &MainWindow::onCheckForUpdatesActionTriggered); connect(m_ui.actionMemory_Card_Editor, &QAction::triggered, this, &MainWindow::onToolsMemoryCardEditorTriggered); + connect(m_ui.actionOpenDataDirectory, &QAction::triggered, this, &MainWindow::onToolsOpenDataDirectoryTriggered); connect(m_ui.actionGridViewShowTitles, &QAction::triggered, m_game_list_widget, &GameListWidget::setShowCoverTitles); connect(m_ui.actionGridViewZoomIn, &QAction::triggered, m_game_list_widget, [this]() { if (isShowingGameList()) @@ -766,7 +767,9 @@ void MainWindow::connectSignals() "ShowMDECState"); addThemeToMenu(tr("Default"), QStringLiteral("default")); - addThemeToMenu(tr("DarkFusion"), QStringLiteral("darkfusion")); + addThemeToMenu(tr("Fusion"), QStringLiteral("fusion")); + addThemeToMenu(tr("Dark Fusion (Gray)"), QStringLiteral("darkfusion")); + addThemeToMenu(tr("Dark Fusion (Blue)"), QStringLiteral("darkfusionblue")); addThemeToMenu(tr("QDarkStyle"), QStringLiteral("qdarkstyle")); } @@ -796,6 +799,12 @@ void MainWindow::updateTheme() if (f.open(QFile::ReadOnly | QFile::Text)) qApp->setStyleSheet(f.readAll()); } + else if (theme == QStringLiteral("fusion")) + { + qApp->setPalette(QApplication::style()->standardPalette()); + qApp->setStyleSheet(QString()); + qApp->setStyle(QStyleFactory::create("Fusion")); + } else if (theme == QStringLiteral("darkfusion")) { // adapted from https://gist.github.com/QuantumCD/6245215 @@ -831,6 +840,42 @@ void MainWindow::updateTheme() qApp->setStyleSheet("QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }"); } + else if (theme == QStringLiteral("darkfusionblue")) + { + // adapted from https://gist.github.com/QuantumCD/6245215 + qApp->setStyle(QStyleFactory::create("Fusion")); + + const QColor lighterGray(75, 75, 75); + const QColor darkGray(53, 53, 53); + const QColor gray(128, 128, 128); + const QColor black(25, 25, 25); + const QColor blue(198, 238, 255); + const QColor blue2(0, 88, 208); + + QPalette darkPalette; + darkPalette.setColor(QPalette::Window, darkGray); + darkPalette.setColor(QPalette::WindowText, Qt::white); + darkPalette.setColor(QPalette::Base, black); + darkPalette.setColor(QPalette::AlternateBase, darkGray); + darkPalette.setColor(QPalette::ToolTipBase, blue2); + darkPalette.setColor(QPalette::ToolTipText, Qt::white); + darkPalette.setColor(QPalette::Text, Qt::white); + darkPalette.setColor(QPalette::Button, darkGray); + darkPalette.setColor(QPalette::ButtonText, Qt::white); + darkPalette.setColor(QPalette::Link, blue); + darkPalette.setColor(QPalette::Highlight, blue2); + darkPalette.setColor(QPalette::HighlightedText, Qt::white); + + darkPalette.setColor(QPalette::Active, QPalette::Button, gray.darker()); + darkPalette.setColor(QPalette::Disabled, QPalette::ButtonText, gray); + darkPalette.setColor(QPalette::Disabled, QPalette::WindowText, gray); + darkPalette.setColor(QPalette::Disabled, QPalette::Text, gray); + darkPalette.setColor(QPalette::Disabled, QPalette::Light, darkGray); + + qApp->setPalette(darkPalette); + + qApp->setStyleSheet("QToolTip { color: #ffffff; background-color: #2a82da; border: 1px solid white; }"); + } else { qApp->setPalette(QApplication::style()->standardPalette()); @@ -1001,6 +1046,11 @@ void MainWindow::onToolsMemoryCardEditorTriggered() m_memory_card_editor_dialog->show(); } +void MainWindow::onToolsOpenDataDirectoryTriggered() +{ + QtUtils::OpenURL(this, QUrl::fromLocalFile(m_host_interface->getUserDirectoryRelativePath(QString()))); +} + void MainWindow::checkForUpdates(bool display_message) { if (!AutoUpdaterDialog::isSupported()) diff --git a/src/duckstation-qt/mainwindow.h b/src/duckstation-qt/mainwindow.h index 8fb73089c..d39bd5903 100644 --- a/src/duckstation-qt/mainwindow.h +++ b/src/duckstation-qt/mainwindow.h @@ -75,6 +75,7 @@ private Q_SLOTS: void onAboutActionTriggered(); void onCheckForUpdatesActionTriggered(); void onToolsMemoryCardEditorTriggered(); + void onToolsOpenDataDirectoryTriggered(); void onGameListEntrySelected(const GameListEntry* entry); void onGameListEntryDoubleClicked(const GameListEntry* entry); diff --git a/src/duckstation-qt/mainwindow.ui b/src/duckstation-qt/mainwindow.ui index c73e064be..1a361898b 100644 --- a/src/duckstation-qt/mainwindow.ui +++ b/src/duckstation-qt/mainwindow.ui @@ -196,6 +196,8 @@ &Tools + + @@ -712,6 +714,16 @@ Refresh &Covers (Grid View) + + + Open Memory Card Directory... + + + + + Open Data Directory... + +