diff --git a/aqt/addcards.py b/aqt/addcards.py index 186c40f6a..bae574b25 100644 --- a/aqt/addcards.py +++ b/aqt/addcards.py @@ -32,9 +32,9 @@ class AddCards(QDialog): self.onReset() self.history = [] self.forceClose = False - #restoreGeom(self, "add") + restoreGeom(self, "add") addHook('reset', self.onReset) - self.mw.requireReset() + self.mw.requireReset(modal=True) self.open() self.setupNewFact() diff --git a/aqt/editcurrent.py b/aqt/editcurrent.py index e8976cbe1..4cc3aaebd 100644 --- a/aqt/editcurrent.py +++ b/aqt/editcurrent.py @@ -26,7 +26,7 @@ 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.mw.requireReset() + self.mw.requireReset(modal=True) self.open() # reset focus after open self.editor.web.setFocus() diff --git a/aqt/main.py b/aqt/main.py index 39105c3fd..e78467978 100755 --- a/aqt/main.py +++ b/aqt/main.py @@ -130,8 +130,9 @@ class AnkiQt(QMainWindow): self.deck.reset() runHook("reset") - def requireReset(self): + def requireReset(self, modal=False): "Signal queue needs to be rebuilt when edits are finished or by user." + self.resetModal = modal if self.state in ("overview", "review"): self.moveToState("resetRequired") elif self.state == "editCurrent": @@ -145,15 +146,19 @@ class AnkiQt(QMainWindow): def _resetRequiredState(self, oldState): self.returnState = oldState + if self.resetModal: + # we don't have to change the webview, as we have a covering window + return self.web.setKeyHandler(None) self.web.setLinkHandler(lambda url: self.maybeReset()) + i = _("Close the editing window to resume.") + b = self.button("refresh", _("Resume Now")) self.web.stdHtml("""
%s
%s
-""" % (_("Close the editing window to resume."), - self.button("refresh", _("Resume Now"))), css=self.sharedCSS) +""" % (i, b), css=self.sharedCSS) # HTML helpers ##########################################################################