Qt: disable VSH boot if not installed

This commit is contained in:
Megamouse 2021-07-27 01:29:14 +02:00
parent 0a7a12bbff
commit 56d46b5a49
2 changed files with 8 additions and 2 deletions

View File

@ -1613,7 +1613,7 @@ bool game_list_frame::RemoveSPUCache(const std::string& base_dir, bool is_intera
void game_list_frame::BatchCreatePPUCaches()
{
const std::string vsh_path = g_cfg.vfs.get_dev_flash() + "/vsh/module/vsh.self";
const std::string vsh_path = g_cfg.vfs.get_dev_flash() + "vsh/module/vsh.self";
const bool vsh_exists = fs::is_file(vsh_path);
const u32 total = m_game_data.size() + (vsh_exists ? 1 : 0);

View File

@ -237,6 +237,9 @@ bool main_window::Init(bool with_cli_boot)
}
#endif
// Disable vsh if not present.
ui->bootVSHAct->setEnabled(fs::is_file(g_cfg.vfs.get_dev_flash() + "vsh/module/vsh.self"));
return true;
}
@ -1198,6 +1201,8 @@ void main_window::HandlePupInstallation(const QString& file_path, const QString&
if (progress == update_filenames.size())
{
ui->bootVSHAct->setEnabled(fs::is_file(g_cfg.vfs.get_dev_flash() + "/vsh/module/vsh.self"));
gui_log.success("Successfully installed PS3 firmware version %s.", version_string);
m_gui_settings->ShowInfoBox(tr("Success!"), tr("Successfully installed PS3 firmware and LLE Modules!"), gui::ib_pup_success, this);
@ -2059,7 +2064,8 @@ void main_window::CreateConnects()
{
vfs_dialog dlg(m_gui_settings, m_emu_settings, this);
dlg.exec();
m_game_list_frame->Refresh(true); // dev-hdd0 may have changed. Refresh just in case.
ui->bootVSHAct->setEnabled(fs::is_file(g_cfg.vfs.get_dev_flash() + "vsh/module/vsh.self")); // dev_flash may have changed. Disable vsh if not present.
m_game_list_frame->Refresh(true); // dev_hdd0 may have changed. Refresh just in case.
});
connect(ui->confSavedataManagerAct, &QAction::triggered, this, [this]