From 7a1935335edf17255c31656bbf30c17a214ac779 Mon Sep 17 00:00:00 2001 From: Stelios Tsampas Date: Sat, 10 Sep 2022 19:04:40 +0300 Subject: [PATCH] GameInfo: Work-around slowdown on widget `update_game()` request --- rare/components/dialogs/launch_dialog.py | 4 ++-- rare/components/tabs/games/game_info/game_info.py | 4 ++-- rare/components/tabs/games/game_info/move_game.py | 6 +++++- rare/utils/steam_grades.py | 4 ++-- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/rare/components/dialogs/launch_dialog.py b/rare/components/dialogs/launch_dialog.py index 160a49eb..81f77942 100644 --- a/rare/components/dialogs/launch_dialog.py +++ b/rare/components/dialogs/launch_dialog.py @@ -58,7 +58,7 @@ class ImageWorker(LaunchWorker): self.core.lgd.set_game_meta(game.app_name, game) self.signals.progress.emit( int(i / len(game_list) * 50), - self.tr("Downloading image for {}").format(game.app_title) + self.tr("Downloading image for {}").format(game.app_title) ) self.image_manager.download_image_blocking(game) @@ -69,7 +69,7 @@ class ImageWorker(LaunchWorker): for i, igame in enumerate(igame_list): self.signals.progress.emit( int(i / len(igame_list) * 50) + 50, - self.tr("Validating install for {}").format(igame.title) + self.tr("Validating install for {}").format(igame.title) ) if not os.path.exists(igame.install_path): # lk; since install_path is lost anyway, set keep_files to True diff --git a/rare/components/tabs/games/game_info/game_info.py b/rare/components/tabs/games/game_info/game_info.py index 58ffc112..50a002fb 100644 --- a/rare/components/tabs/games/game_info/game_info.py +++ b/rare/components/tabs/games/game_info/game_info.py @@ -63,8 +63,8 @@ class GameInfo(QWidget, Ui_GameInfo): self.lbl_grade.setVisible(False) self.grade.setVisible(False) else: - self.steam_worker = SteamWorker(self.core) - self.steam_worker.signals.rating_signal.connect(self.grade.setText) + self.steam_worker: SteamWorker = SteamWorker(self.core) + self.steam_worker.signals.rating.connect(self.grade.setText) self.steam_worker.setAutoDelete(False) self.game_actions_stack.setCurrentIndex(0) diff --git a/rare/components/tabs/games/game_info/move_game.py b/rare/components/tabs/games/game_info/move_game.py index e4a71d3e..caf08194 100644 --- a/rare/components/tabs/games/game_info/move_game.py +++ b/rare/components/tabs/games/game_info/move_game.py @@ -135,11 +135,15 @@ class MoveGamePopUp(QWidget): return True, dir_selected, str() def update_game(self, app_name): - igame = self.core.get_installed_game(app_name, False) + igame = self.core.get_installed_game(app_name, skip_sync=True) if igame is None: return self.install_path = igame.install_path + # FIXME: Make edit_func lighter instead of blocking signals + self.move_path_edit.line_edit.blockSignals(True) self.move_path_edit.setText(igame.install_path) + # FIXME: Make edit_func lighter instead of blocking signals + self.move_path_edit.line_edit.blockSignals(False) self.warn_overwriting.setText( self.tr("Moving here will overwrite the dir/file {}/").format(Path(self.install_path).stem) ) diff --git a/rare/utils/steam_grades.py b/rare/utils/steam_grades.py index 172e233e..57ba3e5f 100644 --- a/rare/utils/steam_grades.py +++ b/rare/utils/steam_grades.py @@ -16,7 +16,7 @@ url = "https://api.steampowered.com/ISteamApps/GetAppList/v2/" class SteamWorker(QRunnable): class Signals(QObject): - rating_signal = pyqtSignal(str) + rating = pyqtSignal(str) app_name: str = "" @@ -39,7 +39,7 @@ class SteamWorker(QRunnable): self.app_name = app_name def run(self) -> None: - self.signals.rating_signal.emit( + self.signals.rating.emit( self.ratings.get(get_rating(self.app_name), self.ratings["fail"]) )