citra_qt: when opnening a cia file directly, make Citra ask to install it

This commit is contained in:
fearlessTobi 2019-02-05 21:31:39 +01:00
parent de1128c60d
commit 931895d9b0
2 changed files with 17 additions and 0 deletions

View file

@ -801,6 +801,18 @@ bool GMainWindow::LoadROM(const QString& filename) {
} }
void GMainWindow::BootGame(const QString& filename) { void GMainWindow::BootGame(const QString& filename) {
if (filename.endsWith(".cia")) {
const auto answer = QMessageBox::question(
this, tr("CIA must be installed before usage"),
tr("Before using this CIA, you must install it. Do you want to install it now?"),
QMessageBox::Yes | QMessageBox::No);
if (answer == QMessageBox::Yes)
InstallCIA(QStringList(filename));
return;
}
LOG_INFO(Frontend, "Citra starting..."); LOG_INFO(Frontend, "Citra starting...");
StoreRecentFile(filename); // Put the filename on top of the list StoreRecentFile(filename); // Put the filename on top of the list
@ -1075,6 +1087,10 @@ void GMainWindow::OnMenuInstallCIA() {
if (filepaths.isEmpty()) if (filepaths.isEmpty())
return; return;
InstallCIA(filepaths);
}
void GMainWindow::InstallCIA(QStringList filepaths) {
ui.action_Install_CIA->setEnabled(false); ui.action_Install_CIA->setEnabled(false);
game_list->setDirectoryWatcherEnabled(false); game_list->setDirectoryWatcherEnabled(false);
progress_bar->show(); progress_bar->show();

View file

@ -199,6 +199,7 @@ private:
void LoadTranslation(); void LoadTranslation();
void SetupUIStrings(); void SetupUIStrings();
void RetranslateStatusBar(); void RetranslateStatusBar();
void InstallCIA(QStringList filepaths);
Ui::MainWindow ui; Ui::MainWindow ui;