mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
Prettify frontend filter code
This commit is contained in:
parent
fda2bfdb4e
commit
b99d9cda74
2 changed files with 10 additions and 14 deletions
|
@ -262,10 +262,10 @@ class RustBackend(RustBackendGenerated):
|
|||
err.ParseFromString(err_bytes)
|
||||
raise proto_exception_to_native(err)
|
||||
|
||||
def filters_to_searches(self, **kwargs) -> List[str]:
|
||||
def filters_to_searches(self, filters: dict) -> List[str]:
|
||||
return [
|
||||
self.filter_to_search(pb.FilterToSearchIn(**dict([f])))
|
||||
for f in kwargs.items()
|
||||
self.filter_to_search(pb.FilterToSearchIn(**{key: val}))
|
||||
for key, val in filters.items()
|
||||
]
|
||||
|
||||
|
||||
|
|
|
@ -1128,7 +1128,7 @@ QTableView {{ gridline-color: {grid} }}
|
|||
item = SidebarItem(
|
||||
name,
|
||||
":/icons/heart.svg",
|
||||
lambda s=filt: self.setFilter(s), # type: ignore
|
||||
self._filterFunc(filt),
|
||||
item_type=SidebarItemType.FILTER,
|
||||
)
|
||||
root.addChild(item)
|
||||
|
@ -1139,7 +1139,7 @@ QTableView {{ gridline-color: {grid} }}
|
|||
item = SidebarItem(
|
||||
t,
|
||||
":/icons/tag.svg",
|
||||
lambda t=t: self.setFilter(tag=t), # type: ignore
|
||||
self._filterFunc(tag=t),
|
||||
item_type=SidebarItemType.TAG,
|
||||
)
|
||||
root.addChild(item)
|
||||
|
@ -1179,7 +1179,7 @@ QTableView {{ gridline-color: {grid} }}
|
|||
item = SidebarItem(
|
||||
m.name,
|
||||
":/icons/notetype.svg",
|
||||
lambda m=m: self.setFilter(note=m.name), # type: ignore
|
||||
self._filterFunc(note=m.name),
|
||||
item_type=SidebarItemType.NOTETYPE,
|
||||
)
|
||||
root.addChild(item)
|
||||
|
@ -1207,12 +1207,11 @@ QTableView {{ gridline-color: {grid} }}
|
|||
|
||||
ml.popupOver(self.form.filter)
|
||||
|
||||
def setFilter(self, *args, **kwargs):
|
||||
# args are literal searches, kwargs are searches provided by the backend
|
||||
def setFilter(self, *search_strings, **filters):
|
||||
try:
|
||||
filters = self.col.backend.filters_to_searches(**kwargs)
|
||||
filter_searches = self.col.backend.filters_to_searches(filters)
|
||||
search = self.col.backend.concatenate_searches(
|
||||
sep=ConcatSeparator.AND, searches=list(args) + filters
|
||||
sep=ConcatSeparator.AND, searches=list(search_strings) + filter_searches
|
||||
)
|
||||
mods = self.mw.app.keyboardModifiers()
|
||||
if mods & Qt.AltModifier:
|
||||
|
@ -1258,10 +1257,7 @@ QTableView {{ gridline-color: {grid} }}
|
|||
return self._simpleFilters(
|
||||
(
|
||||
(tr(TR.BROWSING_WHOLE_COLLECTION), NamedFilter.WHOLE_COLLECTION),
|
||||
(
|
||||
tr(TR.BROWSING_CURRENT_DECK),
|
||||
NamedFilter.CURRENT_DECK,
|
||||
),
|
||||
(tr(TR.BROWSING_CURRENT_DECK), NamedFilter.CURRENT_DECK),
|
||||
)
|
||||
)
|
||||
|
||||
|
|
Loading…
Reference in a new issue