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]
|
[TYPECHECK]
|
||||||
ignored-modules=win32file,pywintypes,socket,win32pipe,winrt,pyaudio
|
ignored-modules=win32file,pywintypes,socket,win32pipe,winrt,pyaudio
|
||||||
|
ignored-classes=FilterToSearchIn
|
||||||
|
|
||||||
[REPORTS]
|
[REPORTS]
|
||||||
output-format=colorized
|
output-format=colorized
|
||||||
|
|
|
@ -1015,13 +1015,31 @@ QTableView {{ gridline-color: {grid} }}
|
||||||
subm.addChild(
|
subm.addChild(
|
||||||
self._simpleFilters(
|
self._simpleFilters(
|
||||||
(
|
(
|
||||||
(tr(TR.ACTIONS_NEW), SearchTerm(new=True)),
|
(
|
||||||
(tr(TR.SCHEDULING_LEARNING), SearchTerm(learn=True)),
|
tr(TR.ACTIONS_NEW),
|
||||||
(tr(TR.SCHEDULING_REVIEW), SearchTerm(review=True)),
|
SearchTerm(card_state=SearchTerm.CardState.NEW),
|
||||||
(tr(TR.FILTERING_IS_DUE), SearchTerm(due=True)),
|
),
|
||||||
|
(
|
||||||
|
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,
|
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,
|
None,
|
||||||
(tr(TR.ACTIONS_RED_FLAG), SearchTerm(flag=Flag.RED)),
|
(tr(TR.ACTIONS_RED_FLAG), SearchTerm(flag=Flag.RED)),
|
||||||
(tr(TR.ACTIONS_ORANGE_FLAG), SearchTerm(flag=Flag.ORANGE)),
|
(tr(TR.ACTIONS_ORANGE_FLAG), SearchTerm(flag=Flag.ORANGE)),
|
||||||
|
|
|
@ -175,23 +175,28 @@ class CustomStudy(QDialog):
|
||||||
dyn["resched"] = True
|
dyn["resched"] = True
|
||||||
elif i == RADIO_PREVIEW:
|
elif i == RADIO_PREVIEW:
|
||||||
search = self.mw.col.build_search_string(
|
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["terms"][0] = [search, DYN_MAX_SIZE, DYN_OLDEST]
|
||||||
dyn["resched"] = False
|
dyn["resched"] = False
|
||||||
elif i == RADIO_CRAM:
|
elif i == RADIO_CRAM:
|
||||||
type = f.cardType.currentRow()
|
type = f.cardType.currentRow()
|
||||||
if type == TYPE_NEW:
|
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
|
ord = DYN_ADDED
|
||||||
dyn["resched"] = True
|
dyn["resched"] = True
|
||||||
elif type == TYPE_DUE:
|
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
|
ord = DYN_DUE
|
||||||
dyn["resched"] = True
|
dyn["resched"] = True
|
||||||
elif type == TYPE_REVIEW:
|
elif type == TYPE_REVIEW:
|
||||||
terms = self.mw.col.build_search_string(
|
terms = self.mw.col.build_search_string(
|
||||||
SearchTerm(new=True), negate=True
|
SearchTerm(card_state=SearchTerm.CardState.NEW), negate=True
|
||||||
)
|
)
|
||||||
ord = DYN_RANDOM
|
ord = DYN_RANDOM
|
||||||
dyn["resched"] = True
|
dyn["resched"] = True
|
||||||
|
|
|
@ -47,9 +47,13 @@ class DeckConf(QDialog):
|
||||||
self.initialSetup()
|
self.initialSetup()
|
||||||
self.loadConf()
|
self.loadConf()
|
||||||
if search:
|
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)
|
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_2.setText(search_2)
|
||||||
self.form.search.selectAll()
|
self.form.search.selectAll()
|
||||||
|
|
||||||
|
|
|
@ -789,6 +789,14 @@ message FilterToSearchIn {
|
||||||
uint32 days = 1;
|
uint32 days = 1;
|
||||||
Rating rating = 2;
|
Rating rating = 2;
|
||||||
}
|
}
|
||||||
|
enum CardState {
|
||||||
|
NEW = 0;
|
||||||
|
LEARN = 1;
|
||||||
|
REVIEW = 2;
|
||||||
|
DUE = 3;
|
||||||
|
SUSPENDED = 4;
|
||||||
|
BURIED = 5;
|
||||||
|
}
|
||||||
oneof filter {
|
oneof filter {
|
||||||
string tag = 1;
|
string tag = 1;
|
||||||
string deck = 2;
|
string deck = 2;
|
||||||
|
@ -803,12 +811,7 @@ message FilterToSearchIn {
|
||||||
bool whole_collection = 11;
|
bool whole_collection = 11;
|
||||||
bool current_deck = 12;
|
bool current_deck = 12;
|
||||||
Flag flag = 13;
|
Flag flag = 13;
|
||||||
bool new = 14;
|
CardState card_state = 14;
|
||||||
bool learn = 15;
|
|
||||||
bool review = 16;
|
|
||||||
bool due = 17;
|
|
||||||
bool suspended = 18;
|
|
||||||
bool buried = 19;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -328,12 +328,11 @@ impl From<pb::FilterToSearchIn> for Node<'_> {
|
||||||
}),
|
}),
|
||||||
Filter::WholeCollection(_) => Node::Search(SearchNode::WholeCollection),
|
Filter::WholeCollection(_) => Node::Search(SearchNode::WholeCollection),
|
||||||
Filter::CurrentDeck(_) => Node::Search(SearchNode::Deck("current".into())),
|
Filter::CurrentDeck(_) => Node::Search(SearchNode::Deck("current".into())),
|
||||||
Filter::New(_) => Node::Search(SearchNode::State(StateKind::New)),
|
Filter::CardState(state) => Node::Search(SearchNode::State(
|
||||||
Filter::Learn(_) => Node::Search(SearchNode::State(StateKind::Learning)),
|
pb::filter_to_search_in::CardState::from_i32(state)
|
||||||
Filter::Review(_) => Node::Search(SearchNode::State(StateKind::Review)),
|
.unwrap_or_default()
|
||||||
Filter::Due(_) => Node::Search(SearchNode::State(StateKind::Due)),
|
.into(),
|
||||||
Filter::Suspended(_) => Node::Search(SearchNode::State(StateKind::Suspended)),
|
)),
|
||||||
Filter::Buried(_) => Node::Search(SearchNode::State(StateKind::Buried)),
|
|
||||||
Filter::Flag(flag) => match Flag::from_i32(flag).unwrap_or(Flag::Any) {
|
Filter::Flag(flag) => match Flag::from_i32(flag).unwrap_or(Flag::Any) {
|
||||||
Flag::Without => Node::Search(SearchNode::Flag(0)),
|
Flag::Without => Node::Search(SearchNode::Flag(0)),
|
||||||
Flag::Any => Node::Not(Box::new(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 {
|
impl BackendService for Backend {
|
||||||
fn latest_progress(&self, _input: Empty) -> BackendResult<pb::Progress> {
|
fn latest_progress(&self, _input: Empty) -> BackendResult<pb::Progress> {
|
||||||
let progress = self.progress_state.lock().unwrap().last_progress;
|
let progress = self.progress_state.lock().unwrap().last_progress;
|
||||||
|
|
Loading…
Reference in a new issue