reset on show to prevent changes in the background; fix editcurrent return

This commit is contained in:
Damien Elmes 2011-04-16 04:29:55 +09:00
parent 2c7a939073
commit d9b08a8b28
3 changed files with 11 additions and 9 deletions

View file

@ -23,7 +23,6 @@ class AddCards(QDialog):
self.mw = mw
self.form = aqt.forms.addcards.Ui_Dialog()
self.form.setupUi(self)
#self.setWindowModality(Qt.WindowModal)
self.setWindowTitle(_("Add"))
self.setMinimumHeight(400)
self.setMinimumWidth(500)
@ -35,6 +34,7 @@ class AddCards(QDialog):
self.forceClose = False
#restoreGeom(self, "add")
addHook('reset', self.onReset)
self.mw.requireReset()
self.open()
self.setupNewFact()
@ -155,7 +155,6 @@ question or answer on all cards."""), help="AddItems")
# stop anything playing
clearAudioQueue()
self.setupNewFact()
self.mw.requireReset()
self.mw.deck.autosave()
def keyPressEvent(self, evt):

View file

@ -14,7 +14,6 @@ class EditCurrent(QDialog):
self.mw = mw
self.form = aqt.forms.editcurrent.Ui_Dialog()
self.form.setupUi(self)
self.setWindowModality(Qt.WindowModal)
self.setWindowTitle(_("Edit Current"))
self.setMinimumHeight(400)
self.setMinimumWidth(500)
@ -27,12 +26,13 @@ class EditCurrent(QDialog):
self.editor = aqt.editor.Editor(self.mw, self.form.fieldsArea)
self.editor.setFact(self.mw.reviewer.card.fact())
restoreGeom(self, "editcurrent")
self.show()
self.mw.requireReset()
self.open()
def onSave(self):
self.editor.saveNow()
self.editor.setFact(None)
self.mw.reviewer.card.load()
self.mw.reviewer.showQuestion()
self.mw.reviewer.show(keep=True)
saveGeom(self, "editcurrent")
self.close()

View file

@ -25,10 +25,13 @@ class Reviewer(object):
self._setupStatus()
addHook("leech", self.onLeech)
def show(self):
def show(self, keep=False):
self.web.setKeyHandler(self._keyHandler)
self.web.setLinkHandler(self._linkHandler)
self.nextCard()
if keep:
self._initWeb()
else:
self.nextCard()
def lastCard(self):
if self._answeredIds:
@ -138,12 +141,12 @@ $(".ansbut").focus();
def _initWeb(self):
self.web.stdHtml(self._revHtml % dict(
showans=_("Show Answer")), self._styles(),
loadCB=lambda x: self.showQuestion())
loadCB=lambda x: self._showQuestion())
# Showing the question (and preparing answer)
##########################################################################
def showQuestion(self):
def _showQuestion(self):
# fixme: timeboxing
# fixme: timer
self.state = "question"