mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
Replace remaining literal searches in aqt
This commit is contained in:
parent
ea46e24662
commit
77765d4896
4 changed files with 23 additions and 13 deletions
|
@ -2,6 +2,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
|
||||
import aqt
|
||||
from anki.collection import NamedFilter
|
||||
from anki.consts import *
|
||||
from aqt.qt import *
|
||||
from aqt.utils import TR, disable_help_button, showInfo, showWarning, tr
|
||||
|
@ -159,26 +160,29 @@ class CustomStudy(QDialog):
|
|||
dyn = self.mw.col.decks.get(did)
|
||||
# and then set various options
|
||||
if i == RADIO_FORGOT:
|
||||
dyn["terms"][0] = ["rated:%d:1" % spin, DYN_MAX_SIZE, DYN_RANDOM]
|
||||
search = self.mw.col.search_string(forgot_in=spin)
|
||||
dyn["terms"][0] = [search, DYN_MAX_SIZE, DYN_RANDOM]
|
||||
dyn["resched"] = False
|
||||
elif i == RADIO_AHEAD:
|
||||
dyn["terms"][0] = ["prop:due<=%d" % spin, DYN_MAX_SIZE, DYN_DUE]
|
||||
search = self.mw.col.search_string(due_in=spin)
|
||||
dyn["terms"][0] = [search, DYN_MAX_SIZE, DYN_DUE]
|
||||
dyn["resched"] = True
|
||||
elif i == RADIO_PREVIEW:
|
||||
dyn["terms"][0] = ["is:new added:%s" % spin, DYN_MAX_SIZE, DYN_OLDEST]
|
||||
search = self.mw.col.search_string(name=NamedFilter.NEW, added_in=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 = "is:new "
|
||||
terms = self.mw.col.search_string(name=NamedFilter.NEW)
|
||||
ord = DYN_ADDED
|
||||
dyn["resched"] = True
|
||||
elif type == TYPE_DUE:
|
||||
terms = "is:due "
|
||||
terms = self.mw.col.search_string(name=NamedFilter.DUE)
|
||||
ord = DYN_DUE
|
||||
dyn["resched"] = True
|
||||
elif type == TYPE_REVIEW:
|
||||
terms = "-is:new "
|
||||
terms = self.mw.col.search_string(negate=True, name=NamedFilter.NEW)
|
||||
ord = DYN_RANDOM
|
||||
dyn["resched"] = True
|
||||
else:
|
||||
|
@ -187,7 +191,9 @@ class CustomStudy(QDialog):
|
|||
dyn["resched"] = False
|
||||
dyn["terms"][0] = [(terms + tags).strip(), spin, ord]
|
||||
# add deck limit
|
||||
dyn["terms"][0][0] = 'deck:"%s" %s ' % (self.deck["name"], dyn["terms"][0][0])
|
||||
dyn["terms"][0][0] = self.mw.col.search_string(
|
||||
deck=self.deck["name"], searches=[dyn["terms"][0][0]]
|
||||
)
|
||||
self.mw.col.decks.save(dyn)
|
||||
# generate cards
|
||||
self.created_custom_study = True
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
from typing import List, Optional
|
||||
|
||||
import aqt
|
||||
from anki.collection import InvalidInput, NamedFilter
|
||||
from anki.lang import without_unicode_isolation
|
||||
from anki.rsbackend import InvalidInput
|
||||
from aqt.qt import *
|
||||
from aqt.utils import (
|
||||
TR,
|
||||
|
@ -47,8 +47,12 @@ class DeckConf(QDialog):
|
|||
self.initialSetup()
|
||||
self.loadConf()
|
||||
if search:
|
||||
self.form.search.setText(search + " is:due")
|
||||
self.form.search_2.setText(search + " is:new")
|
||||
search = self.mw.col.search_string(searches=[search], name=NamedFilter.DUE)
|
||||
self.form.search.setText(search)
|
||||
search_2 = self.mw.col.search_string(
|
||||
searches=[search], name=NamedFilter.NEW
|
||||
)
|
||||
self.form.search_2.setText(search_2)
|
||||
self.form.search.selectAll()
|
||||
|
||||
if self.mw.col.schedVer() == 1:
|
||||
|
|
|
@ -1141,7 +1141,7 @@ title="%s" %s>%s</button>""" % (
|
|||
deck = self.col.decks.current()
|
||||
if not search:
|
||||
if not deck["dyn"]:
|
||||
search = 'deck:"%s" ' % deck["name"]
|
||||
search = self.col.search_string(deck=deck["name"])
|
||||
while self.col.decks.id_for_name(
|
||||
without_unicode_isolation(tr(TR.QT_MISC_FILTERED_DECK, val=n))
|
||||
):
|
||||
|
|
|
@ -71,8 +71,8 @@ class Overview:
|
|||
elif url == "opts":
|
||||
self.mw.onDeckConf()
|
||||
elif url == "cram":
|
||||
deck = self.mw.col.decks.current()
|
||||
self.mw.onCram("'deck:%s'" % deck["name"])
|
||||
deck = self.mw.col.decks.current()["name"]
|
||||
self.mw.onCram(self.mw.col.search_string(deck=deck))
|
||||
elif url == "refresh":
|
||||
self.mw.col.sched.rebuild_filtered_deck(self.mw.col.decks.selected())
|
||||
self.mw.reset()
|
||||
|
|
Loading…
Reference in a new issue