Qt: Add "Configure Game Patches" to game list (#9154)

This commit is contained in:
Megamouse 2020-10-29 07:02:05 +01:00 committed by GitHub
parent ea1cdbfdd8
commit 59b3a3d26b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 19 additions and 3 deletions

View file

@ -12,6 +12,7 @@
#include "gui_settings.h"
#include "game_list.h"
#include "game_list_grid.h"
#include "patch_manager_dialog.h"
#include "Emu/Memory/vm.h"
#include "Emu/System.h"
@ -916,6 +917,7 @@ void game_list_frame::ShowContextMenu(const QPoint &pos)
QAction* pad_configure = menu.addAction(gameinfo->hasCustomPadConfig
? tr("&Change Custom Gamepad Configuration")
: tr("&Create Custom Gamepad Configuration"));
QAction* configure_patches = menu.addAction(tr("&Configure Game Patches"));
QAction* create_ppu_cache = menu.addAction(tr("&Create PPU Cache"));
menu.addSeparator();
QAction* rename_title = menu.addAction(tr("&Rename In Game List"));
@ -1095,6 +1097,19 @@ void game_list_frame::ShowContextMenu(const QPoint &pos)
}
}
});
connect(configure_patches, &QAction::triggered, [this, current_game, gameinfo]()
{
std::unordered_map<std::string, std::set<std::string>> games;
for (const auto& game : m_game_data)
{
if (game)
{
games[game->info.serial].insert(game_list_frame::GetGameVersion(game));
}
}
patch_manager_dialog patch_manager(m_gui_settings, games, current_game.serial, this);
patch_manager.exec();
});
connect(open_game_folder, &QAction::triggered, [current_game]()
{
gui::utils::open_dir(current_game.path);