Create ResetReason enum

This commit is contained in:
Henrik Giesel 2020-08-16 18:49:51 +02:00
parent 97a4a0ef34
commit 7f503895d7
5 changed files with 26 additions and 12 deletions

View file

@ -12,6 +12,7 @@ from anki.lang import _
from anki.notes import Note from anki.notes import Note
from anki.utils import htmlToTextLine, isMac from anki.utils import htmlToTextLine, isMac
from aqt import AnkiQt, gui_hooks from aqt import AnkiQt, gui_hooks
from aqt.main import ResetReason
from aqt.qt import * from aqt.qt import *
from aqt.sound import av_player from aqt.sound import av_player
from aqt.utils import ( from aqt.utils import (
@ -178,7 +179,7 @@ class AddCards(QDialog):
self.mw.col.clearUndo() self.mw.col.clearUndo()
self.addHistory(note) self.addHistory(note)
self.previousNote = 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) gui_hooks.add_cards_did_add_note(note)
return note return note

View file

@ -26,6 +26,7 @@ from anki.utils import htmlToTextLine, ids2str, intTime, isMac, isWin
from aqt import AnkiQt, gui_hooks from aqt import AnkiQt, gui_hooks
from aqt.editor import Editor from aqt.editor import Editor
from aqt.exporting import ExportDialog from aqt.exporting import ExportDialog
from aqt.main import ResetReason
from aqt.previewer import BrowserPreviewer as PreviewDialog from aqt.previewer import BrowserPreviewer as PreviewDialog
from aqt.previewer import Previewer from aqt.previewer import Previewer
from aqt.qt import * from aqt.qt import *
@ -1564,7 +1565,7 @@ where id in %s"""
newRow = max(newRow, 0) newRow = max(newRow, 0)
self.model.focusedCard = self.model.cards[newRow] self.model.focusedCard = self.model.cards[newRow]
self.model.endReset() self.model.endReset()
self.mw.requireReset(reason="browserDeleteNote", context=self) self.mw.requireReset(reason=ResetReason.BrowserDeleteNote, context=self)
tooltip( tooltip(
ngettext("%d note deleted.", "%d notes deleted.", len(nids)) % len(nids) 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, did,
) )
self.model.endReset() self.model.endReset()
self.mw.requireReset(reason="browserSetDeck", context=self) self.mw.requireReset(reason=ResetReason.BrowserSetDeck, context=self)
# Tags # Tags
###################################################################### ######################################################################
@ -1642,7 +1643,7 @@ update cards set usn=?, mod=?, did=? where id in """
self.model.beginReset() self.model.beginReset()
func(self.selectedNotes(), tags) func(self.selectedNotes(), tags)
self.model.endReset() 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): def deleteTags(self, tags=None, label=None):
if label is None: if label is None:
@ -1675,7 +1676,7 @@ update cards set usn=?, mod=?, did=? where id in """
else: else:
self.col.sched.unsuspendCards(c) self.col.sched.unsuspendCards(c)
self.model.reset() self.model.reset()
self.mw.requireReset(reason="browserSuspend", context=self) self.mw.requireReset(reason=ResetReason.BrowserSuspend, context=self)
# Exporting # Exporting
###################################################################### ######################################################################
@ -1763,7 +1764,7 @@ update cards set usn=?, mod=?, did=? where id in """
shift=frm.shift.isChecked(), shift=frm.shift.isChecked(),
) )
self.search() self.search()
self.mw.requireReset(reason="browserReposition", context=self) self.mw.requireReset(reason=ResetReason.BrowserReposition, context=self)
self.model.endReset() self.model.endReset()
# Rescheduling # Rescheduling
@ -1789,7 +1790,7 @@ update cards set usn=?, mod=?, did=? where id in """
fmax = max(fmin, fmax) fmax = max(fmin, fmax)
self.col.sched.reschedCards(self.selectedCards(), fmin, fmax) self.col.sched.reschedCards(self.selectedCards(), fmin, fmax)
self.search() self.search()
self.mw.requireReset(reason="browserReschedule", context=self) self.mw.requireReset(reason=ResetReason.BrowserReschedule, context=self)
self.model.endReset() self.model.endReset()
# Edit: selection # Edit: selection
@ -1923,7 +1924,7 @@ update cards set usn=?, mod=?, did=? where id in """
def on_done(fut): def on_done(fut):
self.search() self.search()
self.mw.requireReset(reason="browserFindReplace", context=self) self.mw.requireReset(reason=ResetReason.BrowserFindReplace, context=self)
self.model.endReset() self.model.endReset()
total = len(nids) total = len(nids)
@ -2025,7 +2026,7 @@ update cards set usn=?, mod=?, did=? where id in """
self.col.tags.bulkAdd(list(nids), _("duplicate")) self.col.tags.bulkAdd(list(nids), _("duplicate"))
self.mw.progress.finish() self.mw.progress.finish()
self.model.endReset() self.model.endReset()
self.mw.requireReset(reason="browserTagDupes", context=self) self.mw.requireReset(reason=ResetReason.BrowserTagDupes, context=self)
tooltip(_("Notes tagged.")) tooltip(_("Notes tagged."))
def dupeLinkClicked(self, link): def dupeLinkClicked(self, link):

View file

@ -5,6 +5,7 @@
import aqt.editor import aqt.editor
from anki.lang import _ from anki.lang import _
from aqt import gui_hooks from aqt import gui_hooks
from aqt.main import ResetReason
from aqt.qt import * from aqt.qt import *
from aqt.utils import restoreGeom, saveGeom, tooltip from aqt.utils import restoreGeom, saveGeom, tooltip
@ -27,7 +28,7 @@ class EditCurrent(QDialog):
self.editor.setNote(self.mw.reviewer.card.note(), focusTo=0) self.editor.setNote(self.mw.reviewer.card.note(), focusTo=0)
restoreGeom(self, "editcurrent") restoreGeom(self, "editcurrent")
gui_hooks.state_did_reset.append(self.onReset) 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() self.show()
# reset focus after open, taking care not to retain webview # reset focus after open, taking care not to retain webview
# pylint: disable=unnecessary-lambda # pylint: disable=unnecessary-lambda

View file

@ -26,6 +26,7 @@ from anki.lang import _
from anki.notes import Note from anki.notes import Note
from anki.utils import checksum, isLin, isWin, namedtmp, stripHTMLMedia from anki.utils import checksum, isLin, isWin, namedtmp, stripHTMLMedia
from aqt import AnkiQt, gui_hooks from aqt import AnkiQt, gui_hooks
from aqt.main import ResetReason
from aqt.qt import * from aqt.qt import *
from aqt.sound import av_player, getAudio from aqt.sound import av_player, getAudio
from aqt.theme import theme_manager from aqt.theme import theme_manager
@ -393,7 +394,7 @@ class Editor:
if not self.addMode: if not self.addMode:
self.note.flush() self.note.flush()
self.mw.requireReset(reason="editorBridgeCmd", context=self) self.mw.requireReset(reason=ResetReason.EditorBridgeCmd, context=self)
if type == "blur": if type == "blur":
self.currentField = None self.currentField = None
# run any filters # run any filters

View file

@ -70,7 +70,17 @@ install_pylib_legacy()
class ResetReason(enum.Enum): 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: class ResetRequired: