Downloads: Update queues count at more occasions
Also count active download in the queues
This commit is contained in:
parent
fee1f34451
commit
439475dcd1
|
@ -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):
|
||||
|
|
|
@ -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:")
|
||||
|
|
Loading…
Reference in a new issue