diff --git a/rare/components/tabs/games/__init__.py b/rare/components/tabs/games/__init__.py index aa48d7f4..b7655210 100644 --- a/rare/components/tabs/games/__init__.py +++ b/rare/components/tabs/games/__init__.py @@ -90,7 +90,7 @@ class GamesTab(QStackedWidget): else: self.view_stack.setCurrentWidget(self.icon_view_scroll) - self.head_bar.search_bar.textChanged.connect(lambda x: self.filter_games("", x)) + self.head_bar.search_bar.textChanged.connect(self.search_games) self.head_bar.search_bar.textChanged.connect(self.scroll_to_top) self.head_bar.filterChanged.connect(self.filter_games) self.head_bar.filterChanged.connect(self.scroll_to_top) @@ -170,17 +170,16 @@ class GamesTab(QStackedWidget): list_widget.show_info.connect(self.show_game_info) return icon_widget, list_widget + @pyqtSlot(str) + def search_games(self, search_text: str = ""): + self.filter_games(self.head_bar.current_filter(), search_text) + @pyqtSlot(int) @pyqtSlot(int, str) def filter_games(self, library_filter: LibraryFilter = LibraryFilter.ALL, search_text: str = ""): if not search_text and (t := self.head_bar.search_bar.text()): search_text = t - # if library_filter: - # self.active_filter = filter_type - # if not library_filter and (t := self.active_filter): - # library_filter = t - self.library_controller.filter_game_views(library_filter, search_text.lower()) @pyqtSlot(int) diff --git a/rare/components/tabs/games/game_widgets/__init__.py b/rare/components/tabs/games/game_widgets/__init__.py index c998421c..50b10116 100644 --- a/rare/components/tabs/games/game_widgets/__init__.py +++ b/rare/components/tabs/games/game_widgets/__init__.py @@ -67,15 +67,15 @@ class LibraryWidgetController(QObject): return visible, opacity - def filter_game_views(self, filter_name="all", search_text: str = ""): + def filter_game_views(self, library_filter=LibraryFilter.ALL, search_text: str = ""): icon_widgets = self._icon_container.findChildren(IconGameWidget) list_widgets = self._list_container.findChildren(ListGameWidget) for iw in icon_widgets: - visibility, opacity = self.__visibility(iw, filter_name, search_text) + visibility, opacity = self.__visibility(iw, library_filter, search_text) iw.setOpacity(opacity) iw.setVisible(visibility) for lw in list_widgets: - visibility, opacity = self.__visibility(lw, filter_name, search_text) + visibility, opacity = self.__visibility(lw, library_filter, search_text) lw.setOpacity(opacity) lw.setVisible(visibility) self.order_game_views(search_text=search_text)