diff --git a/qt/aqt/addcards.py b/qt/aqt/addcards.py index 5a226fa3e..7c0d171d2 100644 --- a/qt/aqt/addcards.py +++ b/qt/aqt/addcards.py @@ -12,6 +12,7 @@ from anki.lang import _ from anki.notes import Note from anki.utils import htmlToTextLine, isMac from aqt import AnkiQt, gui_hooks +from aqt.main import ResetReason from aqt.qt import * from aqt.sound import av_player from aqt.utils import ( @@ -178,7 +179,7 @@ class AddCards(QDialog): self.mw.col.clearUndo() self.addHistory(note) self.previousNote = note - self.mw.requireReset(reason="addCardsAddNote", context=self) + self.mw.requireReset(reason=ResetReason.AddCardsAddNote, context=self) gui_hooks.add_cards_did_add_note(note) return note diff --git a/qt/aqt/browser.py b/qt/aqt/browser.py index a97a487a4..9caa73f3e 100644 --- a/qt/aqt/browser.py +++ b/qt/aqt/browser.py @@ -26,6 +26,7 @@ from anki.utils import htmlToTextLine, ids2str, intTime, isMac, isWin from aqt import AnkiQt, gui_hooks from aqt.editor import Editor from aqt.exporting import ExportDialog +from aqt.main import ResetReason from aqt.previewer import BrowserPreviewer as PreviewDialog from aqt.previewer import Previewer from aqt.qt import * @@ -1564,7 +1565,7 @@ where id in %s""" newRow = max(newRow, 0) self.model.focusedCard = self.model.cards[newRow] self.model.endReset() - self.mw.requireReset(reason="browserDeleteNote", context=self) + self.mw.requireReset(reason=ResetReason.BrowserDeleteNote, context=self) tooltip( ngettext("%d note deleted.", "%d notes deleted.", len(nids)) % len(nids) ) @@ -1616,7 +1617,7 @@ update cards set usn=?, mod=?, did=? where id in """ did, ) self.model.endReset() - self.mw.requireReset(reason="browserSetDeck", context=self) + self.mw.requireReset(reason=ResetReason.BrowserSetDeck, context=self) # Tags ###################################################################### @@ -1642,7 +1643,7 @@ update cards set usn=?, mod=?, did=? where id in """ self.model.beginReset() func(self.selectedNotes(), tags) self.model.endReset() - self.mw.requireReset(reason="browserAddTags", context=self) + self.mw.requireReset(reason=ResetReason.BrowserAddTags, context=self) def deleteTags(self, tags=None, label=None): if label is None: @@ -1675,7 +1676,7 @@ update cards set usn=?, mod=?, did=? where id in """ else: self.col.sched.unsuspendCards(c) self.model.reset() - self.mw.requireReset(reason="browserSuspend", context=self) + self.mw.requireReset(reason=ResetReason.BrowserSuspend, context=self) # Exporting ###################################################################### @@ -1763,7 +1764,7 @@ update cards set usn=?, mod=?, did=? where id in """ shift=frm.shift.isChecked(), ) self.search() - self.mw.requireReset(reason="browserReposition", context=self) + self.mw.requireReset(reason=ResetReason.BrowserReposition, context=self) self.model.endReset() # Rescheduling @@ -1789,7 +1790,7 @@ update cards set usn=?, mod=?, did=? where id in """ fmax = max(fmin, fmax) self.col.sched.reschedCards(self.selectedCards(), fmin, fmax) self.search() - self.mw.requireReset(reason="browserReschedule", context=self) + self.mw.requireReset(reason=ResetReason.BrowserReschedule, context=self) self.model.endReset() # Edit: selection @@ -1923,7 +1924,7 @@ update cards set usn=?, mod=?, did=? where id in """ def on_done(fut): self.search() - self.mw.requireReset(reason="browserFindReplace", context=self) + self.mw.requireReset(reason=ResetReason.BrowserFindReplace, context=self) self.model.endReset() total = len(nids) @@ -2025,7 +2026,7 @@ update cards set usn=?, mod=?, did=? where id in """ self.col.tags.bulkAdd(list(nids), _("duplicate")) self.mw.progress.finish() self.model.endReset() - self.mw.requireReset(reason="browserTagDupes", context=self) + self.mw.requireReset(reason=ResetReason.BrowserTagDupes, context=self) tooltip(_("Notes tagged.")) def dupeLinkClicked(self, link): diff --git a/qt/aqt/editcurrent.py b/qt/aqt/editcurrent.py index 7b5a290b0..0d0e82ce9 100644 --- a/qt/aqt/editcurrent.py +++ b/qt/aqt/editcurrent.py @@ -5,6 +5,7 @@ import aqt.editor from anki.lang import _ from aqt import gui_hooks +from aqt.main import ResetReason from aqt.qt import * from aqt.utils import restoreGeom, saveGeom, tooltip @@ -27,7 +28,7 @@ class EditCurrent(QDialog): self.editor.setNote(self.mw.reviewer.card.note(), focusTo=0) restoreGeom(self, "editcurrent") gui_hooks.state_did_reset.append(self.onReset) - self.mw.requireReset(reason="editCurrentInit", context=self) + self.mw.requireReset(reason=ResetReason.EditCurrentInit, context=self) self.show() # reset focus after open, taking care not to retain webview # pylint: disable=unnecessary-lambda diff --git a/qt/aqt/editor.py b/qt/aqt/editor.py index 86e53c4c5..86edfeb45 100644 --- a/qt/aqt/editor.py +++ b/qt/aqt/editor.py @@ -26,6 +26,7 @@ from anki.lang import _ from anki.notes import Note from anki.utils import checksum, isLin, isWin, namedtmp, stripHTMLMedia from aqt import AnkiQt, gui_hooks +from aqt.main import ResetReason from aqt.qt import * from aqt.sound import av_player, getAudio from aqt.theme import theme_manager @@ -393,7 +394,7 @@ class Editor: if not self.addMode: self.note.flush() - self.mw.requireReset(reason="editorBridgeCmd", context=self) + self.mw.requireReset(reason=ResetReason.EditorBridgeCmd, context=self) if type == "blur": self.currentField = None # run any filters diff --git a/qt/aqt/main.py b/qt/aqt/main.py index f45035185..86dc7b534 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -70,7 +70,17 @@ install_pylib_legacy() class ResetReason(enum.Enum): - pass + AddCardsAddNote = "addCardsAddNote" + EditCurrentInit = "editCurrentInit" + EditorBridgeCmd = "editorBridgeCmd" + BrowserDeleteNote = "browserDeleteNote" + BrowserSetDeck = "browserSetDeck" + BrowserAddTags = "browserAddTags" + BrowserSuspend = "browserSuspend" + BrowserReposition = "browserReposition" + BrowserReschedule = "browserReschedule" + BrowserFindReplace = "browserFindReplace" + BrowserTagDupes = "browserTagDupes" class ResetRequired: