mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
rebuild q/a cache on model properties close
This commit is contained in:
parent
e67e3320a9
commit
d9f4e169fc
1 changed files with 9 additions and 4 deletions
|
@ -23,6 +23,7 @@ class ModelProperties(QDialog):
|
||||||
self.deck = deck
|
self.deck = deck
|
||||||
self.origModTime = self.deck.modified
|
self.origModTime = self.deck.modified
|
||||||
self.m = model
|
self.m = model
|
||||||
|
self.needRebuild = False
|
||||||
self.onFinish = onFinish
|
self.onFinish = onFinish
|
||||||
self.dialog = ankiqt.forms.modelproperties.Ui_ModelProperties()
|
self.dialog = ankiqt.forms.modelproperties.Ui_ModelProperties()
|
||||||
self.dialog.setupUi(self)
|
self.dialog.setupUi(self)
|
||||||
|
@ -340,7 +341,7 @@ order by n""", id=card.id)
|
||||||
s = unicode(self.dialog.cardAnswer.toPlainText())
|
s = unicode(self.dialog.cardAnswer.toPlainText())
|
||||||
s = s.replace("<br>\n", "<br>")
|
s = s.replace("<br>\n", "<br>")
|
||||||
changed2 = self.updateField(card, 'aformat', s)
|
changed2 = self.updateField(card, 'aformat', s)
|
||||||
changed = changed or changed2
|
self.needRebuild = self.needRebuild or changed or changed2
|
||||||
self.updateField(card, 'questionInAnswer', self.dialog.questionInAnswer.isChecked())
|
self.updateField(card, 'questionInAnswer', self.dialog.questionInAnswer.isChecked())
|
||||||
self.updateField(card, 'allowEmptyAnswer', self.dialog.allowEmptyAnswer.isChecked())
|
self.updateField(card, 'allowEmptyAnswer', self.dialog.allowEmptyAnswer.isChecked())
|
||||||
idx = self.dialog.typeAnswer.currentIndex()
|
idx = self.dialog.typeAnswer.currentIndex()
|
||||||
|
@ -348,9 +349,6 @@ order by n""", id=card.id)
|
||||||
self.updateField(card, 'typeAnswer', u"")
|
self.updateField(card, 'typeAnswer', u"")
|
||||||
else:
|
else:
|
||||||
self.updateField(card, 'typeAnswer', self.fieldNames[idx-1])
|
self.updateField(card, 'typeAnswer', self.fieldNames[idx-1])
|
||||||
if changed:
|
|
||||||
# need to generate all question/answers for this card
|
|
||||||
self.deck.updateCardsFromModel(self.m)
|
|
||||||
self.ignoreCardUpdate = True
|
self.ignoreCardUpdate = True
|
||||||
self.updateCards()
|
self.updateCards()
|
||||||
self.ignoreCardUpdate = False
|
self.ignoreCardUpdate = False
|
||||||
|
@ -491,8 +489,15 @@ order by n""", id=card.id)
|
||||||
self.m.setModified()
|
self.m.setModified()
|
||||||
self.deck.setModified()
|
self.deck.setModified()
|
||||||
# if changed, reset deck
|
# if changed, reset deck
|
||||||
|
reset = False
|
||||||
if self.origModTime != self.deck.modified:
|
if self.origModTime != self.deck.modified:
|
||||||
self.deck.updateTagsForModel(self.m)
|
self.deck.updateTagsForModel(self.m)
|
||||||
|
reset = True
|
||||||
|
if self.needRebuild:
|
||||||
|
# need to generate q/a templates
|
||||||
|
self.deck.updateCardsFromModel(self.m)
|
||||||
|
reset = True
|
||||||
|
if reset:
|
||||||
ankiqt.mw.reset()
|
ankiqt.mw.reset()
|
||||||
if self.onFinish:
|
if self.onFinish:
|
||||||
self.onFinish()
|
self.onFinish()
|
||||||
|
|
Loading…
Reference in a new issue