mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00
remove _hook/_filter suffix
This commit is contained in:
parent
b2f756f1b7
commit
cab572b63c
34 changed files with 188 additions and 190 deletions
|
@ -87,7 +87,7 @@ class Card:
|
|||
self.usn = self.col.usn()
|
||||
# bug check
|
||||
if self.queue == 2 and self.odue and not self.col.decks.isDyn(self.did):
|
||||
hooks.card_odue_was_invalid_hook()
|
||||
hooks.card_odue_was_invalid()
|
||||
assert self.due < 4294967296
|
||||
self.col.db.execute(
|
||||
"""
|
||||
|
@ -119,7 +119,7 @@ insert or replace into cards values
|
|||
self.usn = self.col.usn()
|
||||
# bug checks
|
||||
if self.queue == 2 and self.odue and not self.col.decks.isDyn(self.did):
|
||||
hooks.card_odue_was_invalid_hook()
|
||||
hooks.card_odue_was_invalid()
|
||||
assert self.due < 4294967296
|
||||
self.col.db.execute(
|
||||
"""update cards set
|
||||
|
|
|
@ -272,7 +272,7 @@ crt=?, mod=?, scm=?, dty=?, usn=?, ls=?, conf=?""",
|
|||
def modSchema(self, check: bool) -> None:
|
||||
"Mark schema modified. Call this first so user can abort if necessary."
|
||||
if not self.schemaChanged():
|
||||
if check and not hooks.schema_will_change_filter(proceed=True):
|
||||
if check and not hooks.schema_will_change(proceed=True):
|
||||
raise AnkiError("abortSchemaMod")
|
||||
self.scm = intTime(1000)
|
||||
self.setMod()
|
||||
|
@ -372,7 +372,7 @@ crt=?, mod=?, scm=?, dty=?, usn=?, ls=?, conf=?""",
|
|||
strids = ids2str(ids)
|
||||
# we need to log these independently of cards, as one side may have
|
||||
# more card templates
|
||||
hooks.notes_will_delete_hook(self, ids)
|
||||
hooks.notes_will_delete(self, ids)
|
||||
self._logRem(ids, REM_NOTE)
|
||||
self.db.execute("delete from notes where id in %s" % strids)
|
||||
|
||||
|
@ -665,12 +665,12 @@ where c.nid = n.id and c.id in %s group by nid"""
|
|||
fields["c%d" % (card_ord + 1)] = "1"
|
||||
|
||||
# allow add-ons to modify the available fields
|
||||
hooks.fields_will_render_hook(fields, model, data)
|
||||
hooks.fields_will_render(fields, model, data)
|
||||
fields = runFilter("mungeFields", fields, model, data, self) # legacy
|
||||
|
||||
# and the template prior to rendering
|
||||
qfmt = hooks.card_template_will_render_filter(qfmt, True)
|
||||
afmt = hooks.card_template_will_render_filter(afmt, False)
|
||||
qfmt = hooks.card_template_will_render(qfmt, True)
|
||||
afmt = hooks.card_template_will_render(afmt, False)
|
||||
|
||||
# render fields
|
||||
qatext = render_card(self, qfmt, afmt, fields, card_ord)
|
||||
|
@ -678,7 +678,7 @@ where c.nid = n.id and c.id in %s group by nid"""
|
|||
|
||||
# allow add-ons to modify the generated result
|
||||
for type in "q", "a":
|
||||
ret[type] = hooks.card_template_did_render_filter(
|
||||
ret[type] = hooks.card_template_did_render(
|
||||
ret[type], type, fields, model, data, self
|
||||
)
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ class DeckManager:
|
|||
self.decks[str(id)] = g
|
||||
self.save(g)
|
||||
self.maybeAddToActive()
|
||||
hooks.deck_did_create_hook(g)
|
||||
hooks.deck_did_create(g)
|
||||
return int(id)
|
||||
|
||||
def rem(self, did: int, cardsToo: bool = False, childrenToo: bool = True) -> None:
|
||||
|
|
|
@ -347,7 +347,7 @@ class AnkiPackageExporter(AnkiExporter):
|
|||
else:
|
||||
z.write(mpath, cStr, zipfile.ZIP_STORED)
|
||||
media[cStr] = unicodedata.normalize("NFC", file)
|
||||
hooks.media_files_did_export_hook(c)
|
||||
hooks.media_files_did_export(c)
|
||||
|
||||
return media
|
||||
|
||||
|
@ -417,5 +417,5 @@ def exporters() -> List[Tuple[str, Any]]:
|
|||
id(TextNoteExporter),
|
||||
id(TextCardExporter),
|
||||
]
|
||||
hooks.exporters_list_did_create_hook(exps)
|
||||
hooks.exporters_list_did_create(exps)
|
||||
return exps
|
||||
|
|
|
@ -40,7 +40,7 @@ class Finder:
|
|||
flag=self._findFlag,
|
||||
)
|
||||
self.search["is"] = self._findCardState
|
||||
hooks.search_terms_did_prepare_hook(self.search)
|
||||
hooks.search_terms_did_prepare(self.search)
|
||||
|
||||
def findCards(self, query, order=False) -> Any:
|
||||
"Return a list of card ids for QUERY."
|
||||
|
|
|
@ -51,7 +51,7 @@ class _CardDidLeechHook:
|
|||
runHook("leech", card)
|
||||
|
||||
|
||||
card_did_leech_hook = _CardDidLeechHook()
|
||||
card_did_leech = _CardDidLeechHook()
|
||||
|
||||
|
||||
class _CardOdueWasInvalidHook:
|
||||
|
@ -75,7 +75,7 @@ class _CardOdueWasInvalidHook:
|
|||
raise
|
||||
|
||||
|
||||
card_odue_was_invalid_hook = _CardOdueWasInvalidHook()
|
||||
card_odue_was_invalid = _CardOdueWasInvalidHook()
|
||||
|
||||
|
||||
class _CardTemplateDidRenderFilter:
|
||||
|
@ -150,7 +150,7 @@ class _CardTemplateDidRenderFilter:
|
|||
return text
|
||||
|
||||
|
||||
card_template_did_render_filter = _CardTemplateDidRenderFilter()
|
||||
card_template_did_render = _CardTemplateDidRenderFilter()
|
||||
|
||||
|
||||
class _CardTemplateFilterWillApplyFilter:
|
||||
|
@ -177,7 +177,7 @@ class _CardTemplateFilterWillApplyFilter:
|
|||
return field_text
|
||||
|
||||
|
||||
card_template_filter_will_apply_filter = _CardTemplateFilterWillApplyFilter()
|
||||
card_template_filter_will_apply = _CardTemplateFilterWillApplyFilter()
|
||||
|
||||
|
||||
class _CardTemplateWillRenderFilter:
|
||||
|
@ -204,7 +204,7 @@ class _CardTemplateWillRenderFilter:
|
|||
return template
|
||||
|
||||
|
||||
card_template_will_render_filter = _CardTemplateWillRenderFilter()
|
||||
card_template_will_render = _CardTemplateWillRenderFilter()
|
||||
|
||||
|
||||
class _DeckDidCreateHook:
|
||||
|
@ -230,7 +230,7 @@ class _DeckDidCreateHook:
|
|||
runHook("newDeck")
|
||||
|
||||
|
||||
deck_did_create_hook = _DeckDidCreateHook()
|
||||
deck_did_create = _DeckDidCreateHook()
|
||||
|
||||
|
||||
class _ExportersListDidCreateHook:
|
||||
|
@ -256,7 +256,7 @@ class _ExportersListDidCreateHook:
|
|||
runHook("exportersList", exporters)
|
||||
|
||||
|
||||
exporters_list_did_create_hook = _ExportersListDidCreateHook()
|
||||
exporters_list_did_create = _ExportersListDidCreateHook()
|
||||
|
||||
|
||||
class _FieldsWillRenderHook:
|
||||
|
@ -288,7 +288,7 @@ class _FieldsWillRenderHook:
|
|||
raise
|
||||
|
||||
|
||||
fields_will_render_hook = _FieldsWillRenderHook()
|
||||
fields_will_render = _FieldsWillRenderHook()
|
||||
|
||||
|
||||
class _HttpDataDidReceiveHook:
|
||||
|
@ -312,7 +312,7 @@ class _HttpDataDidReceiveHook:
|
|||
raise
|
||||
|
||||
|
||||
http_data_did_receive_hook = _HttpDataDidReceiveHook()
|
||||
http_data_did_receive = _HttpDataDidReceiveHook()
|
||||
|
||||
|
||||
class _HttpDataDidSendHook:
|
||||
|
@ -336,7 +336,7 @@ class _HttpDataDidSendHook:
|
|||
raise
|
||||
|
||||
|
||||
http_data_did_send_hook = _HttpDataDidSendHook()
|
||||
http_data_did_send = _HttpDataDidSendHook()
|
||||
|
||||
|
||||
class _MediaFilesDidExportHook:
|
||||
|
@ -360,7 +360,7 @@ class _MediaFilesDidExportHook:
|
|||
raise
|
||||
|
||||
|
||||
media_files_did_export_hook = _MediaFilesDidExportHook()
|
||||
media_files_did_export = _MediaFilesDidExportHook()
|
||||
|
||||
|
||||
class _NoteTypeDidCreateHook:
|
||||
|
@ -386,7 +386,7 @@ class _NoteTypeDidCreateHook:
|
|||
runHook("newModel")
|
||||
|
||||
|
||||
note_type_did_create_hook = _NoteTypeDidCreateHook()
|
||||
note_type_did_create = _NoteTypeDidCreateHook()
|
||||
|
||||
|
||||
class _NotesWillDeleteHook:
|
||||
|
@ -416,7 +416,7 @@ class _NotesWillDeleteHook:
|
|||
runHook("remNotes", col, ids)
|
||||
|
||||
|
||||
notes_will_delete_hook = _NotesWillDeleteHook()
|
||||
notes_will_delete = _NotesWillDeleteHook()
|
||||
|
||||
|
||||
class _SchemaWillChangeFilter:
|
||||
|
@ -441,7 +441,7 @@ class _SchemaWillChangeFilter:
|
|||
return proceed
|
||||
|
||||
|
||||
schema_will_change_filter = _SchemaWillChangeFilter()
|
||||
schema_will_change = _SchemaWillChangeFilter()
|
||||
|
||||
|
||||
class _SearchTermsDidPrepareHook:
|
||||
|
@ -467,7 +467,7 @@ class _SearchTermsDidPrepareHook:
|
|||
runHook("search", searches)
|
||||
|
||||
|
||||
search_terms_did_prepare_hook = _SearchTermsDidPrepareHook()
|
||||
search_terms_did_prepare = _SearchTermsDidPrepareHook()
|
||||
|
||||
|
||||
class _SyncProgressDidChangeHook:
|
||||
|
@ -493,7 +493,7 @@ class _SyncProgressDidChangeHook:
|
|||
runHook("syncMsg", msg)
|
||||
|
||||
|
||||
sync_progress_did_change_hook = _SyncProgressDidChangeHook()
|
||||
sync_progress_did_change = _SyncProgressDidChangeHook()
|
||||
|
||||
|
||||
class _SyncStageDidChangeHook:
|
||||
|
@ -519,7 +519,7 @@ class _SyncStageDidChangeHook:
|
|||
runHook("sync", stage)
|
||||
|
||||
|
||||
sync_stage_did_change_hook = _SyncStageDidChangeHook()
|
||||
sync_stage_did_change = _SyncStageDidChangeHook()
|
||||
|
||||
|
||||
class _TagDidCreateHook:
|
||||
|
@ -545,7 +545,7 @@ class _TagDidCreateHook:
|
|||
runHook("newTag")
|
||||
|
||||
|
||||
tag_did_create_hook = _TagDidCreateHook()
|
||||
tag_did_create = _TagDidCreateHook()
|
||||
# @@AUTOGEN@@
|
||||
|
||||
# Legacy hook handling
|
||||
|
|
|
@ -184,4 +184,4 @@ def _errMsg(type: str, texpath: str) -> Any:
|
|||
|
||||
|
||||
# setup q/a filter - type ignored due to import cycle
|
||||
hooks.card_template_did_render_filter.append(mungeQA) # type: ignore
|
||||
hooks.card_template_did_render.append(mungeQA) # type: ignore
|
||||
|
|
|
@ -107,7 +107,7 @@ class ModelManager:
|
|||
if templates:
|
||||
self._syncTemplates(m)
|
||||
self.changed = True
|
||||
hooks.note_type_did_create_hook(m)
|
||||
hooks.note_type_did_create(m)
|
||||
|
||||
def flush(self) -> None:
|
||||
"Flush the registry if any models were changed."
|
||||
|
|
|
@ -1150,7 +1150,7 @@ did = ?, queue = %s, due = ?, usn = ? where id = ?"""
|
|||
card.odue = card.odid = 0
|
||||
card.queue = -1
|
||||
# notify UI
|
||||
hooks.card_did_leech_hook(card)
|
||||
hooks.card_did_leech(card)
|
||||
return True
|
||||
|
||||
# Tools
|
||||
|
|
|
@ -1270,7 +1270,7 @@ where id = ?
|
|||
if a == 0:
|
||||
card.queue = -1
|
||||
# notify UI
|
||||
hooks.card_did_leech_hook(card)
|
||||
hooks.card_did_leech(card)
|
||||
return True
|
||||
return None
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ class Syncer:
|
|||
self.col.save()
|
||||
|
||||
# step 1: login & metadata
|
||||
hooks.sync_stage_did_change_hook("login")
|
||||
hooks.sync_stage_did_change("login")
|
||||
meta = self.server.meta()
|
||||
self.col.log("rmeta", meta)
|
||||
if not meta:
|
||||
|
@ -95,7 +95,7 @@ class Syncer:
|
|||
self.col.log("basic check")
|
||||
return "basicCheckFailed"
|
||||
# step 2: startup and deletions
|
||||
hooks.sync_stage_did_change_hook("meta")
|
||||
hooks.sync_stage_did_change("meta")
|
||||
rrem = self.server.start(
|
||||
minUsn=self.minUsn, lnewer=self.lnewer, offset=self.col.localOffset()
|
||||
)
|
||||
|
@ -118,31 +118,31 @@ class Syncer:
|
|||
self.server.abort()
|
||||
return self._forceFullSync()
|
||||
# step 3: stream large tables from server
|
||||
hooks.sync_stage_did_change_hook("server")
|
||||
hooks.sync_stage_did_change("server")
|
||||
while 1:
|
||||
hooks.sync_stage_did_change_hook("stream")
|
||||
hooks.sync_stage_did_change("stream")
|
||||
chunk = self.server.chunk()
|
||||
self.col.log("server chunk", chunk)
|
||||
self.applyChunk(chunk=chunk)
|
||||
if chunk["done"]:
|
||||
break
|
||||
# step 4: stream to server
|
||||
hooks.sync_stage_did_change_hook("client")
|
||||
hooks.sync_stage_did_change("client")
|
||||
while 1:
|
||||
hooks.sync_stage_did_change_hook("stream")
|
||||
hooks.sync_stage_did_change("stream")
|
||||
chunk = self.chunk()
|
||||
self.col.log("client chunk", chunk)
|
||||
self.server.applyChunk(chunk=chunk)
|
||||
if chunk["done"]:
|
||||
break
|
||||
# step 5: sanity check
|
||||
hooks.sync_stage_did_change_hook("sanity")
|
||||
hooks.sync_stage_did_change("sanity")
|
||||
c = self.sanityCheck()
|
||||
ret = self.server.sanityCheck2(client=c)
|
||||
if ret["status"] != "ok":
|
||||
return self._forceFullSync()
|
||||
# finalize
|
||||
hooks.sync_stage_did_change_hook("finalize")
|
||||
hooks.sync_stage_did_change("finalize")
|
||||
mod = self.server.finish()
|
||||
self.finish(mod)
|
||||
return "success"
|
||||
|
@ -501,7 +501,7 @@ class AnkiRequestsClient:
|
|||
|
||||
buf = io.BytesIO()
|
||||
for chunk in resp.iter_content(chunk_size=HTTP_BUF_SIZE):
|
||||
hooks.http_data_did_receive_hook(len(chunk))
|
||||
hooks.http_data_did_receive(len(chunk))
|
||||
buf.write(chunk)
|
||||
return buf.getvalue()
|
||||
|
||||
|
@ -523,7 +523,7 @@ if os.environ.get("ANKI_NOVERIFYSSL"):
|
|||
class _MonitoringFile(io.BufferedReader):
|
||||
def read(self, size=-1) -> bytes:
|
||||
data = io.BufferedReader.read(self, HTTP_BUF_SIZE)
|
||||
hooks.http_data_did_send_hook(len(data))
|
||||
hooks.http_data_did_send(len(data))
|
||||
return data
|
||||
|
||||
|
||||
|
@ -707,13 +707,13 @@ class FullSyncer(HttpSyncer):
|
|||
self.col = col
|
||||
|
||||
def download(self) -> Optional[str]:
|
||||
hooks.sync_stage_did_change_hook("download")
|
||||
hooks.sync_stage_did_change("download")
|
||||
localNotEmpty = self.col.db.scalar("select 1 from cards")
|
||||
self.col.close()
|
||||
cont = self.req("download")
|
||||
tpath = self.col.path + ".tmp"
|
||||
if cont == "upgradeRequired":
|
||||
hooks.sync_stage_did_change_hook("upgradeRequired")
|
||||
hooks.sync_stage_did_change("upgradeRequired")
|
||||
return None
|
||||
open(tpath, "wb").write(cont)
|
||||
# check the received file is ok
|
||||
|
@ -733,7 +733,7 @@ class FullSyncer(HttpSyncer):
|
|||
|
||||
def upload(self) -> bool:
|
||||
"True if upload successful."
|
||||
hooks.sync_stage_did_change_hook("upload")
|
||||
hooks.sync_stage_did_change("upload")
|
||||
# make sure it's ok before we try to upload
|
||||
if self.col.db.scalar("pragma integrity_check") != "ok":
|
||||
return False
|
||||
|
@ -765,7 +765,7 @@ class MediaSyncer:
|
|||
|
||||
def sync(self) -> Any:
|
||||
# check if there have been any changes
|
||||
hooks.sync_stage_did_change_hook("findMedia")
|
||||
hooks.sync_stage_did_change("findMedia")
|
||||
self.col.log("findChanges")
|
||||
try:
|
||||
self.col.media.findChanges()
|
||||
|
@ -835,7 +835,7 @@ class MediaSyncer:
|
|||
if not fnames:
|
||||
break
|
||||
|
||||
hooks.sync_progress_did_change_hook(
|
||||
hooks.sync_progress_did_change(
|
||||
ngettext(
|
||||
"%d media change to upload", "%d media changes to upload", toSend
|
||||
)
|
||||
|
@ -886,7 +886,7 @@ class MediaSyncer:
|
|||
fnames = fnames[cnt:]
|
||||
|
||||
n = self.downloadCount
|
||||
hooks.sync_progress_did_change_hook(
|
||||
hooks.sync_progress_did_change(
|
||||
ngettext("%d media file downloaded", "%d media files downloaded", n)
|
||||
% n,
|
||||
)
|
||||
|
|
|
@ -50,7 +50,7 @@ class TagManager:
|
|||
self.tags[t] = self.col.usn() if usn is None else usn
|
||||
self.changed = True
|
||||
if found:
|
||||
hooks.tag_did_create_hook(t) # pylint: disable=undefined-loop-variable
|
||||
hooks.tag_did_create(t) # pylint: disable=undefined-loop-variable
|
||||
|
||||
def all(self) -> List:
|
||||
return list(self.tags.keys())
|
||||
|
|
|
@ -15,7 +15,7 @@ the filter is skipped.
|
|||
Add-ons can register a filter with the following code:
|
||||
|
||||
from anki import hooks
|
||||
hooks.field_replacement_filter.append(myfunc)
|
||||
hooks.field_replacement.append(myfunc)
|
||||
|
||||
This will call myfunc, passing the field text in as the first argument.
|
||||
Your function should decide if it wants to modify the text by checking
|
||||
|
@ -72,7 +72,7 @@ def apply_custom_filters(
|
|||
|
||||
field_text = node.current_text
|
||||
for filter_name in node.filters:
|
||||
field_text = hooks.card_template_filter_will_apply_filter(
|
||||
field_text = hooks.card_template_filter_will_apply(
|
||||
field_text, node.field_name, filter_name, fields
|
||||
)
|
||||
# legacy hook - the second and fifth argument are no longer used
|
||||
|
|
|
@ -373,7 +373,7 @@ def test_reviews():
|
|||
def onLeech(card):
|
||||
hooked.append(1)
|
||||
|
||||
hooks.card_did_leech_hook.append(onLeech)
|
||||
hooks.card_did_leech.append(onLeech)
|
||||
d.sched.answerCard(c, 1)
|
||||
assert hooked
|
||||
assert c.queue == -1
|
||||
|
|
|
@ -395,7 +395,7 @@ def test_reviews():
|
|||
def onLeech(card):
|
||||
hooked.append(1)
|
||||
|
||||
hooks.card_did_leech_hook.append(onLeech)
|
||||
hooks.card_did_leech.append(onLeech)
|
||||
d.sched.answerCard(c, 1)
|
||||
assert hooked
|
||||
assert c.queue == -1
|
||||
|
|
|
@ -84,7 +84,7 @@ class {self.classname()}:
|
|||
if cb in self._hooks:
|
||||
self._hooks.remove(cb)
|
||||
{self.fire_code()}
|
||||
{self.full_name()} = {self.classname()}()
|
||||
{self.name} = {self.classname()}()
|
||||
"""
|
||||
return code
|
||||
|
||||
|
|
|
@ -43,8 +43,8 @@ class AddCards(QDialog):
|
|||
self.history: List[int] = []
|
||||
self.previousNote = None
|
||||
restoreGeom(self, "add")
|
||||
gui_hooks.state_did_reset_hook.append(self.onReset)
|
||||
gui_hooks.current_note_type_did_change_hook.append(self.onModelChange)
|
||||
gui_hooks.state_did_reset.append(self.onReset)
|
||||
gui_hooks.current_note_type_did_change.append(self.onModelChange)
|
||||
addCloseShortcut(self)
|
||||
self.show()
|
||||
|
||||
|
@ -156,7 +156,7 @@ class AddCards(QDialog):
|
|||
else:
|
||||
a = m.addAction(_("(Note deleted)"))
|
||||
a.setEnabled(False)
|
||||
gui_hooks.add_cards_history_menu_will_show_hook(self, m)
|
||||
gui_hooks.add_cards_history_menu_will_show(self, m)
|
||||
m.exec_(self.historyButton.mapToGlobal(QPoint(0, 0)))
|
||||
|
||||
def editHistory(self, nid):
|
||||
|
@ -196,7 +196,7 @@ question on all cards."""
|
|||
self.addHistory(note)
|
||||
self.mw.requireReset()
|
||||
self.previousNote = note
|
||||
gui_hooks.add_cards_note_did_add_hook(note)
|
||||
gui_hooks.add_cards_note_did_add(note)
|
||||
return note
|
||||
|
||||
def addCards(self):
|
||||
|
@ -223,8 +223,8 @@ question on all cards."""
|
|||
self.ifCanClose(self._reject)
|
||||
|
||||
def _reject(self) -> None:
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.current_note_type_did_change_hook.remove(self.onModelChange)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
gui_hooks.current_note_type_did_change.remove(self.onModelChange)
|
||||
clearAudioQueue()
|
||||
self.removeTempNote(self.editor.note)
|
||||
self.editor.cleanup()
|
||||
|
|
|
@ -639,7 +639,7 @@ class Browser(QMainWindow):
|
|||
self.pgDownCut = QShortcut(QKeySequence("Shift+End"), self)
|
||||
self.pgDownCut.activated.connect(self.onLastCard)
|
||||
# add-on hook
|
||||
gui_hooks.browser_menus_did_setup_hook(self)
|
||||
gui_hooks.browser_menus_did_setup(self)
|
||||
self.mw.maybeHideAccelerators(self)
|
||||
|
||||
# context menu
|
||||
|
@ -653,7 +653,7 @@ class Browser(QMainWindow):
|
|||
m.addSeparator()
|
||||
for act in self.form.menu_Notes.actions():
|
||||
m.addAction(act)
|
||||
gui_hooks.browser_context_menu_will_show_hook(self, m)
|
||||
gui_hooks.browser_context_menu_will_show(self, m)
|
||||
qtMenuShortcutWorkaround(m)
|
||||
m.exec_(QCursor.pos())
|
||||
|
||||
|
@ -844,7 +844,7 @@ class Browser(QMainWindow):
|
|||
self.editor.card = self.card
|
||||
self.singleCard = True
|
||||
self._updateFlagsMenu()
|
||||
gui_hooks.browser_row_did_change_hook(self)
|
||||
gui_hooks.browser_row_did_change(self)
|
||||
self._renderPreview(True)
|
||||
|
||||
def refreshCurrentCard(self, note):
|
||||
|
@ -1716,9 +1716,7 @@ where id in %s"""
|
|||
play(audio)
|
||||
|
||||
txt = mungeQA(self.col, txt)
|
||||
gui_hooks.card_text_filter(
|
||||
txt, c, "preview" + self._previewState.capitalize()
|
||||
)
|
||||
gui_hooks.card_text(txt, c, "preview" + self._previewState.capitalize())
|
||||
self._lastPreviewState = self._previewStateAndMod()
|
||||
self._updatePreviewButtons()
|
||||
self._previewWeb.eval("{}({},'{}');".format(func, json.dumps(txt), bodyclass))
|
||||
|
@ -2020,24 +2018,24 @@ update cards set usn=?, mod=?, did=? where id in """
|
|||
######################################################################
|
||||
|
||||
def setupHooks(self):
|
||||
gui_hooks.undo_state_did_change_hook.append(self.onUndoState)
|
||||
gui_hooks.state_did_reset_hook.append(self.onReset)
|
||||
gui_hooks.editor_typing_timer_did_fire_hook.append(self.refreshCurrentCard)
|
||||
gui_hooks.editor_note_did_load_hook.append(self.onLoadNote)
|
||||
gui_hooks.editor_field_did_lose_focus_filter.append(self.refreshCurrentCard)
|
||||
hooks.tag_did_create_hook.append(self.maybeRefreshSidebar)
|
||||
hooks.note_type_did_create_hook.append(self.maybeRefreshSidebar)
|
||||
hooks.deck_did_create_hook.append(self.maybeRefreshSidebar)
|
||||
gui_hooks.undo_state_did_change.append(self.onUndoState)
|
||||
gui_hooks.state_did_reset.append(self.onReset)
|
||||
gui_hooks.editor_typing_timer_did_fire.append(self.refreshCurrentCard)
|
||||
gui_hooks.editor_note_did_load.append(self.onLoadNote)
|
||||
gui_hooks.editor_field_did_lose_focus.append(self.refreshCurrentCard)
|
||||
hooks.tag_did_create.append(self.maybeRefreshSidebar)
|
||||
hooks.note_type_did_create.append(self.maybeRefreshSidebar)
|
||||
hooks.deck_did_create.append(self.maybeRefreshSidebar)
|
||||
|
||||
def teardownHooks(self):
|
||||
gui_hooks.undo_state_did_change_hook.remove(self.onUndoState)
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.editor_typing_timer_did_fire_hook.remove(self.refreshCurrentCard)
|
||||
gui_hooks.editor_note_did_load_hook.remove(self.onLoadNote)
|
||||
gui_hooks.editor_field_did_lose_focus_filter.remove(self.refreshCurrentCard)
|
||||
hooks.tag_did_create_hook.remove(self.maybeRefreshSidebar)
|
||||
hooks.note_type_did_create_hook.remove(self.maybeRefreshSidebar)
|
||||
hooks.deck_did_create_hook.remove(self.maybeRefreshSidebar)
|
||||
gui_hooks.undo_state_did_change.remove(self.onUndoState)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
gui_hooks.editor_typing_timer_did_fire.remove(self.refreshCurrentCard)
|
||||
gui_hooks.editor_note_did_load.remove(self.onLoadNote)
|
||||
gui_hooks.editor_field_did_lose_focus.remove(self.refreshCurrentCard)
|
||||
hooks.tag_did_create.remove(self.maybeRefreshSidebar)
|
||||
hooks.note_type_did_create.remove(self.maybeRefreshSidebar)
|
||||
hooks.deck_did_create.remove(self.maybeRefreshSidebar)
|
||||
|
||||
def onUndoState(self, on):
|
||||
self.form.actionUndo.setEnabled(on)
|
||||
|
@ -2271,8 +2269,8 @@ class ChangeModel(QDialog):
|
|||
self.setWindowModality(Qt.WindowModal)
|
||||
self.setup()
|
||||
restoreGeom(self, "changeModel")
|
||||
gui_hooks.state_did_reset_hook.append(self.onReset)
|
||||
gui_hooks.current_note_type_did_change_hook.append(self.onReset)
|
||||
gui_hooks.state_did_reset.append(self.onReset)
|
||||
gui_hooks.current_note_type_did_change.append(self.onReset)
|
||||
self.exec_()
|
||||
|
||||
def setup(self):
|
||||
|
@ -2395,8 +2393,8 @@ class ChangeModel(QDialog):
|
|||
)
|
||||
|
||||
def cleanup(self):
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.current_note_type_did_change_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
gui_hooks.current_note_type_did_change.remove(self.onReset)
|
||||
self.modelChooser.cleanup()
|
||||
saveGeom(self, "changeModel")
|
||||
|
||||
|
|
|
@ -335,10 +335,10 @@ Please create a new card type first."""
|
|||
bodyclass = bodyClass(self.mw.col, c)
|
||||
|
||||
q = ti(mungeQA(self.mw.col, c.q(reload=True)))
|
||||
q = gui_hooks.card_text_filter(q, c, "clayoutQuestion")
|
||||
q = gui_hooks.card_text(q, c, "clayoutQuestion")
|
||||
|
||||
a = ti(mungeQA(self.mw.col, c.a()), type="a")
|
||||
a = gui_hooks.card_text_filter(a, c, "clayoutAnswer")
|
||||
a = gui_hooks.card_text(a, c, "clayoutAnswer")
|
||||
|
||||
# use _showAnswer to avoid the longer delay
|
||||
self.pform.frontWeb.eval("_showAnswer(%s,'%s');" % (json.dumps(q), bodyclass))
|
||||
|
|
|
@ -245,7 +245,7 @@ where id > ?""",
|
|||
a.triggered.connect(lambda b, did=did: self._export(did))
|
||||
a = m.addAction(_("Delete"))
|
||||
a.triggered.connect(lambda b, did=did: self._delete(did))
|
||||
gui_hooks.deck_browser_options_menu_will_show_hook(m, did)
|
||||
gui_hooks.deck_browser_options_menu_will_show(m, did)
|
||||
m.exec_(QCursor.pos())
|
||||
|
||||
def _export(self, did):
|
||||
|
|
|
@ -19,7 +19,7 @@ class DeckChooser(QHBoxLayout):
|
|||
self.setSpacing(8)
|
||||
self.setupDecks()
|
||||
self.widget.setLayout(self)
|
||||
gui_hooks.current_note_type_did_change_hook.append(self.onModelChange)
|
||||
gui_hooks.current_note_type_did_change.append(self.onModelChange)
|
||||
|
||||
def setupDecks(self):
|
||||
if self.label:
|
||||
|
@ -64,7 +64,7 @@ class DeckChooser(QHBoxLayout):
|
|||
self.widget.hide()
|
||||
|
||||
def cleanup(self):
|
||||
gui_hooks.current_note_type_did_change_hook.remove(self.onModelChange)
|
||||
gui_hooks.current_note_type_did_change.remove(self.onModelChange)
|
||||
|
||||
def onModelChange(self):
|
||||
if not self.mw.col.conf.get("addToCur", True):
|
||||
|
|
|
@ -57,7 +57,7 @@ class Downloader(QThread):
|
|||
self.recvTotal += bytes
|
||||
self.recv.emit()
|
||||
|
||||
hooks.http_data_did_receive_hook.append(recvEvent)
|
||||
hooks.http_data_did_receive.append(recvEvent)
|
||||
client = AnkiRequestsClient()
|
||||
try:
|
||||
resp = client.get(aqt.appShared + "download/%s?v=2.1" % self.code)
|
||||
|
@ -75,7 +75,7 @@ class Downloader(QThread):
|
|||
self.error = _("Please check your internet connection.") + "\n\n" + str(e)
|
||||
return
|
||||
finally:
|
||||
hooks.http_data_did_receive_hook.remove(recvEvent)
|
||||
hooks.http_data_did_receive.remove(recvEvent)
|
||||
|
||||
self.fname = re.match(
|
||||
"attachment; filename=(.+)", resp.headers["content-disposition"]
|
||||
|
|
|
@ -26,7 +26,7 @@ class EditCurrent(QDialog):
|
|||
self.editor.card = self.mw.reviewer.card
|
||||
self.editor.setNote(self.mw.reviewer.card.note(), focusTo=0)
|
||||
restoreGeom(self, "editcurrent")
|
||||
gui_hooks.state_did_reset_hook.append(self.onReset)
|
||||
gui_hooks.state_did_reset.append(self.onReset)
|
||||
self.mw.requireReset()
|
||||
self.show()
|
||||
# reset focus after open, taking care not to retain webview
|
||||
|
@ -40,7 +40,7 @@ class EditCurrent(QDialog):
|
|||
n.load() # reload in case the model changed
|
||||
except:
|
||||
# card's been deleted
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
self.editor.setNote(None)
|
||||
self.mw.reset()
|
||||
aqt.dialogs.markClosed("EditCurrent")
|
||||
|
@ -59,7 +59,7 @@ class EditCurrent(QDialog):
|
|||
self.editor.saveNow(self._saveAndClose)
|
||||
|
||||
def _saveAndClose(self):
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
r = self.mw.reviewer
|
||||
try:
|
||||
r.card.load()
|
||||
|
|
|
@ -141,7 +141,7 @@ class Editor:
|
|||
self._addButton("more", "more"),
|
||||
]
|
||||
)
|
||||
gui_hooks.editor_buttons_did_setup_hook(righttopbtns, self)
|
||||
gui_hooks.editor_buttons_did_setup(righttopbtns, self)
|
||||
# legacy filter
|
||||
righttopbtns = runFilter("setupEditorButtons", righttopbtns, self)
|
||||
topbuts = """
|
||||
|
@ -285,7 +285,7 @@ class Editor:
|
|||
("Ctrl+Shift+X", self.onHtmlEdit),
|
||||
("Ctrl+Shift+T", self.onFocusTags, True),
|
||||
]
|
||||
gui_hooks.editor_shortcuts_did_setup_hook(cuts, self)
|
||||
gui_hooks.editor_shortcuts_did_setup(cuts, self)
|
||||
for row in cuts:
|
||||
if len(row) == 2:
|
||||
keys, fn = row # pylint: disable=unbalanced-tuple-unpacking
|
||||
|
@ -358,20 +358,20 @@ class Editor:
|
|||
if type == "blur":
|
||||
self.currentField = None
|
||||
# run any filters
|
||||
if gui_hooks.editor_field_did_lose_focus_filter(False, self.note, ord):
|
||||
if gui_hooks.editor_field_did_lose_focus(False, self.note, ord):
|
||||
# something updated the note; update it after a subsequent focus
|
||||
# event has had time to fire
|
||||
self.mw.progress.timer(100, self.loadNoteKeepingFocus, False)
|
||||
else:
|
||||
self.checkValid()
|
||||
else:
|
||||
gui_hooks.editor_typing_timer_did_fire_hook(self.note)
|
||||
gui_hooks.editor_typing_timer_did_fire(self.note)
|
||||
self.checkValid()
|
||||
# focused into field?
|
||||
elif cmd.startswith("focus"):
|
||||
(type, num) = cmd.split(":", 1)
|
||||
self.currentField = int(num)
|
||||
gui_hooks.editor_field_did_gain_focus_hook(self.note, self.currentField)
|
||||
gui_hooks.editor_field_did_gain_focus(self.note, self.currentField)
|
||||
elif cmd in self._links:
|
||||
self._links[cmd](self)
|
||||
else:
|
||||
|
@ -416,7 +416,7 @@ class Editor:
|
|||
self.checkValid()
|
||||
if focusTo is not None:
|
||||
self.web.setFocus()
|
||||
gui_hooks.editor_note_did_load_hook(self)
|
||||
gui_hooks.editor_note_did_load(self)
|
||||
|
||||
js = "setFields(%s); setFonts(%s); focusField(%s); setNoteId(%s)" % (
|
||||
json.dumps(data),
|
||||
|
@ -428,7 +428,7 @@ class Editor:
|
|||
|
||||
def fonts(self):
|
||||
return [
|
||||
(gui_hooks.editor_font_for_field_filter(f["font"]), f["size"], f["rtl"])
|
||||
(gui_hooks.editor_font_for_field(f["font"]), f["size"], f["rtl"])
|
||||
for f in self.note.model()["flds"]
|
||||
]
|
||||
|
||||
|
@ -536,7 +536,7 @@ class Editor:
|
|||
self.tags.setText(self.mw.col.tags.join(self.note.tags).strip())
|
||||
if not self.addMode:
|
||||
self.note.flush()
|
||||
gui_hooks.editor_tags_did_update_hook(self.note)
|
||||
gui_hooks.editor_tags_did_update(self.note)
|
||||
|
||||
def saveAddModeVars(self):
|
||||
if self.addMode:
|
||||
|
@ -1111,7 +1111,7 @@ class EditorWebView(AnkiWebView):
|
|||
a.triggered.connect(self.onCopy)
|
||||
a = m.addAction(_("Paste"))
|
||||
a.triggered.connect(self.onPaste)
|
||||
gui_hooks.editor_context_menu_will_show_hook(self, m)
|
||||
gui_hooks.editor_context_menu_will_show(self, m)
|
||||
m.popup(QCursor.pos())
|
||||
|
||||
|
||||
|
@ -1122,4 +1122,4 @@ def fontMungeHack(font):
|
|||
return re.sub(" L$", " Light", font)
|
||||
|
||||
|
||||
gui_hooks.editor_font_for_field_filter.append(fontMungeHack)
|
||||
gui_hooks.editor_font_for_field.append(fontMungeHack)
|
||||
|
|
|
@ -132,9 +132,9 @@ class ExportDialog(QDialog):
|
|||
)
|
||||
% cnt
|
||||
)
|
||||
hooks.media_files_did_export_hook.append(exportedMedia)
|
||||
hooks.media_files_did_export.append(exportedMedia)
|
||||
self.exporter.exportInto(file)
|
||||
hooks.media_files_did_export_hook.remove(exportedMedia)
|
||||
hooks.media_files_did_export.remove(exportedMedia)
|
||||
period = 3000
|
||||
if self.isVerbatim:
|
||||
msg = _("Collection exported.")
|
||||
|
|
|
@ -46,7 +46,7 @@ class _AddCardsHistoryMenuWillShowHook:
|
|||
runHook("AddCards.onHistory", addcards, menu)
|
||||
|
||||
|
||||
add_cards_history_menu_will_show_hook = _AddCardsHistoryMenuWillShowHook()
|
||||
add_cards_history_menu_will_show = _AddCardsHistoryMenuWillShowHook()
|
||||
|
||||
|
||||
class _AddCardsNoteDidAddHook:
|
||||
|
@ -72,7 +72,7 @@ class _AddCardsNoteDidAddHook:
|
|||
runHook("AddCards.noteAdded", note)
|
||||
|
||||
|
||||
add_cards_note_did_add_hook = _AddCardsNoteDidAddHook()
|
||||
add_cards_note_did_add = _AddCardsNoteDidAddHook()
|
||||
|
||||
|
||||
class _BrowserContextMenuWillShowHook:
|
||||
|
@ -98,7 +98,7 @@ class _BrowserContextMenuWillShowHook:
|
|||
runHook("browser.onContextMenu", browser, menu)
|
||||
|
||||
|
||||
browser_context_menu_will_show_hook = _BrowserContextMenuWillShowHook()
|
||||
browser_context_menu_will_show = _BrowserContextMenuWillShowHook()
|
||||
|
||||
|
||||
class _BrowserMenusDidSetupHook:
|
||||
|
@ -124,7 +124,7 @@ class _BrowserMenusDidSetupHook:
|
|||
runHook("browser.setupMenus", browser)
|
||||
|
||||
|
||||
browser_menus_did_setup_hook = _BrowserMenusDidSetupHook()
|
||||
browser_menus_did_setup = _BrowserMenusDidSetupHook()
|
||||
|
||||
|
||||
class _BrowserRowDidChangeHook:
|
||||
|
@ -150,7 +150,7 @@ class _BrowserRowDidChangeHook:
|
|||
runHook("browser.rowChanged", browser)
|
||||
|
||||
|
||||
browser_row_did_change_hook = _BrowserRowDidChangeHook()
|
||||
browser_row_did_change = _BrowserRowDidChangeHook()
|
||||
|
||||
|
||||
class _CardTextFilter:
|
||||
|
@ -179,7 +179,7 @@ class _CardTextFilter:
|
|||
return text
|
||||
|
||||
|
||||
card_text_filter = _CardTextFilter()
|
||||
card_text = _CardTextFilter()
|
||||
|
||||
|
||||
class _CollectionDidLoadHook:
|
||||
|
@ -205,7 +205,7 @@ class _CollectionDidLoadHook:
|
|||
runHook("colLoading", col)
|
||||
|
||||
|
||||
collection_did_load_hook = _CollectionDidLoadHook()
|
||||
collection_did_load = _CollectionDidLoadHook()
|
||||
|
||||
|
||||
class _CurrentNoteTypeDidChangeHook:
|
||||
|
@ -231,7 +231,7 @@ class _CurrentNoteTypeDidChangeHook:
|
|||
runHook("currentModelChanged")
|
||||
|
||||
|
||||
current_note_type_did_change_hook = _CurrentNoteTypeDidChangeHook()
|
||||
current_note_type_did_change = _CurrentNoteTypeDidChangeHook()
|
||||
|
||||
|
||||
class _DeckBrowserOptionsMenuWillShowHook:
|
||||
|
@ -257,7 +257,7 @@ class _DeckBrowserOptionsMenuWillShowHook:
|
|||
runHook("showDeckOptions", menu, deck_id)
|
||||
|
||||
|
||||
deck_browser_options_menu_will_show_hook = _DeckBrowserOptionsMenuWillShowHook()
|
||||
deck_browser_options_menu_will_show = _DeckBrowserOptionsMenuWillShowHook()
|
||||
|
||||
|
||||
class _EditorButtonsDidSetupHook:
|
||||
|
@ -281,7 +281,7 @@ class _EditorButtonsDidSetupHook:
|
|||
raise
|
||||
|
||||
|
||||
editor_buttons_did_setup_hook = _EditorButtonsDidSetupHook()
|
||||
editor_buttons_did_setup = _EditorButtonsDidSetupHook()
|
||||
|
||||
|
||||
class _EditorContextMenuWillShowHook:
|
||||
|
@ -307,7 +307,7 @@ class _EditorContextMenuWillShowHook:
|
|||
runHook("EditorWebView.contextMenuEvent", editor_webview, menu)
|
||||
|
||||
|
||||
editor_context_menu_will_show_hook = _EditorContextMenuWillShowHook()
|
||||
editor_context_menu_will_show = _EditorContextMenuWillShowHook()
|
||||
|
||||
|
||||
class _EditorFieldDidGainFocusHook:
|
||||
|
@ -333,7 +333,7 @@ class _EditorFieldDidGainFocusHook:
|
|||
runHook("editFocusGained", note, current_field_idx)
|
||||
|
||||
|
||||
editor_field_did_gain_focus_hook = _EditorFieldDidGainFocusHook()
|
||||
editor_field_did_gain_focus = _EditorFieldDidGainFocusHook()
|
||||
|
||||
|
||||
class _EditorFieldDidLoseFocusFilter:
|
||||
|
@ -362,7 +362,7 @@ class _EditorFieldDidLoseFocusFilter:
|
|||
return changed
|
||||
|
||||
|
||||
editor_field_did_lose_focus_filter = _EditorFieldDidLoseFocusFilter()
|
||||
editor_field_did_lose_focus = _EditorFieldDidLoseFocusFilter()
|
||||
|
||||
|
||||
class _EditorFontForFieldFilter:
|
||||
|
@ -389,7 +389,7 @@ class _EditorFontForFieldFilter:
|
|||
return font
|
||||
|
||||
|
||||
editor_font_for_field_filter = _EditorFontForFieldFilter()
|
||||
editor_font_for_field = _EditorFontForFieldFilter()
|
||||
|
||||
|
||||
class _EditorNoteDidLoadHook:
|
||||
|
@ -415,7 +415,7 @@ class _EditorNoteDidLoadHook:
|
|||
runHook("loadNote", editor)
|
||||
|
||||
|
||||
editor_note_did_load_hook = _EditorNoteDidLoadHook()
|
||||
editor_note_did_load = _EditorNoteDidLoadHook()
|
||||
|
||||
|
||||
class _EditorShortcutsDidSetupHook:
|
||||
|
@ -441,7 +441,7 @@ class _EditorShortcutsDidSetupHook:
|
|||
runHook("setupEditorShortcuts", shortcuts, editor)
|
||||
|
||||
|
||||
editor_shortcuts_did_setup_hook = _EditorShortcutsDidSetupHook()
|
||||
editor_shortcuts_did_setup = _EditorShortcutsDidSetupHook()
|
||||
|
||||
|
||||
class _EditorTagsDidUpdateHook:
|
||||
|
@ -467,7 +467,7 @@ class _EditorTagsDidUpdateHook:
|
|||
runHook("tagsUpdated", note)
|
||||
|
||||
|
||||
editor_tags_did_update_hook = _EditorTagsDidUpdateHook()
|
||||
editor_tags_did_update = _EditorTagsDidUpdateHook()
|
||||
|
||||
|
||||
class _EditorTypingTimerDidFireHook:
|
||||
|
@ -493,7 +493,7 @@ class _EditorTypingTimerDidFireHook:
|
|||
runHook("editTimer", note)
|
||||
|
||||
|
||||
editor_typing_timer_did_fire_hook = _EditorTypingTimerDidFireHook()
|
||||
editor_typing_timer_did_fire = _EditorTypingTimerDidFireHook()
|
||||
|
||||
|
||||
class _MpvDidIdleHook:
|
||||
|
@ -517,7 +517,7 @@ class _MpvDidIdleHook:
|
|||
raise
|
||||
|
||||
|
||||
mpv_did_idle_hook = _MpvDidIdleHook()
|
||||
mpv_did_idle = _MpvDidIdleHook()
|
||||
|
||||
|
||||
class _MpvWillPlayHook:
|
||||
|
@ -543,7 +543,7 @@ class _MpvWillPlayHook:
|
|||
runHook("mpvWillPlay", file)
|
||||
|
||||
|
||||
mpv_will_play_hook = _MpvWillPlayHook()
|
||||
mpv_will_play = _MpvWillPlayHook()
|
||||
|
||||
|
||||
class _ProfileDidOpenHook:
|
||||
|
@ -569,7 +569,7 @@ class _ProfileDidOpenHook:
|
|||
runHook("profileLoaded")
|
||||
|
||||
|
||||
profile_did_open_hook = _ProfileDidOpenHook()
|
||||
profile_did_open = _ProfileDidOpenHook()
|
||||
|
||||
|
||||
class _ProfileWillCloseHook:
|
||||
|
@ -595,7 +595,7 @@ class _ProfileWillCloseHook:
|
|||
runHook("unloadProfile")
|
||||
|
||||
|
||||
profile_will_close_hook = _ProfileWillCloseHook()
|
||||
profile_will_close = _ProfileWillCloseHook()
|
||||
|
||||
|
||||
class _ReviewDidUndoHook:
|
||||
|
@ -621,7 +621,7 @@ class _ReviewDidUndoHook:
|
|||
runHook("revertedCard", card_id)
|
||||
|
||||
|
||||
review_did_undo_hook = _ReviewDidUndoHook()
|
||||
review_did_undo = _ReviewDidUndoHook()
|
||||
|
||||
|
||||
class _ReviewerAnswerDidShowHook:
|
||||
|
@ -647,7 +647,7 @@ class _ReviewerAnswerDidShowHook:
|
|||
runHook("showAnswer")
|
||||
|
||||
|
||||
reviewer_answer_did_show_hook = _ReviewerAnswerDidShowHook()
|
||||
reviewer_answer_did_show = _ReviewerAnswerDidShowHook()
|
||||
|
||||
|
||||
class _ReviewerContextMenuWillShowHook:
|
||||
|
@ -673,7 +673,7 @@ class _ReviewerContextMenuWillShowHook:
|
|||
runHook("Reviewer.contextMenuEvent", reviewer, menu)
|
||||
|
||||
|
||||
reviewer_context_menu_will_show_hook = _ReviewerContextMenuWillShowHook()
|
||||
reviewer_context_menu_will_show = _ReviewerContextMenuWillShowHook()
|
||||
|
||||
|
||||
class _ReviewerQuestionDidShowHook:
|
||||
|
@ -699,7 +699,7 @@ class _ReviewerQuestionDidShowHook:
|
|||
runHook("showQuestion")
|
||||
|
||||
|
||||
reviewer_question_did_show_hook = _ReviewerQuestionDidShowHook()
|
||||
reviewer_question_did_show = _ReviewerQuestionDidShowHook()
|
||||
|
||||
|
||||
class _ReviewerWillEndHook:
|
||||
|
@ -727,7 +727,7 @@ class _ReviewerWillEndHook:
|
|||
runHook("reviewCleanup")
|
||||
|
||||
|
||||
reviewer_will_end_hook = _ReviewerWillEndHook()
|
||||
reviewer_will_end = _ReviewerWillEndHook()
|
||||
|
||||
|
||||
class _StateDidChangeHook:
|
||||
|
@ -753,7 +753,7 @@ class _StateDidChangeHook:
|
|||
runHook("afterStateChange", new_state, old_state)
|
||||
|
||||
|
||||
state_did_change_hook = _StateDidChangeHook()
|
||||
state_did_change = _StateDidChangeHook()
|
||||
|
||||
|
||||
class _StateDidResetHook:
|
||||
|
@ -781,7 +781,7 @@ class _StateDidResetHook:
|
|||
runHook("reset")
|
||||
|
||||
|
||||
state_did_reset_hook = _StateDidResetHook()
|
||||
state_did_reset = _StateDidResetHook()
|
||||
|
||||
|
||||
class _StateDidRevertHook:
|
||||
|
@ -809,7 +809,7 @@ class _StateDidRevertHook:
|
|||
runHook("revertedState", action)
|
||||
|
||||
|
||||
state_did_revert_hook = _StateDidRevertHook()
|
||||
state_did_revert = _StateDidRevertHook()
|
||||
|
||||
|
||||
class _StateShortcutsWillChangeHook:
|
||||
|
@ -833,7 +833,7 @@ class _StateShortcutsWillChangeHook:
|
|||
raise
|
||||
|
||||
|
||||
state_shortcuts_will_change_hook = _StateShortcutsWillChangeHook()
|
||||
state_shortcuts_will_change = _StateShortcutsWillChangeHook()
|
||||
|
||||
|
||||
class _StateWillChangeHook:
|
||||
|
@ -859,7 +859,7 @@ class _StateWillChangeHook:
|
|||
runHook("beforeStateChange", new_state, old_state)
|
||||
|
||||
|
||||
state_will_change_hook = _StateWillChangeHook()
|
||||
state_will_change = _StateWillChangeHook()
|
||||
|
||||
|
||||
class _StyleDidSetupFilter:
|
||||
|
@ -886,7 +886,7 @@ class _StyleDidSetupFilter:
|
|||
return style
|
||||
|
||||
|
||||
style_did_setup_filter = _StyleDidSetupFilter()
|
||||
style_did_setup = _StyleDidSetupFilter()
|
||||
|
||||
|
||||
class _UndoStateDidChangeHook:
|
||||
|
@ -912,7 +912,7 @@ class _UndoStateDidChangeHook:
|
|||
runHook("undoState", can_undo)
|
||||
|
||||
|
||||
undo_state_did_change_hook = _UndoStateDidChangeHook()
|
||||
undo_state_did_change = _UndoStateDidChangeHook()
|
||||
|
||||
|
||||
class _WebviewContextMenuWillShowHook:
|
||||
|
@ -938,5 +938,5 @@ class _WebviewContextMenuWillShowHook:
|
|||
runHook("AnkiWebView.contextMenuEvent", webview, menu)
|
||||
|
||||
|
||||
webview_context_menu_will_show_hook = _WebviewContextMenuWillShowHook()
|
||||
webview_context_menu_will_show = _WebviewContextMenuWillShowHook()
|
||||
# @@AUTOGEN@@
|
||||
|
|
|
@ -86,7 +86,7 @@ class ImportDialog(QDialog):
|
|||
self.setupOptions()
|
||||
self.modelChanged()
|
||||
self.frm.autoDetect.setVisible(self.importer.needDelimiter)
|
||||
gui_hooks.current_note_type_did_change_hook.append(self.modelChanged)
|
||||
gui_hooks.current_note_type_did_change.append(self.modelChanged)
|
||||
self.frm.autoDetect.clicked.connect(self.onDelimiter)
|
||||
self.updateDelimiterButtonText()
|
||||
self.frm.allowHTML.setChecked(self.mw.pm.profile.get("allowHTML", True))
|
||||
|
@ -280,7 +280,7 @@ you can enter it here. Use \\t to represent tab."""
|
|||
def reject(self):
|
||||
self.modelChooser.cleanup()
|
||||
self.deck.cleanup()
|
||||
gui_hooks.current_note_type_did_change_hook.remove(self.modelChanged)
|
||||
gui_hooks.current_note_type_did_change.remove(self.modelChanged)
|
||||
QDialog.reject(self)
|
||||
|
||||
def helpRequested(self):
|
||||
|
|
|
@ -341,7 +341,7 @@ close the profile or restart Anki."""
|
|||
else:
|
||||
self.handleImport(self.pendingImport)
|
||||
self.pendingImport = None
|
||||
gui_hooks.profile_did_open_hook()
|
||||
gui_hooks.profile_did_open()
|
||||
if onsuccess:
|
||||
onsuccess()
|
||||
|
||||
|
@ -350,7 +350,7 @@ close the profile or restart Anki."""
|
|||
self._unloadProfile()
|
||||
onsuccess()
|
||||
|
||||
gui_hooks.profile_will_close_hook()
|
||||
gui_hooks.profile_will_close()
|
||||
self.unloadCollection(callback)
|
||||
|
||||
def _unloadProfile(self) -> None:
|
||||
|
@ -560,11 +560,11 @@ from the profile screen."
|
|||
cleanup(state)
|
||||
self.clearStateShortcuts()
|
||||
self.state = state
|
||||
gui_hooks.state_will_change_hook(state, oldState)
|
||||
gui_hooks.state_will_change(state, oldState)
|
||||
getattr(self, "_" + state + "State")(oldState, *args)
|
||||
if state != "resetRequired":
|
||||
self.bottomWeb.show()
|
||||
gui_hooks.state_did_change_hook(state, oldState)
|
||||
gui_hooks.state_did_change(state, oldState)
|
||||
|
||||
def _deckBrowserState(self, oldState: str) -> None:
|
||||
self.deckBrowser.show()
|
||||
|
@ -574,7 +574,7 @@ from the profile screen."
|
|||
self.enableColMenuItems()
|
||||
# ensure cwd is set if media dir exists
|
||||
self.col.media.dir()
|
||||
gui_hooks.collection_did_load_hook(self.col)
|
||||
gui_hooks.collection_did_load(self.col)
|
||||
self.moveToState("overview")
|
||||
|
||||
def _selectedDeck(self) -> Optional[Dict[str, Any]]:
|
||||
|
@ -605,7 +605,7 @@ from the profile screen."
|
|||
if self.col:
|
||||
if not guiOnly:
|
||||
self.col.reset()
|
||||
gui_hooks.state_did_reset_hook()
|
||||
gui_hooks.state_did_reset()
|
||||
self.maybeEnableUndo()
|
||||
self.moveToState(self.state)
|
||||
|
||||
|
@ -847,7 +847,7 @@ QTreeWidget {
|
|||
"""
|
||||
|
||||
# allow addons to modify the styling
|
||||
buf = gui_hooks.style_did_setup_filter(buf)
|
||||
buf = gui_hooks.style_did_setup(buf)
|
||||
|
||||
# allow users to extend styling
|
||||
p = os.path.join(aqt.mw.pm.base, "style.css")
|
||||
|
@ -884,7 +884,7 @@ QTreeWidget {
|
|||
return qshortcuts
|
||||
|
||||
def setStateShortcuts(self, shortcuts: List[Tuple[str, Callable]]) -> None:
|
||||
gui_hooks.state_shortcuts_will_change_hook(self.state, shortcuts)
|
||||
gui_hooks.state_shortcuts_will_change(self.state, shortcuts)
|
||||
# legacy hook
|
||||
runHook(self.state + "StateShortcuts", shortcuts)
|
||||
self.stateShortcuts = self.applyShortcuts(shortcuts)
|
||||
|
@ -928,22 +928,22 @@ QTreeWidget {
|
|||
self.col.sched.reset()
|
||||
self.reviewer.cardQueue.append(card)
|
||||
self.reviewer.nextCard()
|
||||
gui_hooks.review_did_undo_hook(cid)
|
||||
gui_hooks.review_did_undo(cid)
|
||||
else:
|
||||
self.reset()
|
||||
tooltip(_("Reverted to state prior to '%s'.") % n.lower())
|
||||
gui_hooks.state_did_revert_hook(n)
|
||||
gui_hooks.state_did_revert(n)
|
||||
self.maybeEnableUndo()
|
||||
|
||||
def maybeEnableUndo(self) -> None:
|
||||
if self.col and self.col.undoName():
|
||||
self.form.actionUndo.setText(_("Undo %s") % self.col.undoName())
|
||||
self.form.actionUndo.setEnabled(True)
|
||||
gui_hooks.undo_state_did_change_hook(True)
|
||||
gui_hooks.undo_state_did_change(True)
|
||||
else:
|
||||
self.form.actionUndo.setText(_("Undo"))
|
||||
self.form.actionUndo.setEnabled(False)
|
||||
gui_hooks.undo_state_did_change_hook(False)
|
||||
gui_hooks.undo_state_did_change(False)
|
||||
|
||||
def checkpoint(self, name):
|
||||
self.col.save(name)
|
||||
|
@ -1153,12 +1153,12 @@ Difference to correct time: %s."""
|
|||
##########################################################################
|
||||
|
||||
def setupHooks(self) -> None:
|
||||
hooks.schema_will_change_filter.append(self.onSchemaMod)
|
||||
hooks.notes_will_delete_hook.append(self.onRemNotes)
|
||||
hooks.card_odue_was_invalid_hook.append(self.onOdueInvalid)
|
||||
hooks.schema_will_change.append(self.onSchemaMod)
|
||||
hooks.notes_will_delete.append(self.onRemNotes)
|
||||
hooks.card_odue_was_invalid.append(self.onOdueInvalid)
|
||||
|
||||
gui_hooks.mpv_will_play_hook.append(self.on_mpv_will_play)
|
||||
gui_hooks.mpv_did_idle_hook.append(self.on_mpv_idle)
|
||||
gui_hooks.mpv_will_play.append(self.on_mpv_will_play)
|
||||
gui_hooks.mpv_did_idle.append(self.on_mpv_idle)
|
||||
|
||||
self._activeWindowOnPlay: Optional[QWidget] = None
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ class ModelChooser(QHBoxLayout):
|
|||
self.setContentsMargins(0, 0, 0, 0)
|
||||
self.setSpacing(8)
|
||||
self.setupModels()
|
||||
gui_hooks.state_did_reset_hook.append(self.onReset)
|
||||
gui_hooks.state_did_reset.append(self.onReset)
|
||||
self.widget.setLayout(self)
|
||||
|
||||
def setupModels(self):
|
||||
|
@ -41,7 +41,7 @@ class ModelChooser(QHBoxLayout):
|
|||
self.updateModels()
|
||||
|
||||
def cleanup(self):
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
|
||||
def onReset(self):
|
||||
self.updateModels()
|
||||
|
@ -86,7 +86,7 @@ class ModelChooser(QHBoxLayout):
|
|||
cdeck = self.deck.decks.current()
|
||||
cdeck["mid"] = m["id"]
|
||||
self.deck.decks.save(cdeck)
|
||||
gui_hooks.current_note_type_did_change_hook(current)
|
||||
gui_hooks.current_note_type_did_change(current)
|
||||
self.mw.reset()
|
||||
|
||||
def updateModels(self):
|
||||
|
|
|
@ -41,7 +41,7 @@ class Reviewer:
|
|||
self.typeCorrect = None # web init happens before this is set
|
||||
self.state = None
|
||||
self.bottom = aqt.toolbar.BottomBar(mw, mw.bottomWeb)
|
||||
hooks.card_did_leech_hook.append(self.onLeech)
|
||||
hooks.card_did_leech.append(self.onLeech)
|
||||
|
||||
def show(self):
|
||||
self.mw.col.reset()
|
||||
|
@ -62,7 +62,7 @@ class Reviewer:
|
|||
return
|
||||
|
||||
def cleanup(self):
|
||||
gui_hooks.reviewer_will_end_hook()
|
||||
gui_hooks.reviewer_will_end()
|
||||
|
||||
# Fetching a card
|
||||
##########################################################################
|
||||
|
@ -187,7 +187,7 @@ The front of this card is empty. Please run Tools>Empty Cards."""
|
|||
playFromText(q)
|
||||
# render & update bottom
|
||||
q = self._mungeQA(q)
|
||||
q = gui_hooks.card_text_filter(q, c, "reviewQuestion")
|
||||
q = gui_hooks.card_text(q, c, "reviewQuestion")
|
||||
|
||||
bodyclass = bodyClass(self.mw.col, c)
|
||||
|
||||
|
@ -199,7 +199,7 @@ The front of this card is empty. Please run Tools>Empty Cards."""
|
|||
if self.typeCorrect:
|
||||
self.mw.web.setFocus()
|
||||
# user hook
|
||||
gui_hooks.reviewer_question_did_show_hook(c)
|
||||
gui_hooks.reviewer_question_did_show(c)
|
||||
|
||||
def autoplay(self, card):
|
||||
return self.mw.col.decks.confForDid(card.odid or card.did)["autoplay"]
|
||||
|
@ -229,12 +229,12 @@ The front of this card is empty. Please run Tools>Empty Cards."""
|
|||
if self.autoplay(c):
|
||||
playFromText(a)
|
||||
a = self._mungeQA(a)
|
||||
a = gui_hooks.card_text_filter(a, c, "reviewAnswer")
|
||||
a = gui_hooks.card_text(a, c, "reviewAnswer")
|
||||
# render and update bottom
|
||||
self.web.eval("_showAnswer(%s);" % json.dumps(a))
|
||||
self._showEaseButtons()
|
||||
# user hook
|
||||
gui_hooks.reviewer_answer_did_show_hook(c)
|
||||
gui_hooks.reviewer_answer_did_show(c)
|
||||
|
||||
# Answering a card
|
||||
############################################################
|
||||
|
@ -694,7 +694,7 @@ time = %(time)d;
|
|||
m = QMenu(self.mw)
|
||||
self._addMenuItems(m, opts)
|
||||
|
||||
gui_hooks.reviewer_context_menu_will_show_hook(self, m)
|
||||
gui_hooks.reviewer_context_menu_will_show(self, m)
|
||||
qtMenuShortcutWorkaround(m)
|
||||
m.exec_(QCursor.pos())
|
||||
|
||||
|
|
|
@ -157,7 +157,7 @@ class MpvManager(MPV):
|
|||
super().__init__(window_id=None, debug=False)
|
||||
|
||||
def queueFile(self, file: str) -> None:
|
||||
gui_hooks.mpv_will_play_hook(file)
|
||||
gui_hooks.mpv_will_play(file)
|
||||
|
||||
path = os.path.join(os.getcwd(), file)
|
||||
self.command("loadfile", path, "append-play")
|
||||
|
@ -172,7 +172,7 @@ class MpvManager(MPV):
|
|||
self.command("seek", secs, "relative")
|
||||
|
||||
def on_idle(self) -> None:
|
||||
gui_hooks.mpv_did_idle_hook()
|
||||
gui_hooks.mpv_did_idle()
|
||||
|
||||
|
||||
def setMpvConfigBase(base) -> None:
|
||||
|
@ -377,7 +377,7 @@ def stopMplayer(*args) -> None:
|
|||
cleanupOldMplayerProcesses()
|
||||
|
||||
|
||||
gui_hooks.profile_will_close_hook.append(stopMplayer)
|
||||
gui_hooks.profile_will_close.append(stopMplayer)
|
||||
|
||||
# PyAudio recording
|
||||
##########################################################################
|
||||
|
|
|
@ -32,7 +32,7 @@ class StudyDeck(QDialog):
|
|||
self.form.setupUi(self)
|
||||
self.form.filter.installEventFilter(self)
|
||||
self.cancel = cancel
|
||||
gui_hooks.state_did_reset_hook.append(self.onReset)
|
||||
gui_hooks.state_did_reset.append(self.onReset)
|
||||
self.geomKey = "studyDeck-" + geomKey
|
||||
restoreGeom(self, self.geomKey)
|
||||
if not cancel:
|
||||
|
@ -120,7 +120,7 @@ class StudyDeck(QDialog):
|
|||
|
||||
def accept(self):
|
||||
saveGeom(self, self.geomKey)
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
row = self.form.list.currentRow()
|
||||
if row < 0:
|
||||
showInfo(_("Please select something."))
|
||||
|
@ -130,7 +130,7 @@ class StudyDeck(QDialog):
|
|||
|
||||
def reject(self):
|
||||
saveGeom(self, self.geomKey)
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
QDialog.reject(self)
|
||||
|
||||
def onAddDeck(self):
|
||||
|
@ -144,5 +144,5 @@ class StudyDeck(QDialog):
|
|||
self.mw.col.decks.id(n)
|
||||
self.name = n
|
||||
# make sure we clean up reset hook when manually exiting
|
||||
gui_hooks.state_did_reset_hook.remove(self.onReset)
|
||||
gui_hooks.state_did_reset.remove(self.onReset)
|
||||
QDialog.accept(self)
|
||||
|
|
|
@ -406,10 +406,10 @@ class SyncThread(QThread):
|
|||
self._abort = 2
|
||||
raise Exception("sync cancelled")
|
||||
|
||||
hooks.sync_stage_did_change_hook.append(syncEvent)
|
||||
hooks.sync_progress_did_change_hook.append(syncMsg)
|
||||
hooks.http_data_did_send_hook.append(sendEvent)
|
||||
hooks.http_data_did_receive_hook.append(recvEvent)
|
||||
hooks.sync_stage_did_change.append(syncEvent)
|
||||
hooks.sync_progress_did_change.append(syncMsg)
|
||||
hooks.http_data_did_send.append(sendEvent)
|
||||
hooks.http_data_did_receive.append(recvEvent)
|
||||
# run sync and catch any errors
|
||||
try:
|
||||
self._sync()
|
||||
|
@ -419,10 +419,10 @@ class SyncThread(QThread):
|
|||
finally:
|
||||
# don't bump mod time unless we explicitly save
|
||||
self.col.close(save=False)
|
||||
hooks.sync_stage_did_change_hook.remove(syncEvent)
|
||||
hooks.sync_progress_did_change_hook.remove(syncMsg)
|
||||
hooks.http_data_did_send_hook.remove(sendEvent)
|
||||
hooks.http_data_did_receive_hook.remove(recvEvent)
|
||||
hooks.sync_stage_did_change.remove(syncEvent)
|
||||
hooks.sync_progress_did_change.remove(syncMsg)
|
||||
hooks.http_data_did_send.remove(sendEvent)
|
||||
hooks.http_data_did_receive.remove(recvEvent)
|
||||
|
||||
def _abortingSync(self):
|
||||
try:
|
||||
|
|
|
@ -182,7 +182,7 @@ class AnkiWebView(QWebEngineView): # type: ignore
|
|||
m = QMenu(self)
|
||||
a = m.addAction(_("Copy"))
|
||||
a.triggered.connect(self.onCopy)
|
||||
gui_hooks.webview_context_menu_will_show_hook(self, m)
|
||||
gui_hooks.webview_context_menu_will_show(self, m)
|
||||
m.popup(QCursor.pos())
|
||||
|
||||
def dropEvent(self, evt):
|
||||
|
|
Loading…
Reference in a new issue