diff --git a/rare/components/tabs/downloads/__init__.py b/rare/components/tabs/downloads/__init__.py index ab3b3b35..52ce9968 100644 --- a/rare/components/tabs/downloads/__init__.py +++ b/rare/components/tabs/downloads/__init__.py @@ -90,7 +90,7 @@ class DownloadsTab(QWidget): @pyqtSlot() @pyqtSlot(int) def update_queues_count(self): - count = self.updates_group.count() + self.queue_group.count() + count = self.updates_group.count() + self.queue_group.count() + (1 if self.is_download_active else 0) self.update_title.emit(count) @property @@ -196,6 +196,7 @@ class DownloadsTab(QWidget): thread.finished.connect(thread.deleteLater) thread.start() self.__thread = thread + self.update_queues_count() self.download_widget.ui.kill_button.setDisabled(False) self.download_widget.ui.dl_name.setText(item.download.game.app_title) self.download_widget.setPixmap( @@ -276,6 +277,7 @@ class DownloadsTab(QWidget): self.download_widget.ui.cache_used.setText("...") self.download_widget.ui.downloaded.setText("...") self.__thread = None + self.update_queues_count() @pyqtSlot(InstallOptionsModel) def __get_install_options(self, options: InstallOptionsModel): diff --git a/rare/components/tabs/downloads/thread.py b/rare/components/tabs/downloads/thread.py index a13b6dd9..241bbf4e 100644 --- a/rare/components/tabs/downloads/thread.py +++ b/rare/components/tabs/downloads/thread.py @@ -52,7 +52,7 @@ class DlThread(QThread): self.rgame = rgame self.debug = debug - def __result_emit(self, result): + def __finish(self, result): if result.code == DlResultCode.FINISHED: self.rgame.set_installed(True) self.rgame.state = RareGame.State.IDLE @@ -92,14 +92,14 @@ class DlThread(QThread): logger.warning(f"The following exception occurred while waiting for the downloader to finish: {e!r}.") result.code = DlResultCode.ERROR result.message = f"{e!r}" - self.__result_emit(result) + self.__finish(result) return else: end_t = time.time() if self.dlm_signals.kill is True: logger.info(f"Download stopped after {end_t - start_t:.02f} seconds.") result.code = DlResultCode.STOPPED - self.__result_emit(result) + self.__finish(result) return logger.info(f"Download finished in {end_t - start_t:.02f} seconds.") @@ -107,7 +107,7 @@ class DlThread(QThread): if self.item.options.overlay: self.core.finish_overlay_install(self.item.download.igame) - self.__result_emit(result) + self.__finish(result) return if not self.item.options.no_install: @@ -155,7 +155,7 @@ class DlThread(QThread): result.shortcut_name = self.rgame.folder_name result.shortcut_title = self.rgame.app_title - self.__result_emit(result) + self.__finish(result) def _handle_postinstall(self, postinstall, igame): logger.info("This game lists the following prerequisites to be installed:")