diff --git a/src/yuzu/configuration/configure_per_game.cpp b/src/yuzu/configuration/configure_per_game.cpp index e49978414c..a7d0706cc9 100644 --- a/src/yuzu/configuration/configure_per_game.cpp +++ b/src/yuzu/configuration/configure_per_game.cpp @@ -87,6 +87,9 @@ ConfigurePerGame::ConfigurePerGame(QWidget* parent, u64 title_id_, const std::st addons_tab->SetTitleId(title_id); + connect(addons_tab.get(), &ConfigurePerGameAddons::RefreshGameList, this, + &ConfigurePerGame::RefreshGameList); + scene = new QGraphicsScene; ui->icon_view->setScene(scene); diff --git a/src/yuzu/configuration/configure_per_game.h b/src/yuzu/configuration/configure_per_game.h index e4d18f29b9..c6c803d13b 100644 --- a/src/yuzu/configuration/configure_per_game.h +++ b/src/yuzu/configuration/configure_per_game.h @@ -64,6 +64,9 @@ public: void LoadFromFile(FileSys::VirtualFile file_); +signals: + void RefreshGameList(); + private: void changeEvent(QEvent* event) override; void RetranslateUI(); diff --git a/src/yuzu/configuration/configure_per_game_addons.cpp b/src/yuzu/configuration/configure_per_game_addons.cpp index 98dc6835d1..98ece16520 100644 --- a/src/yuzu/configuration/configure_per_game_addons.cpp +++ b/src/yuzu/configuration/configure_per_game_addons.cpp @@ -119,6 +119,7 @@ void ConfigurePerGameAddons::InstallModFolder() { QtCommon::Frontend::Information(tr("Mod Installed"), tr("Mod was successfully installed.")); item_model->removeRows(0, item_model->rowCount()); list_items.clear(); + emit RefreshGameList(); LoadConfiguration(); break; case FrontendCommon::Failed: @@ -148,6 +149,7 @@ void ConfigurePerGameAddons::InstallModZip() { QtCommon::Frontend::Information(tr("Mod Installed"), tr("Mod was successfully installed.")); item_model->removeRows(0, item_model->rowCount()); list_items.clear(); + emit RefreshGameList(); LoadConfiguration(); break; case FrontendCommon::Failed: diff --git a/src/yuzu/configuration/configure_per_game_addons.h b/src/yuzu/configuration/configure_per_game_addons.h index 1813d1660e..6d66a2a77b 100644 --- a/src/yuzu/configuration/configure_per_game_addons.h +++ b/src/yuzu/configuration/configure_per_game_addons.h @@ -42,6 +42,10 @@ public: public slots: void InstallModFolder(); void InstallModZip(); + +signals: + void RefreshGameList(); + private: void changeEvent(QEvent* event) override; void RetranslateUI(); diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index b64ef4848c..bc544ab93e 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -3656,6 +3656,8 @@ void MainWindow::OpenPerGameConfiguration(u64 title_id, const std::string& file_ Settings::SetConfiguringGlobal(false); ConfigurePerGame dialog(this, title_id, file_name, vk_device_records, *QtCommon::system); dialog.LoadFromFile(v_file); + + connect(&dialog, &ConfigurePerGame::RefreshGameList, this, &MainWindow::OnGameListRefresh); const auto result = dialog.exec(); if (result != QDialog::Accepted && !UISettings::values.configuration_applied) {