|
|
@ -545,44 +545,40 @@ void GameList::AddGamePopup(QMenu& context_menu, u64 program_id, const std::stri |
|
|
// TODO(crueter): Refactor this and make it less bad
|
|
|
// TODO(crueter): Refactor this and make it less bad
|
|
|
QAction* favorite = context_menu.addAction(tr("Favorite")); |
|
|
QAction* favorite = context_menu.addAction(tr("Favorite")); |
|
|
context_menu.addSeparator(); |
|
|
context_menu.addSeparator(); |
|
|
QAction* start_game = context_menu.addAction(tr("Start Game")); |
|
|
|
|
|
QAction* start_game_global = |
|
|
|
|
|
context_menu.addAction(tr("Start Game without Custom Configuration")); |
|
|
|
|
|
|
|
|
QAction* start_game = context_menu.addAction(tr("Start")); |
|
|
|
|
|
QAction* start_game_global = context_menu.addAction(tr("Start with Global Settings")); |
|
|
context_menu.addSeparator(); |
|
|
context_menu.addSeparator(); |
|
|
QAction* open_save_location = context_menu.addAction(tr("Open Save Data Location")); |
|
|
QAction* open_save_location = context_menu.addAction(tr("Open Save Data Location")); |
|
|
QAction* open_mod_location = context_menu.addAction(tr("Open Mod Data Location")); |
|
|
QAction* open_mod_location = context_menu.addAction(tr("Open Mod Data Location")); |
|
|
QAction* open_transferable_shader_cache = |
|
|
|
|
|
context_menu.addAction(tr("Open Transferable Pipeline Cache")); |
|
|
|
|
|
QAction* ryujinx = context_menu.addAction(tr("Link to Ryujinx")); |
|
|
|
|
|
|
|
|
QAction* properties = context_menu.addAction(tr("Configure Game")); |
|
|
context_menu.addSeparator(); |
|
|
context_menu.addSeparator(); |
|
|
QMenu* remove_menu = context_menu.addMenu(tr("Remove")); |
|
|
|
|
|
QAction* remove_update = remove_menu->addAction(tr("Remove Installed Update")); |
|
|
|
|
|
QAction* remove_dlc = remove_menu->addAction(tr("Remove All Installed DLC")); |
|
|
|
|
|
QAction* remove_custom_config = remove_menu->addAction(tr("Remove Custom Configuration")); |
|
|
|
|
|
QAction* remove_cache_storage = remove_menu->addAction(tr("Remove Cache Storage")); |
|
|
|
|
|
QAction* remove_gl_shader_cache = remove_menu->addAction(tr("Remove OpenGL Pipeline Cache")); |
|
|
|
|
|
QAction* remove_vk_shader_cache = remove_menu->addAction(tr("Remove Vulkan Pipeline Cache")); |
|
|
|
|
|
remove_menu->addSeparator(); |
|
|
|
|
|
QAction* remove_shader_cache = remove_menu->addAction(tr("Remove All Pipeline Caches")); |
|
|
|
|
|
QAction* remove_all_content = remove_menu->addAction(tr("Remove All Installed Contents")); |
|
|
|
|
|
QMenu* play_time_menu = context_menu.addMenu(tr("Manage Play Time")); |
|
|
|
|
|
QAction* set_play_time = play_time_menu->addAction(tr("Edit Play Time Data")); |
|
|
|
|
|
QAction* remove_play_time_data = play_time_menu->addAction(tr("Remove Play Time Data")); |
|
|
|
|
|
QMenu* dump_romfs_menu = context_menu.addMenu(tr("Dump RomFS")); |
|
|
|
|
|
QAction* dump_romfs = dump_romfs_menu->addAction(tr("Dump RomFS")); |
|
|
|
|
|
QAction* dump_romfs_sdmc = dump_romfs_menu->addAction(tr("Dump RomFS to SDMC")); |
|
|
|
|
|
QAction* verify_integrity = context_menu.addAction(tr("Verify Integrity")); |
|
|
|
|
|
QAction* copy_tid = context_menu.addAction(tr("Copy Title ID to Clipboard")); |
|
|
|
|
|
QAction* navigate_to_gamedb_entry = context_menu.addAction(tr("Navigate to GameDB entry")); |
|
|
|
|
|
|
|
|
QMenu* shader_cache_menu = context_menu.addMenu(tr("Shader Cache")); |
|
|
|
|
|
QAction* open_transferable_shader_cache = shader_cache_menu->addAction(tr("Open Pipeline Cache")); |
|
|
|
|
|
QAction* remove_shader_cache = shader_cache_menu->addAction(tr("Remove All Pipeline Caches")); |
|
|
|
|
|
QAction* remove_gl_shader_cache = shader_cache_menu->addAction(tr("Remove OpenGL Pipeline Cache")); |
|
|
|
|
|
QAction* remove_vk_shader_cache = shader_cache_menu->addAction(tr("Remove Vulkan Pipeline Cache")); |
|
|
|
|
|
QMenu* storage_menu = context_menu.addMenu(tr("Storage")); |
|
|
|
|
|
QAction* remove_all_content = storage_menu->addAction(tr("Remove All Installed Contents")); |
|
|
|
|
|
QAction* remove_cache_storage = storage_menu->addAction(tr("Remove Cache Storage")); |
|
|
|
|
|
QAction* remove_update = storage_menu->addAction(tr("Remove Installed Update")); |
|
|
|
|
|
QAction* remove_dlc = storage_menu->addAction(tr("Remove All Installed DLC")); |
|
|
|
|
|
QAction* remove_custom_config = storage_menu->addAction(tr("Remove Custom Settings")); |
|
|
|
|
|
QAction* dump_romfs = storage_menu->addAction(tr("Dump RomFS")); |
|
|
|
|
|
QAction* dump_romfs_sdmc = storage_menu->addAction(tr("Dump RomFS to SDMC")); |
|
|
|
|
|
QAction* ryujinx = context_menu.addAction(tr("Link to Ryujinx")); |
|
|
|
|
|
QMenu* play_time_menu = context_menu.addMenu(tr("Play Time")); |
|
|
|
|
|
QAction* set_play_time = play_time_menu->addAction(tr("Edit")); |
|
|
|
|
|
QAction* remove_play_time_data = play_time_menu->addAction(tr("Clear")); |
|
|
// TODO: Implement shortcut creation for macOS
|
|
|
// TODO: Implement shortcut creation for macOS
|
|
|
#if !defined(__APPLE__)
|
|
|
#if !defined(__APPLE__)
|
|
|
QMenu* shortcut_menu = context_menu.addMenu(tr("Create Shortcut")); |
|
|
QMenu* shortcut_menu = context_menu.addMenu(tr("Create Shortcut")); |
|
|
QAction* create_desktop_shortcut = shortcut_menu->addAction(tr("Add to Desktop")); |
|
|
QAction* create_desktop_shortcut = shortcut_menu->addAction(tr("Add to Desktop")); |
|
|
QAction* create_applications_menu_shortcut = |
|
|
|
|
|
shortcut_menu->addAction(tr("Add to Applications Menu")); |
|
|
|
|
|
|
|
|
QAction* create_applications_menu_shortcut = shortcut_menu->addAction(tr("Add to Applications Menu")); |
|
|
#endif
|
|
|
#endif
|
|
|
context_menu.addSeparator(); |
|
|
context_menu.addSeparator(); |
|
|
QAction* properties = context_menu.addAction(tr("Configure Game")); |
|
|
|
|
|
|
|
|
QAction* verify_integrity = context_menu.addAction(tr("Verify Integrity")); |
|
|
|
|
|
QAction* copy_tid = context_menu.addAction(tr("Copy Title ID")); |
|
|
|
|
|
QAction* navigate_to_gamedb_entry = context_menu.addAction(tr("View on GameDB")); |
|
|
|
|
|
|
|
|
favorite->setVisible(program_id != 0); |
|
|
favorite->setVisible(program_id != 0); |
|
|
favorite->setCheckable(true); |
|
|
favorite->setCheckable(true); |
|
|
@ -603,10 +599,12 @@ void GameList::AddGamePopup(QMenu& context_menu, u64 program_id, const std::stri |
|
|
connect(open_save_location, &QAction::triggered, [this, program_id, path]() { |
|
|
connect(open_save_location, &QAction::triggered, [this, program_id, path]() { |
|
|
emit OpenFolderRequested(program_id, GameListOpenTarget::SaveData, path); |
|
|
emit OpenFolderRequested(program_id, GameListOpenTarget::SaveData, path); |
|
|
}); |
|
|
}); |
|
|
connect(start_game, &QAction::triggered, |
|
|
|
|
|
[this, path]() { emit BootGame(QString::fromStdString(path), StartGameType::Normal); }); |
|
|
|
|
|
connect(start_game_global, &QAction::triggered, |
|
|
|
|
|
[this, path]() { emit BootGame(QString::fromStdString(path), StartGameType::Global); }); |
|
|
|
|
|
|
|
|
connect(start_game, &QAction::triggered, [this, path]() { |
|
|
|
|
|
emit BootGame(QString::fromStdString(path), StartGameType::Normal); |
|
|
|
|
|
}); |
|
|
|
|
|
connect(start_game_global, &QAction::triggered, [this, path]() { |
|
|
|
|
|
emit BootGame(QString::fromStdString(path), StartGameType::Global); |
|
|
|
|
|
}); |
|
|
connect(open_mod_location, &QAction::triggered, [this, program_id, path]() { |
|
|
connect(open_mod_location, &QAction::triggered, [this, program_id, path]() { |
|
|
emit OpenFolderRequested(program_id, GameListOpenTarget::ModData, path); |
|
|
emit OpenFolderRequested(program_id, GameListOpenTarget::ModData, path); |
|
|
}); |
|
|
}); |
|
|
@ -633,10 +631,12 @@ void GameList::AddGamePopup(QMenu& context_menu, u64 program_id, const std::stri |
|
|
connect(remove_custom_config, &QAction::triggered, [this, program_id, path]() { |
|
|
connect(remove_custom_config, &QAction::triggered, [this, program_id, path]() { |
|
|
emit RemoveFileRequested(program_id, QtCommon::Game::GameListRemoveTarget::CustomConfiguration, path); |
|
|
emit RemoveFileRequested(program_id, QtCommon::Game::GameListRemoveTarget::CustomConfiguration, path); |
|
|
}); |
|
|
}); |
|
|
connect(set_play_time, &QAction::triggered, |
|
|
|
|
|
[this, program_id]() { emit SetPlayTimeRequested(program_id); }); |
|
|
|
|
|
connect(remove_play_time_data, &QAction::triggered, |
|
|
|
|
|
[this, program_id]() { emit RemovePlayTimeRequested(program_id); }); |
|
|
|
|
|
|
|
|
connect(set_play_time, &QAction::triggered, [this, program_id]() { |
|
|
|
|
|
emit SetPlayTimeRequested(program_id); |
|
|
|
|
|
}); |
|
|
|
|
|
connect(remove_play_time_data, &QAction::triggered, [this, program_id]() { |
|
|
|
|
|
emit RemovePlayTimeRequested(program_id); |
|
|
|
|
|
}); |
|
|
connect(remove_cache_storage, &QAction::triggered, [this, program_id, path] { |
|
|
connect(remove_cache_storage, &QAction::triggered, [this, program_id, path] { |
|
|
emit RemoveFileRequested(program_id, QtCommon::Game::GameListRemoveTarget::CacheStorage, path); |
|
|
emit RemoveFileRequested(program_id, QtCommon::Game::GameListRemoveTarget::CacheStorage, path); |
|
|
}); |
|
|
}); |
|
|
|