Add update in dl tab, when imported game, with available update
This commit is contained in:
parent
dc0e320f82
commit
1abcf16583
3 changed files with 17 additions and 1 deletions
|
@ -110,6 +110,8 @@ class DownloadTab(QWidget):
|
||||||
self.signals.game_uninstalled.connect(self.queue_item_removed)
|
self.signals.game_uninstalled.connect(self.queue_item_removed)
|
||||||
self.signals.game_uninstalled.connect(self.remove_update)
|
self.signals.game_uninstalled.connect(self.remove_update)
|
||||||
|
|
||||||
|
self.signals.add_download.connect(lambda app_name: self.add_update(self.core.get_installed_game(app_name)))
|
||||||
|
|
||||||
def queue_item_removed(self, app_name):
|
def queue_item_removed(self, app_name):
|
||||||
if w := self.update_widgets.get(app_name):
|
if w := self.update_widgets.get(app_name):
|
||||||
w.update_button.setDisabled(False)
|
w.update_button.setDisabled(False)
|
||||||
|
@ -127,6 +129,12 @@ class DownloadTab(QWidget):
|
||||||
def remove_update(self, app_name):
|
def remove_update(self, app_name):
|
||||||
if w := self.update_widgets.get(app_name):
|
if w := self.update_widgets.get(app_name):
|
||||||
w.deleteLater()
|
w.deleteLater()
|
||||||
|
self.update_widgets.pop(app_name)
|
||||||
|
|
||||||
|
if len(self.update_widgets) == 0:
|
||||||
|
self.update_text.setVisible(True)
|
||||||
|
|
||||||
|
self.signals.update_download_tab_text.emit()
|
||||||
|
|
||||||
def update_dl_queue(self, dl_queue):
|
def update_dl_queue(self, dl_queue):
|
||||||
self.dl_queue = dl_queue
|
self.dl_queue = dl_queue
|
||||||
|
|
|
@ -146,11 +146,18 @@ class ImportGroup(QGroupBox, Ui_ImportGroup):
|
||||||
return
|
return
|
||||||
|
|
||||||
if legendary_utils.import_game(self.core, app_name=app_name, path=path):
|
if legendary_utils.import_game(self.core, app_name=app_name, path=path):
|
||||||
|
igame = self.core.get_installed_game(app_name)
|
||||||
self.info_label.setText(self.tr("Successfully imported {}. Reload library").format(
|
self.info_label.setText(self.tr("Successfully imported {}. Reload library").format(
|
||||||
self.core.get_installed_game(app_name).title))
|
igame.title))
|
||||||
self.app_name.setText(str())
|
self.app_name.setText(str())
|
||||||
|
|
||||||
shared.signals.update_gamelist.emit([app_name])
|
shared.signals.update_gamelist.emit([app_name])
|
||||||
|
|
||||||
|
if igame.version != self.core.get_asset(app_name, False).build_version:
|
||||||
|
# update available
|
||||||
|
shared.signals.add_download.emit(igame.app_name)
|
||||||
|
shared.signals.update_download_tab_text.emit()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
logger.warning(f'Failed to import "{app_name}"')
|
logger.warning(f'Failed to import "{app_name}"')
|
||||||
self.info_label.setText(self.tr("Failed to import {}").format(app_name))
|
self.info_label.setText(self.tr("Failed to import {}").format(app_name))
|
||||||
|
|
|
@ -122,6 +122,7 @@ class Signals(QObject):
|
||||||
dl_progress = pyqtSignal(int) # 0-100
|
dl_progress = pyqtSignal(int) # 0-100
|
||||||
# set visibility of installing widget in games tab
|
# set visibility of installing widget in games tab
|
||||||
installation_started = pyqtSignal(str) # app_name
|
installation_started = pyqtSignal(str) # app_name
|
||||||
|
add_download = pyqtSignal(str)
|
||||||
|
|
||||||
install_game = pyqtSignal(InstallOptionsModel)
|
install_game = pyqtSignal(InstallOptionsModel)
|
||||||
installation_finished = pyqtSignal(bool, str)
|
installation_finished = pyqtSignal(bool, str)
|
||||||
|
|
Loading…
Reference in a new issue