mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	citra-qt: disable directory watcher during CIA installation (#4284)
* disable directory watcher during CIA installation fixes several errors while installing multiple CIAs * use braces in if statement
This commit is contained in:
		
							parent
							
								
									756a3d404a
								
							
						
					
					
						commit
						ce823759cc
					
				
					 3 changed files with 16 additions and 1 deletions
				
			
		|  | @ -267,7 +267,8 @@ void GameList::onFilterCloseClicked() { | |||
| 
 | ||||
| GameList::GameList(GMainWindow* parent) : QWidget{parent} { | ||||
|     watcher = new QFileSystemWatcher(this); | ||||
|     connect(watcher, &QFileSystemWatcher::directoryChanged, this, &GameList::RefreshGameDirectory); | ||||
|     connect(watcher, &QFileSystemWatcher::directoryChanged, this, &GameList::RefreshGameDirectory, | ||||
|             Qt::UniqueConnection); | ||||
| 
 | ||||
|     this->main_window = parent; | ||||
|     layout = new QVBoxLayout; | ||||
|  | @ -325,6 +326,16 @@ void GameList::setFilterVisible(bool visibility) { | |||
|     search_field->setVisible(visibility); | ||||
| } | ||||
| 
 | ||||
| void GameList::setDirectoryWatcherEnabled(bool enabled) { | ||||
|     if (enabled) { | ||||
|         connect(watcher, &QFileSystemWatcher::directoryChanged, this, | ||||
|                 &GameList::RefreshGameDirectory, Qt::UniqueConnection); | ||||
|     } else { | ||||
|         disconnect(watcher, &QFileSystemWatcher::directoryChanged, this, | ||||
|                    &GameList::RefreshGameDirectory); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| void GameList::clearFilter() { | ||||
|     search_field->clear(); | ||||
| } | ||||
|  |  | |||
|  | @ -49,6 +49,7 @@ public: | |||
|     void clearFilter(); | ||||
|     void setFilterFocus(); | ||||
|     void setFilterVisible(bool visibility); | ||||
|     void setDirectoryWatcherEnabled(bool enabled); | ||||
|     bool isEmpty(); | ||||
| 
 | ||||
|     void LoadCompatibilityList(); | ||||
|  |  | |||
|  | @ -1013,6 +1013,7 @@ void GMainWindow::OnMenuInstallCIA() { | |||
|         return; | ||||
| 
 | ||||
|     ui.action_Install_CIA->setEnabled(false); | ||||
|     game_list->setDirectoryWatcherEnabled(false); | ||||
|     progress_bar->show(); | ||||
|     progress_bar->setMaximum(INT_MAX); | ||||
| 
 | ||||
|  | @ -1066,7 +1067,9 @@ void GMainWindow::OnCIAInstallReport(Service::AM::InstallStatus status, QString | |||
| void GMainWindow::OnCIAInstallFinished() { | ||||
|     progress_bar->hide(); | ||||
|     progress_bar->setValue(0); | ||||
|     game_list->setDirectoryWatcherEnabled(true); | ||||
|     ui.action_Install_CIA->setEnabled(true); | ||||
|     game_list->PopulateAsync(UISettings::values.game_dirs); | ||||
| } | ||||
| 
 | ||||
| void GMainWindow::OnMenuRecentFile() { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue