Library: Fix filtering while searching for games
This commit is contained in:
parent
aadf795d21
commit
f33c89a411
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue