1
0
Fork 0
mirror of synced 2024-06-27 18:51:06 +12:00

Downloads: Update queues count at more occasions

Also count active download in the queues
This commit is contained in:
loathingKernel 2023-03-13 12:30:27 +02:00
parent fee1f34451
commit 439475dcd1
No known key found for this signature in database
GPG key ID: CE0C72D0B53821FD
2 changed files with 8 additions and 6 deletions

View file

@ -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):

View file

@ -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:")