1
0
Fork 0
mirror of synced 2024-06-02 10:44:40 +12:00

Import optimizations

This commit is contained in:
Dummerle 2021-05-18 10:32:46 +02:00
parent 82d3857853
commit 2ee1ec1162
4 changed files with 25 additions and 9 deletions

View file

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

View file

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

View file

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

View file

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