Downloads: Update queues count at more occasions
Also count active download in the queues
This commit is contained in:
parent
fee1f34451
commit
439475dcd1
2 changed files with 8 additions and 6 deletions
|
@ -90,7 +90,7 @@ class DownloadsTab(QWidget):
|
||||||
@pyqtSlot()
|
@pyqtSlot()
|
||||||
@pyqtSlot(int)
|
@pyqtSlot(int)
|
||||||
def update_queues_count(self):
|
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)
|
self.update_title.emit(count)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -196,6 +196,7 @@ class DownloadsTab(QWidget):
|
||||||
thread.finished.connect(thread.deleteLater)
|
thread.finished.connect(thread.deleteLater)
|
||||||
thread.start()
|
thread.start()
|
||||||
self.__thread = thread
|
self.__thread = thread
|
||||||
|
self.update_queues_count()
|
||||||
self.download_widget.ui.kill_button.setDisabled(False)
|
self.download_widget.ui.kill_button.setDisabled(False)
|
||||||
self.download_widget.ui.dl_name.setText(item.download.game.app_title)
|
self.download_widget.ui.dl_name.setText(item.download.game.app_title)
|
||||||
self.download_widget.setPixmap(
|
self.download_widget.setPixmap(
|
||||||
|
@ -276,6 +277,7 @@ class DownloadsTab(QWidget):
|
||||||
self.download_widget.ui.cache_used.setText("...")
|
self.download_widget.ui.cache_used.setText("...")
|
||||||
self.download_widget.ui.downloaded.setText("...")
|
self.download_widget.ui.downloaded.setText("...")
|
||||||
self.__thread = None
|
self.__thread = None
|
||||||
|
self.update_queues_count()
|
||||||
|
|
||||||
@pyqtSlot(InstallOptionsModel)
|
@pyqtSlot(InstallOptionsModel)
|
||||||
def __get_install_options(self, options: InstallOptionsModel):
|
def __get_install_options(self, options: InstallOptionsModel):
|
||||||
|
|
|
@ -52,7 +52,7 @@ class DlThread(QThread):
|
||||||
self.rgame = rgame
|
self.rgame = rgame
|
||||||
self.debug = debug
|
self.debug = debug
|
||||||
|
|
||||||
def __result_emit(self, result):
|
def __finish(self, result):
|
||||||
if result.code == DlResultCode.FINISHED:
|
if result.code == DlResultCode.FINISHED:
|
||||||
self.rgame.set_installed(True)
|
self.rgame.set_installed(True)
|
||||||
self.rgame.state = RareGame.State.IDLE
|
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}.")
|
logger.warning(f"The following exception occurred while waiting for the downloader to finish: {e!r}.")
|
||||||
result.code = DlResultCode.ERROR
|
result.code = DlResultCode.ERROR
|
||||||
result.message = f"{e!r}"
|
result.message = f"{e!r}"
|
||||||
self.__result_emit(result)
|
self.__finish(result)
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
end_t = time.time()
|
end_t = time.time()
|
||||||
if self.dlm_signals.kill is True:
|
if self.dlm_signals.kill is True:
|
||||||
logger.info(f"Download stopped after {end_t - start_t:.02f} seconds.")
|
logger.info(f"Download stopped after {end_t - start_t:.02f} seconds.")
|
||||||
result.code = DlResultCode.STOPPED
|
result.code = DlResultCode.STOPPED
|
||||||
self.__result_emit(result)
|
self.__finish(result)
|
||||||
return
|
return
|
||||||
logger.info(f"Download finished in {end_t - start_t:.02f} seconds.")
|
logger.info(f"Download finished in {end_t - start_t:.02f} seconds.")
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ class DlThread(QThread):
|
||||||
|
|
||||||
if self.item.options.overlay:
|
if self.item.options.overlay:
|
||||||
self.core.finish_overlay_install(self.item.download.igame)
|
self.core.finish_overlay_install(self.item.download.igame)
|
||||||
self.__result_emit(result)
|
self.__finish(result)
|
||||||
return
|
return
|
||||||
|
|
||||||
if not self.item.options.no_install:
|
if not self.item.options.no_install:
|
||||||
|
@ -155,7 +155,7 @@ class DlThread(QThread):
|
||||||
result.shortcut_name = self.rgame.folder_name
|
result.shortcut_name = self.rgame.folder_name
|
||||||
result.shortcut_title = self.rgame.app_title
|
result.shortcut_title = self.rgame.app_title
|
||||||
|
|
||||||
self.__result_emit(result)
|
self.__finish(result)
|
||||||
|
|
||||||
def _handle_postinstall(self, postinstall, igame):
|
def _handle_postinstall(self, postinstall, igame):
|
||||||
logger.info("This game lists the following prerequisites to be installed:")
|
logger.info("This game lists the following prerequisites to be installed:")
|
||||||
|
|
Loading…
Reference in a new issue