mirror of
https://github.com/citra-emu/citra.git
synced 2024-11-30 09:10:05 +00:00
Defer update prompt if emulating, and show no update found on explicit click
This commit is contained in:
parent
27d5e7c59d
commit
64425bfba6
@ -386,6 +386,7 @@ void GMainWindow::OnDisplayTitleBars(bool show) {
|
||||
}
|
||||
|
||||
void GMainWindow::OnCheckForUpdates() {
|
||||
explicit_update_check = true;
|
||||
CheckForUpdates();
|
||||
}
|
||||
|
||||
@ -405,10 +406,29 @@ void GMainWindow::OnUpdateFound(bool found, bool error) {
|
||||
|
||||
if (!found) {
|
||||
LOG_INFO(Frontend, "No updates found");
|
||||
|
||||
// If the user explicitly clicked the "Check for Updates" button, we are
|
||||
// going to want to show them a prompt anyway.
|
||||
if (explicit_update_check) {
|
||||
explicit_update_check = false;
|
||||
ShowNoUpdatePrompt();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (emulation_running && !explicit_update_check) {
|
||||
LOG_INFO(Frontend, "Update found, deferring as game is running");
|
||||
defer_update_prompt = true;
|
||||
return;
|
||||
}
|
||||
|
||||
LOG_INFO(Frontend, "Update found!");
|
||||
explicit_update_check = false;
|
||||
|
||||
ShowUpdatePrompt();
|
||||
}
|
||||
|
||||
void GMainWindow::ShowUpdatePrompt() {
|
||||
auto result = QMessageBox::question(
|
||||
this, tr("Update available!"),
|
||||
tr("An update for Citra is available. Do you wish to install it now?<br /><br />"
|
||||
@ -421,6 +441,11 @@ void GMainWindow::OnUpdateFound(bool found, bool error) {
|
||||
}
|
||||
}
|
||||
|
||||
void GMainWindow::ShowNoUpdatePrompt() {
|
||||
QMessageBox::information(this, tr("No update found"), tr("No update has been found for Citra."),
|
||||
QMessageBox::Ok, QMessageBox::Ok);
|
||||
}
|
||||
|
||||
void GMainWindow::OnOpenUpdater() {
|
||||
updater->LaunchUI();
|
||||
}
|
||||
@ -580,6 +605,11 @@ void GMainWindow::ShutdownGame() {
|
||||
emu_frametime_label->setVisible(false);
|
||||
|
||||
emulation_running = false;
|
||||
|
||||
if (defer_update_prompt) {
|
||||
defer_update_prompt = false;
|
||||
ShowUpdatePrompt();
|
||||
}
|
||||
}
|
||||
|
||||
void GMainWindow::StoreRecentFile(const QString& filename) {
|
||||
|
@ -82,6 +82,8 @@ private:
|
||||
|
||||
void ShowCallouts();
|
||||
void ShowUpdaterWidgets();
|
||||
void ShowUpdatePrompt();
|
||||
void ShowNoUpdatePrompt();
|
||||
void CheckForUpdates();
|
||||
|
||||
/**
|
||||
@ -170,6 +172,9 @@ private:
|
||||
WaitTreeWidget* waitTreeWidget;
|
||||
Updater* updater;
|
||||
|
||||
bool explicit_update_check = false;
|
||||
bool defer_update_prompt = false;
|
||||
|
||||
QAction* actions_recent_files[max_recent_files_item];
|
||||
|
||||
protected:
|
||||
|
Loading…
Reference in New Issue
Block a user