mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 13:50:03 +00:00 
			
		
		
		
	Defer update prompt if emulating, and show no update found on explicit click
This commit is contained in:
		
							parent
							
								
									2e6c80d1aa
								
							
						
					
					
						commit
						7361ee9750
					
				
					 2 changed files with 35 additions and 0 deletions
				
			
		|  | @ -390,6 +390,7 @@ void GMainWindow::OnDisplayTitleBars(bool show) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void GMainWindow::OnCheckForUpdates() { | void GMainWindow::OnCheckForUpdates() { | ||||||
|  |     explicit_update_check = true; | ||||||
|     CheckForUpdates(); |     CheckForUpdates(); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -409,10 +410,29 @@ void GMainWindow::OnUpdateFound(bool found, bool error) { | ||||||
| 
 | 
 | ||||||
|     if (!found) { |     if (!found) { | ||||||
|         LOG_INFO(Frontend, "No updates 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; |         return; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     LOG_INFO(Frontend, "Update found!"); |     LOG_INFO(Frontend, "Update found!"); | ||||||
|  |     explicit_update_check = false; | ||||||
|  | 
 | ||||||
|  |     ShowUpdatePrompt(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void GMainWindow::ShowUpdatePrompt() { | ||||||
|     auto result = QMessageBox::question( |     auto result = QMessageBox::question( | ||||||
|         this, tr("Update available!"), |         this, tr("Update available!"), | ||||||
|         tr("An update for Citra is available. Do you wish to install it now?<br /><br />" |         tr("An update for Citra is available. Do you wish to install it now?<br /><br />" | ||||||
|  | @ -425,6 +445,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() { | void GMainWindow::OnOpenUpdater() { | ||||||
|     updater->LaunchUI(); |     updater->LaunchUI(); | ||||||
| } | } | ||||||
|  | @ -584,6 +609,11 @@ void GMainWindow::ShutdownGame() { | ||||||
|     emu_frametime_label->setVisible(false); |     emu_frametime_label->setVisible(false); | ||||||
| 
 | 
 | ||||||
|     emulation_running = false; |     emulation_running = false; | ||||||
|  | 
 | ||||||
|  |     if (defer_update_prompt) { | ||||||
|  |         defer_update_prompt = false; | ||||||
|  |         ShowUpdatePrompt(); | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void GMainWindow::StoreRecentFile(const QString& filename) { | void GMainWindow::StoreRecentFile(const QString& filename) { | ||||||
|  |  | ||||||
|  | @ -83,6 +83,8 @@ private: | ||||||
| 
 | 
 | ||||||
|     void ShowCallouts(); |     void ShowCallouts(); | ||||||
|     void ShowUpdaterWidgets(); |     void ShowUpdaterWidgets(); | ||||||
|  |     void ShowUpdatePrompt(); | ||||||
|  |     void ShowNoUpdatePrompt(); | ||||||
|     void CheckForUpdates(); |     void CheckForUpdates(); | ||||||
| 
 | 
 | ||||||
|     /**
 |     /**
 | ||||||
|  | @ -173,6 +175,9 @@ private: | ||||||
|     WaitTreeWidget* waitTreeWidget; |     WaitTreeWidget* waitTreeWidget; | ||||||
|     Updater* updater; |     Updater* updater; | ||||||
| 
 | 
 | ||||||
|  |     bool explicit_update_check = false; | ||||||
|  |     bool defer_update_prompt = false; | ||||||
|  | 
 | ||||||
|     QAction* actions_recent_files[max_recent_files_item]; |     QAction* actions_recent_files[max_recent_files_item]; | ||||||
| 
 | 
 | ||||||
| protected: | protected: | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue