1
0
Fork 0
mirror of synced 2024-05-18 11:32:50 +12:00

Library: Fix filtering while searching for games

This commit is contained in:
loathingKernel 2024-01-13 15:56:28 +02:00
parent aadf795d21
commit f33c89a411
2 changed files with 8 additions and 9 deletions

View file

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

View file

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