mirror of
https://github.com/ankitects/anki.git
synced 2025-09-23 16:26:40 -04:00
always refresh fact on row change; fix add/del cards
This commit is contained in:
parent
2db6bf51c2
commit
fe17266b8d
2 changed files with 34 additions and 27 deletions
|
@ -414,6 +414,7 @@ class Browser(QMainWindow):
|
|||
self.setTabOrder(self.form.searchEdit, self.form.tableView)
|
||||
|
||||
def onSearch(self, reset=True):
|
||||
"Careful: if reset is true, the current fact is saved."
|
||||
txt = unicode(self.form.searchEdit.text()).strip()
|
||||
self.model.search(txt, reset)
|
||||
if not self.model.cards:
|
||||
|
@ -707,13 +708,17 @@ where id in %s""" % ids2str(
|
|||
# but otherwise we can put it off until the user starts studying again
|
||||
print "fixme: resetDeck()"
|
||||
|
||||
# Card generation
|
||||
# Misc menu options
|
||||
######################################################################
|
||||
|
||||
def genCards(self):
|
||||
GenCards(self)
|
||||
|
||||
# Menu options
|
||||
def cram(self):
|
||||
self.close()
|
||||
self.mw.onCram(self.selectedCards())
|
||||
|
||||
# Card deletion
|
||||
######################################################################
|
||||
|
||||
def deleteCards(self):
|
||||
|
@ -728,35 +733,37 @@ where id in %s""" % ids2str(
|
|||
self.model.endReset()
|
||||
self.resetDeck()
|
||||
|
||||
def addTags(self, tags=None, label=None):
|
||||
# focus lost hook may not have chance to fire
|
||||
self.editor.saveNow()
|
||||
# Tags
|
||||
######################################################################
|
||||
|
||||
def addTags(self, tags=None, label=None, prompt=None, func=None):
|
||||
if prompt is None:
|
||||
prompt = _("Enter tags to add:")
|
||||
if tags is None:
|
||||
(tags, r) = ui.utils.getTag(self, self.deck, _("Enter tags to add:"))
|
||||
(tags, r) = getTag(self, self.deck, prompt)
|
||||
else:
|
||||
r = True
|
||||
if not r:
|
||||
return
|
||||
if label is None:
|
||||
label = _("Add Tags")
|
||||
if r:
|
||||
self.deck.setUndoStart(label)
|
||||
self.deck.addTags(self.selectedFacts(), tags)
|
||||
self.deck.setUndoEnd(label)
|
||||
self.onSearch()
|
||||
if func is None:
|
||||
func = self.deck.addTags
|
||||
self.model.beginReset()
|
||||
self.mw.checkpoint(label)
|
||||
func(self.selectedFacts(), tags)
|
||||
self.onSearch(reset=False)
|
||||
self.resetDeck()
|
||||
self.model.endReset()
|
||||
|
||||
def deleteTags(self, tags=None, label=None):
|
||||
# focus lost hook may not have chance to fire
|
||||
self.editor.saveNow()
|
||||
if tags is None:
|
||||
(tags, r) = ui.utils.getTag(self, self.deck, _("Enter tags to delete:"))
|
||||
else:
|
||||
r = True
|
||||
if label is None:
|
||||
label = _("Delete Tags")
|
||||
if r:
|
||||
self.deck.setUndoStart(label)
|
||||
self.deck.deleteTags(self.selectedFacts(), tags)
|
||||
self.deck.setUndoEnd(label)
|
||||
self.onSearch()
|
||||
self.addTags(tags, label, _("Enter tags to delete:"),
|
||||
func=self.deck.delTags)
|
||||
|
||||
# Suspending and marking
|
||||
######################################################################
|
||||
|
||||
def updateToggles(self):
|
||||
self.form.actionToggleSuspend.setChecked(self.isSuspended())
|
||||
|
@ -806,6 +813,9 @@ where id in %s""" % ids2str(
|
|||
def _onUnmark(self):
|
||||
self.deleteTags(tags="Marked", label=_("Toggle Mark"))
|
||||
|
||||
# Rescheduling
|
||||
######################################################################
|
||||
|
||||
def reschedule(self):
|
||||
n = _("Reschedule")
|
||||
d = QDialog(self)
|
||||
|
@ -832,9 +842,8 @@ where id in %s""" % ids2str(
|
|||
self.deck.setUndoEnd(n)
|
||||
self.resetDeck()
|
||||
|
||||
def cram(self):
|
||||
self.close()
|
||||
self.mw.onCram(self.selectedCards())
|
||||
# Model changing
|
||||
######################################################################
|
||||
|
||||
def onChangeModel(self):
|
||||
sf = self.selectedFacts()
|
||||
|
|
|
@ -352,8 +352,6 @@ class Editor(object):
|
|||
|
||||
def setFact(self, fact):
|
||||
"Make FACT the current fact."
|
||||
if self.fact and fact and self.fact.id == fact.id:
|
||||
return
|
||||
self.fact = fact
|
||||
# change timer
|
||||
if self.fact:
|
||||
|
|
Loading…
Reference in a new issue