From 4bc764d5686078ffafbcbf9e0e9a050ded9c40de Mon Sep 17 00:00:00 2001 From: Boris Yumankulov Date: Wed, 15 Oct 2025 22:31:35 +0500 Subject: [PATCH] partially revert b1047ba18eefa27117bc9c6098e8e2763ce99f3f Signed-off-by: Boris Yumankulov --- portprotonqt/game_library_manager.py | 20 +++++++++--------- portprotonqt/main_window.py | 31 +++++++++++----------------- 2 files changed, 22 insertions(+), 29 deletions(-) diff --git a/portprotonqt/game_library_manager.py b/portprotonqt/game_library_manager.py index e10d502..1166b11 100644 --- a/portprotonqt/game_library_manager.py +++ b/portprotonqt/game_library_manager.py @@ -56,16 +56,6 @@ class GameLibraryManager: self.is_filtering = False self.dirty = False - def force_update_cards_library(self): - if self.gamesListWidget and self.gamesListLayout: - self.gamesListLayout.invalidate() - self.gamesListWidget.updateGeometry() - widget = self.gamesListWidget - QTimer.singleShot(0, lambda: ( - widget.adjustSize(), - widget.updateGeometry() - )) - def create_games_library_widget(self): """Creates the games library widget with search, grid, and slider.""" self.gamesLibraryWidget = QWidget() @@ -227,6 +217,16 @@ class GameLibraryManager: else: self._update_game_grid_immediate() + def force_update_cards_library(self): + if self.gamesListWidget and self.gamesListLayout: + self.gamesListLayout.invalidate() + self.gamesListWidget.updateGeometry() + widget = self.gamesListWidget + QTimer.singleShot(0, lambda: ( + widget.adjustSize(), + widget.updateGeometry() + )) + def _update_game_grid_immediate(self): """Updates the game grid with the provided or current game list.""" if self.gamesListLayout is None or self.gamesListWidget is None: diff --git a/portprotonqt/main_window.py b/portprotonqt/main_window.py index 1ce631c..f5bca5b 100644 --- a/portprotonqt/main_window.py +++ b/portprotonqt/main_window.py @@ -100,7 +100,6 @@ class MainWindow(QMainWindow): self.games_load_timer.timeout.connect(self.finalize_game_loading) self.games_loaded.connect(self.on_games_loaded) self.current_add_game_dialog = None - self.current_display_filter = read_display_filter() self.settingsDebounceTimer = QTimer(self) self.settingsDebounceTimer.setSingleShot(True) @@ -854,6 +853,7 @@ class MainWindow(QMainWindow): auto_widget.updateGeometry() )) + def openSystemOverlay(self): """Opens the system overlay dialog.""" overlay = SystemOverlay(self, self.theme) @@ -2026,12 +2026,9 @@ class MainWindow(QMainWindow): def applySettingsDelayed(self): read_time_config() + self.games = [] + self.loadGames() display_filter = read_display_filter() - reload_needed = display_filter != self.current_display_filter - if reload_needed: - self.games = [] - self.loadGames() - self.current_display_filter = display_filter for card in self.game_library_manager.game_card_cache.values(): card.update_badge_visibility(display_filter) @@ -2046,8 +2043,6 @@ class MainWindow(QMainWindow): filter_idx = self.gamesDisplayCombo.currentIndex() filter_key = self.filter_keys[filter_idx] - - old_filter = self.current_display_filter save_display_filter(filter_key) proxy_url = self.proxyUrlEdit.text().strip() @@ -2077,19 +2072,17 @@ class MainWindow(QMainWindow): self.input_manager.gamepad_type = GamepadType.UNKNOWN self.updateControlHints() - if filter_key != old_filter: - for card in self.game_library_manager.game_card_cache.values(): - card.update_badge_visibility(filter_key) + for card in self.game_library_manager.game_card_cache.values(): + card.update_badge_visibility(filter_key) - if self.currentDetailPage and self.current_exec_line: - current_game = next((game for game in self.games if game[4] == self.current_exec_line), None) - if current_game: - self.stackedWidget.removeWidget(self.currentDetailPage) - self.currentDetailPage.deleteLater() - self.currentDetailPage = None - self.openGameDetailPage(*current_game) + if self.currentDetailPage and self.current_exec_line: + current_game = next((game for game in self.games if game[4] == self.current_exec_line), None) + if current_game: + self.stackedWidget.removeWidget(self.currentDetailPage) + self.currentDetailPage.deleteLater() + self.currentDetailPage = None + self.openGameDetailPage(*current_game) - self.current_display_filter = filter_key self.settingsDebounceTimer.start() gamepad_connected = self.input_manager.find_gamepad() is not None