mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 14:32:22 -04:00
Remove protobuf filters whole_col and current_deck
This commit is contained in:
parent
5d810dd799
commit
13c6921da1
4 changed files with 57 additions and 55 deletions
|
@ -609,7 +609,7 @@ class Browser(QMainWindow):
|
||||||
tr(TR.BROWSING_SEARCH_BAR_HINT)
|
tr(TR.BROWSING_SEARCH_BAR_HINT)
|
||||||
)
|
)
|
||||||
self.form.searchEdit.addItems(self.mw.pm.profile["searchHistory"])
|
self.form.searchEdit.addItems(self.mw.pm.profile["searchHistory"])
|
||||||
self.search_for(self.col.build_search_string(SearchTerm(current_deck=True)), "")
|
self.search_for(self.col.build_search_string(SearchTerm(deck="current")), "")
|
||||||
self.form.searchEdit.setFocus()
|
self.form.searchEdit.setFocus()
|
||||||
|
|
||||||
# search triggered by user
|
# search triggered by user
|
||||||
|
|
|
@ -462,14 +462,14 @@ class SidebarTreeView(QTreeView):
|
||||||
item = SidebarItem(
|
item = SidebarItem(
|
||||||
tr(TR.BROWSING_WHOLE_COLLECTION),
|
tr(TR.BROWSING_WHOLE_COLLECTION),
|
||||||
":/icons/collection.svg",
|
":/icons/collection.svg",
|
||||||
self._filter_func(SearchTerm(whole_collection=True)),
|
self._filter_func(),
|
||||||
item_type=SidebarItemType.COLLECTION,
|
item_type=SidebarItemType.COLLECTION,
|
||||||
)
|
)
|
||||||
root.addChild(item)
|
root.addChild(item)
|
||||||
item = SidebarItem(
|
item = SidebarItem(
|
||||||
tr(TR.BROWSING_CURRENT_DECK),
|
tr(TR.BROWSING_CURRENT_DECK),
|
||||||
":/icons/deck.svg",
|
":/icons/deck.svg",
|
||||||
self._filter_func(SearchTerm(current_deck=True)),
|
self._filter_func(SearchTerm(deck="current")),
|
||||||
item_type=SidebarItemType.CURRENT_DECK,
|
item_type=SidebarItemType.CURRENT_DECK,
|
||||||
)
|
)
|
||||||
root.addChild(item)
|
root.addChild(item)
|
||||||
|
|
|
@ -811,11 +811,9 @@ message SearchTerm {
|
||||||
Rated rated = 8;
|
Rated rated = 8;
|
||||||
uint32 added_in_days = 9;
|
uint32 added_in_days = 9;
|
||||||
int32 due_in_days = 10;
|
int32 due_in_days = 10;
|
||||||
bool whole_collection = 11;
|
Flag flag = 11;
|
||||||
bool current_deck = 12;
|
CardState card_state = 12;
|
||||||
Flag flag = 13;
|
IdList nids = 13;
|
||||||
CardState card_state = 14;
|
|
||||||
IdList nids = 15;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -294,54 +294,58 @@ impl From<pb::SearchTerm> for Node<'_> {
|
||||||
fn from(msg: pb::SearchTerm) -> Self {
|
fn from(msg: pb::SearchTerm) -> Self {
|
||||||
use pb::search_term::Filter;
|
use pb::search_term::Filter;
|
||||||
use pb::search_term::Flag;
|
use pb::search_term::Flag;
|
||||||
match msg.filter.unwrap_or(Filter::WholeCollection(true)) {
|
if let Some(filter) = msg.filter {
|
||||||
Filter::Tag(s) => Node::Search(SearchNode::Tag(
|
match filter {
|
||||||
escape_anki_wildcards(&s).into_owned().into(),
|
Filter::Tag(s) => Node::Search(SearchNode::Tag(
|
||||||
)),
|
escape_anki_wildcards(&s).into_owned().into(),
|
||||||
Filter::Deck(s) => Node::Search(SearchNode::Deck(
|
)),
|
||||||
escape_anki_wildcards(&s).into_owned().into(),
|
Filter::Deck(s) => Node::Search(SearchNode::Deck(
|
||||||
)),
|
escape_anki_wildcards(&s).into_owned().into(),
|
||||||
Filter::Note(s) => Node::Search(SearchNode::NoteType(
|
)),
|
||||||
escape_anki_wildcards(&s).into_owned().into(),
|
Filter::Note(s) => Node::Search(SearchNode::NoteType(
|
||||||
)),
|
escape_anki_wildcards(&s).into_owned().into(),
|
||||||
Filter::Template(u) => {
|
)),
|
||||||
Node::Search(SearchNode::CardTemplate(TemplateKind::Ordinal(u as u16)))
|
Filter::Template(u) => {
|
||||||
|
Node::Search(SearchNode::CardTemplate(TemplateKind::Ordinal(u as u16)))
|
||||||
|
}
|
||||||
|
Filter::Nid(nid) => Node::Search(SearchNode::NoteIDs(nid.to_string().into())),
|
||||||
|
Filter::Nids(nids) => {
|
||||||
|
Node::Search(SearchNode::NoteIDs(nids.into_id_string().into()))
|
||||||
|
}
|
||||||
|
Filter::Dupe(dupe) => Node::Search(SearchNode::Duplicates {
|
||||||
|
note_type_id: dupe.notetype_id.into(),
|
||||||
|
text: dupe.first_field.into(),
|
||||||
|
}),
|
||||||
|
Filter::FieldName(s) => Node::Search(SearchNode::SingleField {
|
||||||
|
field: escape_anki_wildcards(&s).into_owned().into(),
|
||||||
|
text: "*".to_string().into(),
|
||||||
|
is_re: false,
|
||||||
|
}),
|
||||||
|
Filter::Rated(rated) => Node::Search(SearchNode::Rated {
|
||||||
|
days: rated.days,
|
||||||
|
ease: rated.rating().into(),
|
||||||
|
}),
|
||||||
|
Filter::AddedInDays(u) => Node::Search(SearchNode::AddedInDays(u)),
|
||||||
|
Filter::DueInDays(i) => Node::Search(SearchNode::Property {
|
||||||
|
operator: "<=".to_string(),
|
||||||
|
kind: PropertyKind::Due(i),
|
||||||
|
}),
|
||||||
|
Filter::CardState(state) => Node::Search(SearchNode::State(
|
||||||
|
pb::search_term::CardState::from_i32(state)
|
||||||
|
.unwrap_or_default()
|
||||||
|
.into(),
|
||||||
|
)),
|
||||||
|
Filter::Flag(flag) => match Flag::from_i32(flag).unwrap_or(Flag::Any) {
|
||||||
|
Flag::None => Node::Search(SearchNode::Flag(0)),
|
||||||
|
Flag::Any => Node::Not(Box::new(Node::Search(SearchNode::Flag(0)))),
|
||||||
|
Flag::Red => Node::Search(SearchNode::Flag(1)),
|
||||||
|
Flag::Orange => Node::Search(SearchNode::Flag(2)),
|
||||||
|
Flag::Green => Node::Search(SearchNode::Flag(3)),
|
||||||
|
Flag::Blue => Node::Search(SearchNode::Flag(4)),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
Filter::Nid(nid) => Node::Search(SearchNode::NoteIDs(nid.to_string().into())),
|
} else {
|
||||||
Filter::Nids(nids) => Node::Search(SearchNode::NoteIDs(nids.into_id_string().into())),
|
Node::Search(SearchNode::WholeCollection)
|
||||||
Filter::Dupe(dupe) => Node::Search(SearchNode::Duplicates {
|
|
||||||
note_type_id: dupe.notetype_id.into(),
|
|
||||||
text: dupe.first_field.into(),
|
|
||||||
}),
|
|
||||||
Filter::FieldName(s) => Node::Search(SearchNode::SingleField {
|
|
||||||
field: escape_anki_wildcards(&s).into_owned().into(),
|
|
||||||
text: "*".to_string().into(),
|
|
||||||
is_re: false,
|
|
||||||
}),
|
|
||||||
Filter::Rated(rated) => Node::Search(SearchNode::Rated {
|
|
||||||
days: rated.days,
|
|
||||||
ease: rated.rating().into(),
|
|
||||||
}),
|
|
||||||
Filter::AddedInDays(u) => Node::Search(SearchNode::AddedInDays(u)),
|
|
||||||
Filter::DueInDays(i) => Node::Search(SearchNode::Property {
|
|
||||||
operator: "<=".to_string(),
|
|
||||||
kind: PropertyKind::Due(i),
|
|
||||||
}),
|
|
||||||
Filter::WholeCollection(_) => Node::Search(SearchNode::WholeCollection),
|
|
||||||
Filter::CurrentDeck(_) => Node::Search(SearchNode::Deck("current".into())),
|
|
||||||
Filter::CardState(state) => Node::Search(SearchNode::State(
|
|
||||||
pb::search_term::CardState::from_i32(state)
|
|
||||||
.unwrap_or_default()
|
|
||||||
.into(),
|
|
||||||
)),
|
|
||||||
Filter::Flag(flag) => match Flag::from_i32(flag).unwrap_or(Flag::Any) {
|
|
||||||
Flag::None => Node::Search(SearchNode::Flag(0)),
|
|
||||||
Flag::Any => Node::Not(Box::new(Node::Search(SearchNode::Flag(0)))),
|
|
||||||
Flag::Red => Node::Search(SearchNode::Flag(1)),
|
|
||||||
Flag::Orange => Node::Search(SearchNode::Flag(2)),
|
|
||||||
Flag::Green => Node::Search(SearchNode::Flag(3)),
|
|
||||||
Flag::Blue => Node::Search(SearchNode::Flag(4)),
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue