diff --git a/pcsx2-qt/MainWindow.cpp b/pcsx2-qt/MainWindow.cpp index a165b5082e..2436881e5f 100644 --- a/pcsx2-qt/MainWindow.cpp +++ b/pcsx2-qt/MainWindow.cpp @@ -1504,6 +1504,11 @@ void MainWindow::onToolsEditCheatsPatchesTriggered(bool cheats) void MainWindow::updateTheme() { QtHost::UpdateApplicationTheme(); + reloadThemeSpecificImages(); +} + +void MainWindow::reloadThemeSpecificImages() +{ m_game_list_widget->reloadThemeSpecificImages(); } @@ -1789,6 +1794,17 @@ void MainWindow::closeEvent(QCloseEvent* event) m_is_closing = true; } +void MainWindow::changeEvent(QEvent* event) +{ + QMainWindow::changeEvent(event); + + if (event->type() == QEvent::StyleChange) + { + QtHost::SetIconThemeFromStyle(); + reloadThemeSpecificImages(); + } +} + static QString getFilenameFromMimeData(const QMimeData* md) { QString filename; diff --git a/pcsx2-qt/MainWindow.h b/pcsx2-qt/MainWindow.h index eef59740a0..efce8b89f6 100644 --- a/pcsx2-qt/MainWindow.h +++ b/pcsx2-qt/MainWindow.h @@ -167,6 +167,7 @@ private Q_SLOTS: void onToolsCoverDownloaderTriggered(); void onToolsEditCheatsPatchesTriggered(bool cheats); void updateTheme(); + void reloadThemeSpecificImages(); void updateLanguage(); void onScreenshotActionTriggered(); void onSaveGSDumpActionTriggered(); @@ -199,6 +200,7 @@ private Q_SLOTS: protected: void showEvent(QShowEvent* event) override; void closeEvent(QCloseEvent* event) override; + void changeEvent(QEvent* event) override; void dragEnterEvent(QDragEnterEvent* event) override; void dropEvent(QDropEvent* event) override; diff --git a/pcsx2-qt/QtHost.h b/pcsx2-qt/QtHost.h index aa40243dad..0c2aaadc92 100644 --- a/pcsx2-qt/QtHost.h +++ b/pcsx2-qt/QtHost.h @@ -238,6 +238,9 @@ namespace QtHost /// Sets application theme according to settings. void UpdateApplicationTheme(); + /// Sets the icon theme, based on the current style (light/dark). + void SetIconThemeFromStyle(); + /// Sets batch mode (exit after game shutdown). bool InBatchMode(); diff --git a/pcsx2-qt/Themes.cpp b/pcsx2-qt/Themes.cpp index a8cc88d2eb..1ca8314a4b 100644 --- a/pcsx2-qt/Themes.cpp +++ b/pcsx2-qt/Themes.cpp @@ -29,7 +29,6 @@ namespace QtHost { static void SetStyleFromSettings(); - static void SetIconThemeFromStyle(); } // namespace QtHost static QString s_unthemed_style_name;