Import optimizations
This commit is contained in:
parent
82d3857853
commit
2ee1ec1162
|
@ -68,6 +68,9 @@ class TabWidget(QTabWidget):
|
|||
# uninstall
|
||||
self.games_tab.game_info.info.uninstall_game.connect(self.uninstall_game)
|
||||
|
||||
# imported
|
||||
self.games_tab.import_widget.update_list.connect(self.game_imported)
|
||||
|
||||
if not offline:
|
||||
# Download finished
|
||||
self.downloadTab.finished.connect(self.dl_finished)
|
||||
|
@ -89,6 +92,15 @@ class TabWidget(QTabWidget):
|
|||
self.tabBarClicked.connect(lambda x: self.games_tab.layout.setCurrentIndex(0) if x == 0 else None)
|
||||
self.setIconSize(QSize(25, 25))
|
||||
|
||||
def game_imported(self, app_name: str):
|
||||
igame = self.core.get_installed_game(app_name)
|
||||
if self.core.get_asset(app_name, True).build_version != igame.version:
|
||||
self.downloadTab.add_update(igame)
|
||||
downloads = len(self.downloadTab.dl_queue) + len(self.downloadTab.update_widgets.keys())
|
||||
self.setTabText(1, "Downloads" + ((" (" + str(downloads) + ")") if downloads != 0 else ""))
|
||||
self.games_tab.default_widget.game_list.update_list(app_name)
|
||||
self.games_tab.layout.setCurrentIndex(0)
|
||||
|
||||
# Sync game and delete dc rpc
|
||||
def game_finished(self, app_name):
|
||||
self.delete_presence.emit()
|
||||
|
@ -106,7 +118,7 @@ class TabWidget(QTabWidget):
|
|||
self.downloadTab.update_widgets.pop(app_name)
|
||||
downloads = len(self.downloadTab.dl_queue) + len(self.downloadTab.update_widgets.keys())
|
||||
self.setTabText(1, "Downloads" + ((" (" + str(downloads) + ")") if downloads != 0 else ""))
|
||||
|
||||
self.downloadTab.update_text.setVisible(len(self.downloadTab.update_widgets) == 0)
|
||||
# Update gamelist and set text of Downlaods to "Downloads"
|
||||
|
||||
def dl_finished(self, update_list):
|
||||
|
|
|
@ -75,18 +75,21 @@ class DownloadTab(QWidget):
|
|||
self.update_text.setVisible(len(updates) == 0)
|
||||
|
||||
for igame in updates:
|
||||
widget = UpdateWidget(core, igame, self)
|
||||
self.update_layout.addWidget(widget)
|
||||
self.update_widgets[igame.app_name] = widget
|
||||
widget.update.connect(self.update_game)
|
||||
if QSettings().value("auto_update", False, bool):
|
||||
self.update_game(igame.app_name, True)
|
||||
widget.update_button.setDisabled(True)
|
||||
self.add_update(igame)
|
||||
|
||||
self.layout.addStretch(1)
|
||||
|
||||
self.setLayout(self.layout)
|
||||
|
||||
def add_update(self, igame: InstalledGame):
|
||||
widget = UpdateWidget(self.core, igame, self)
|
||||
self.update_layout.addWidget(widget)
|
||||
self.update_widgets[igame.app_name] = widget
|
||||
widget.update.connect(self.update_game)
|
||||
if QSettings().value("auto_update", False, bool):
|
||||
self.update_game(igame.app_name, True)
|
||||
widget.update_button.setDisabled(True)
|
||||
|
||||
def update_dl_queue(self, dl_queue):
|
||||
self.dl_queue = dl_queue
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ class GameTab(QWidget):
|
|||
self.import_widget = ImportWidget(core, self)
|
||||
self.layout.addWidget(self.import_widget)
|
||||
self.import_widget.back_button.clicked.connect(lambda: self.layout.setCurrentIndex(0))
|
||||
self.import_widget.update_list.connect(self.update_list)
|
||||
# self.import_widget.update_list.connect(self.update_list)
|
||||
self.setLayout(self.layout)
|
||||
|
||||
def update_list(self, app_name=None):
|
||||
|
|
|
@ -276,6 +276,7 @@ class GameList(QStackedWidget):
|
|||
for w in widgets:
|
||||
w.igame = igame
|
||||
w.update_available = self.core.get_asset(w.game.app_name, True).build_version != igame.version
|
||||
widgets[0].info_label.setText("")
|
||||
widgets[0].info_text = ""
|
||||
# new installed
|
||||
elif self.core.is_installed(widgets[0].game.app_name) and not isinstance(widgets[0], BaseInstalledWidget):
|
||||
|
|
Loading…
Reference in a new issue