1
0
Fork 0
mirror of synced 2024-06-30 12:11:19 +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()
@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):

View file

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