partially revert b1047ba18e
All checks were successful
Code check / Check code (push) Successful in 1m18s

Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
This commit is contained in:
2025-10-15 22:31:35 +05:00
parent 9a18aa037e
commit 4bc764d568
2 changed files with 22 additions and 29 deletions

View File

@@ -56,16 +56,6 @@ class GameLibraryManager:
self.is_filtering = False self.is_filtering = False
self.dirty = 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): def create_games_library_widget(self):
"""Creates the games library widget with search, grid, and slider.""" """Creates the games library widget with search, grid, and slider."""
self.gamesLibraryWidget = QWidget() self.gamesLibraryWidget = QWidget()
@@ -227,6 +217,16 @@ class GameLibraryManager:
else: else:
self._update_game_grid_immediate() 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): def _update_game_grid_immediate(self):
"""Updates the game grid with the provided or current game list.""" """Updates the game grid with the provided or current game list."""
if self.gamesListLayout is None or self.gamesListWidget is None: if self.gamesListLayout is None or self.gamesListWidget is None:

View File

@@ -100,7 +100,6 @@ class MainWindow(QMainWindow):
self.games_load_timer.timeout.connect(self.finalize_game_loading) self.games_load_timer.timeout.connect(self.finalize_game_loading)
self.games_loaded.connect(self.on_games_loaded) self.games_loaded.connect(self.on_games_loaded)
self.current_add_game_dialog = None self.current_add_game_dialog = None
self.current_display_filter = read_display_filter()
self.settingsDebounceTimer = QTimer(self) self.settingsDebounceTimer = QTimer(self)
self.settingsDebounceTimer.setSingleShot(True) self.settingsDebounceTimer.setSingleShot(True)
@@ -854,6 +853,7 @@ class MainWindow(QMainWindow):
auto_widget.updateGeometry() auto_widget.updateGeometry()
)) ))
def openSystemOverlay(self): def openSystemOverlay(self):
"""Opens the system overlay dialog.""" """Opens the system overlay dialog."""
overlay = SystemOverlay(self, self.theme) overlay = SystemOverlay(self, self.theme)
@@ -2026,12 +2026,9 @@ class MainWindow(QMainWindow):
def applySettingsDelayed(self): def applySettingsDelayed(self):
read_time_config() read_time_config()
self.games = []
self.loadGames()
display_filter = read_display_filter() 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(): for card in self.game_library_manager.game_card_cache.values():
card.update_badge_visibility(display_filter) card.update_badge_visibility(display_filter)
@@ -2046,8 +2043,6 @@ class MainWindow(QMainWindow):
filter_idx = self.gamesDisplayCombo.currentIndex() filter_idx = self.gamesDisplayCombo.currentIndex()
filter_key = self.filter_keys[filter_idx] filter_key = self.filter_keys[filter_idx]
old_filter = self.current_display_filter
save_display_filter(filter_key) save_display_filter(filter_key)
proxy_url = self.proxyUrlEdit.text().strip() proxy_url = self.proxyUrlEdit.text().strip()
@@ -2077,19 +2072,17 @@ class MainWindow(QMainWindow):
self.input_manager.gamepad_type = GamepadType.UNKNOWN self.input_manager.gamepad_type = GamepadType.UNKNOWN
self.updateControlHints() self.updateControlHints()
if filter_key != old_filter: for card in self.game_library_manager.game_card_cache.values():
for card in self.game_library_manager.game_card_cache.values(): card.update_badge_visibility(filter_key)
card.update_badge_visibility(filter_key)
if self.currentDetailPage and self.current_exec_line: 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) current_game = next((game for game in self.games if game[4] == self.current_exec_line), None)
if current_game: if current_game:
self.stackedWidget.removeWidget(self.currentDetailPage) self.stackedWidget.removeWidget(self.currentDetailPage)
self.currentDetailPage.deleteLater() self.currentDetailPage.deleteLater()
self.currentDetailPage = None self.currentDetailPage = None
self.openGameDetailPage(*current_game) self.openGameDetailPage(*current_game)
self.current_display_filter = filter_key
self.settingsDebounceTimer.start() self.settingsDebounceTimer.start()
gamepad_connected = self.input_manager.find_gamepad() is not None gamepad_connected = self.input_manager.find_gamepad() is not None