diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py index 47f073ad45..de626d200e 100644 --- a/src/Mod/AddonManager/AddonManager.py +++ b/src/Mod/AddonManager/AddonManager.py @@ -372,6 +372,7 @@ class CommandAddonManager: self.dialog.buttonClose.clicked.connect(self.dialog.reject) self.dialog.buttonUpdateCache.clicked.connect(self.on_buttonUpdateCache_clicked) self.dialog.buttonPauseUpdate.clicked.connect(self.stop_update) + self.dialog.buttonCheckForUpdates.clicked.connect(self.force_check_updates) self.packageList.itemSelected.connect(self.table_row_activated) self.packageList.setEnabled(False) self.packageDetails.execute.connect(self.executemacro) @@ -734,23 +735,25 @@ class CommandAddonManager: self.do_next_startup_phase() return if not self.packages_with_updates: - if hasattr(self, "check_worker"): - thread = self.check_worker - if thread: - if not thread.isFinished(): - self.do_next_startup_phase() - return - self.dialog.buttonUpdateAll.setText( - translate("AddonsInstaller", "Checking for updates...") - ) - self.check_worker = CheckWorkbenchesForUpdatesWorker(self.item_model.repos) - self.check_worker.finished.connect(self.do_next_startup_phase) - self.check_worker.progress_made.connect(self.update_progress_bar) - self.check_worker.update_status.connect(self.status_updated) - self.check_worker.start() - self.enable_updates(len(self.packages_with_updates)) - else: - self.do_next_startup_phase() + self.force_check_updates() + self.do_next_startup_phase() + + def force_check_updates(self) -> None: + if hasattr(self, "check_worker"): + thread = self.check_worker + if thread: + if not thread.isFinished(): + self.do_next_startup_phase() + return + self.dialog.buttonUpdateAll.setText( + translate("AddonsInstaller", "Checking for updates...") + ) + self.check_worker = CheckWorkbenchesForUpdatesWorker(self.item_model.repos) + self.check_worker.finished.connect(self.do_next_startup_phase) + self.check_worker.progress_made.connect(self.update_progress_bar) + self.check_worker.update_status.connect(self.status_updated) + self.check_worker.start() + self.enable_updates(len(self.packages_with_updates)) def status_updated(self, repo: AddonManagerRepo) -> None: self.item_model.reload_item(repo)