mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 16:56:36 -04:00
use a separate enum for the is:* searches
This commit is contained in:
parent
22b80c2dd5
commit
52bac7a7a1
6 changed files with 67 additions and 24 deletions
|
@ -5,6 +5,7 @@ ignore = forms,hooks_gen.py
|
|||
|
||||
[TYPECHECK]
|
||||
ignored-modules=win32file,pywintypes,socket,win32pipe,winrt,pyaudio
|
||||
ignored-classes=FilterToSearchIn
|
||||
|
||||
[REPORTS]
|
||||
output-format=colorized
|
||||
|
|
|
@ -1015,13 +1015,31 @@ QTableView {{ gridline-color: {grid} }}
|
|||
subm.addChild(
|
||||
self._simpleFilters(
|
||||
(
|
||||
(tr(TR.ACTIONS_NEW), SearchTerm(new=True)),
|
||||
(tr(TR.SCHEDULING_LEARNING), SearchTerm(learn=True)),
|
||||
(tr(TR.SCHEDULING_REVIEW), SearchTerm(review=True)),
|
||||
(tr(TR.FILTERING_IS_DUE), SearchTerm(due=True)),
|
||||
(
|
||||
tr(TR.ACTIONS_NEW),
|
||||
SearchTerm(card_state=SearchTerm.CardState.NEW),
|
||||
),
|
||||
(
|
||||
tr(TR.SCHEDULING_LEARNING),
|
||||
SearchTerm(card_state=SearchTerm.CardState.LEARN),
|
||||
),
|
||||
(
|
||||
tr(TR.SCHEDULING_REVIEW),
|
||||
SearchTerm(card_state=SearchTerm.CardState.REVIEW),
|
||||
),
|
||||
(
|
||||
tr(TR.FILTERING_IS_DUE),
|
||||
SearchTerm(card_state=SearchTerm.CardState.DUE),
|
||||
),
|
||||
None,
|
||||
(tr(TR.BROWSING_SUSPENDED), SearchTerm(suspended=True)),
|
||||
(tr(TR.BROWSING_BURIED), SearchTerm(buried=True)),
|
||||
(
|
||||
tr(TR.BROWSING_SUSPENDED),
|
||||
SearchTerm(card_state=SearchTerm.CardState.SUSPENDED),
|
||||
),
|
||||
(
|
||||
tr(TR.BROWSING_BURIED),
|
||||
SearchTerm(card_state=SearchTerm.CardState.BURIED),
|
||||
),
|
||||
None,
|
||||
(tr(TR.ACTIONS_RED_FLAG), SearchTerm(flag=Flag.RED)),
|
||||
(tr(TR.ACTIONS_ORANGE_FLAG), SearchTerm(flag=Flag.ORANGE)),
|
||||
|
|
|
@ -175,23 +175,28 @@ class CustomStudy(QDialog):
|
|||
dyn["resched"] = True
|
||||
elif i == RADIO_PREVIEW:
|
||||
search = self.mw.col.build_search_string(
|
||||
SearchTerm(new=True), SearchTerm(added_in_days=spin)
|
||||
SearchTerm(card_state=SearchTerm.CardState.NEW),
|
||||
SearchTerm(added_in_days=spin),
|
||||
)
|
||||
dyn["terms"][0] = [search, DYN_MAX_SIZE, DYN_OLDEST]
|
||||
dyn["resched"] = False
|
||||
elif i == RADIO_CRAM:
|
||||
type = f.cardType.currentRow()
|
||||
if type == TYPE_NEW:
|
||||
terms = self.mw.col.build_search_string(SearchTerm(new=True))
|
||||
terms = self.mw.col.build_search_string(
|
||||
SearchTerm(card_state=SearchTerm.CardState.NEW)
|
||||
)
|
||||
ord = DYN_ADDED
|
||||
dyn["resched"] = True
|
||||
elif type == TYPE_DUE:
|
||||
terms = self.mw.col.build_search_string(SearchTerm(due=True))
|
||||
terms = self.mw.col.build_search_string(
|
||||
SearchTerm(card_state=SearchTerm.CardState.DUE)
|
||||
)
|
||||
ord = DYN_DUE
|
||||
dyn["resched"] = True
|
||||
elif type == TYPE_REVIEW:
|
||||
terms = self.mw.col.build_search_string(
|
||||
SearchTerm(new=True), negate=True
|
||||
SearchTerm(card_state=SearchTerm.CardState.NEW), negate=True
|
||||
)
|
||||
ord = DYN_RANDOM
|
||||
dyn["resched"] = True
|
||||
|
|
|
@ -47,9 +47,13 @@ class DeckConf(QDialog):
|
|||
self.initialSetup()
|
||||
self.loadConf()
|
||||
if search:
|
||||
search = self.mw.col.build_search_string(search, SearchTerm(due=True))
|
||||
search = self.mw.col.build_search_string(
|
||||
search, SearchTerm(card_state=SearchTerm.CardState.DUE)
|
||||
)
|
||||
self.form.search.setText(search)
|
||||
search_2 = self.mw.col.build_search_string(search, SearchTerm(new=True))
|
||||
search_2 = self.mw.col.build_search_string(
|
||||
search, SearchTerm(card_state=SearchTerm.CardState.NEW)
|
||||
)
|
||||
self.form.search_2.setText(search_2)
|
||||
self.form.search.selectAll()
|
||||
|
||||
|
|
|
@ -789,6 +789,14 @@ message FilterToSearchIn {
|
|||
uint32 days = 1;
|
||||
Rating rating = 2;
|
||||
}
|
||||
enum CardState {
|
||||
NEW = 0;
|
||||
LEARN = 1;
|
||||
REVIEW = 2;
|
||||
DUE = 3;
|
||||
SUSPENDED = 4;
|
||||
BURIED = 5;
|
||||
}
|
||||
oneof filter {
|
||||
string tag = 1;
|
||||
string deck = 2;
|
||||
|
@ -803,12 +811,7 @@ message FilterToSearchIn {
|
|||
bool whole_collection = 11;
|
||||
bool current_deck = 12;
|
||||
Flag flag = 13;
|
||||
bool new = 14;
|
||||
bool learn = 15;
|
||||
bool review = 16;
|
||||
bool due = 17;
|
||||
bool suspended = 18;
|
||||
bool buried = 19;
|
||||
CardState card_state = 14;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -328,12 +328,11 @@ impl From<pb::FilterToSearchIn> for Node<'_> {
|
|||
}),
|
||||
Filter::WholeCollection(_) => Node::Search(SearchNode::WholeCollection),
|
||||
Filter::CurrentDeck(_) => Node::Search(SearchNode::Deck("current".into())),
|
||||
Filter::New(_) => Node::Search(SearchNode::State(StateKind::New)),
|
||||
Filter::Learn(_) => Node::Search(SearchNode::State(StateKind::Learning)),
|
||||
Filter::Review(_) => Node::Search(SearchNode::State(StateKind::Review)),
|
||||
Filter::Due(_) => Node::Search(SearchNode::State(StateKind::Due)),
|
||||
Filter::Suspended(_) => Node::Search(SearchNode::State(StateKind::Suspended)),
|
||||
Filter::Buried(_) => Node::Search(SearchNode::State(StateKind::Buried)),
|
||||
Filter::CardState(state) => Node::Search(SearchNode::State(
|
||||
pb::filter_to_search_in::CardState::from_i32(state)
|
||||
.unwrap_or_default()
|
||||
.into(),
|
||||
)),
|
||||
Filter::Flag(flag) => match Flag::from_i32(flag).unwrap_or(Flag::Any) {
|
||||
Flag::Without => Node::Search(SearchNode::Flag(0)),
|
||||
Flag::Any => Node::Not(Box::new(Node::Search(SearchNode::Flag(0)))),
|
||||
|
@ -368,6 +367,19 @@ impl From<pb::filter_to_search_in::rated::Rating> for EaseKind {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<pb::filter_to_search_in::CardState> for StateKind {
|
||||
fn from(k: pb::filter_to_search_in::CardState) -> Self {
|
||||
match k {
|
||||
pb::filter_to_search_in::CardState::New => StateKind::New,
|
||||
pb::filter_to_search_in::CardState::Learn => StateKind::Learning,
|
||||
pb::filter_to_search_in::CardState::Review => StateKind::Review,
|
||||
pb::filter_to_search_in::CardState::Due => StateKind::Due,
|
||||
pb::filter_to_search_in::CardState::Suspended => StateKind::Suspended,
|
||||
pb::filter_to_search_in::CardState::Buried => StateKind::Buried,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl BackendService for Backend {
|
||||
fn latest_progress(&self, _input: Empty) -> BackendResult<pb::Progress> {
|
||||
let progress = self.progress_state.lock().unwrap().last_progress;
|
||||
|
|
Loading…
Reference in a new issue