From 6248a71f2ae4f13f43a6a61eb6962f8b4f7b7cf1 Mon Sep 17 00:00:00 2001 From: Abdo Date: Wed, 15 Oct 2025 00:51:48 +0300 Subject: [PATCH] Move .reload_note() calls --- qt/aqt/browser/browser.py | 6 ------ qt/aqt/editcurrent.py | 13 ------------ ts/routes/editor/NoteEditor.svelte | 32 ++++++++++++++++++------------ 3 files changed, 19 insertions(+), 32 deletions(-) diff --git a/qt/aqt/browser/browser.py b/qt/aqt/browser/browser.py index 840f3d315..af899d626 100644 --- a/qt/aqt/browser/browser.py +++ b/qt/aqt/browser/browser.py @@ -185,12 +185,6 @@ class Browser(QMainWindow): focused = current_window() == self self.table.op_executed(changes, handler, focused) self.sidebar.op_executed(changes, handler, focused) - if changes.note_text: - if handler is not self.editor: - # fixme: this will leave the splitter shown, but with no current - # note being edited - assert self.editor is not None - self.editor.reload_note() if changes.browser_table and changes.card: self.card = self.table.get_single_selected_card() diff --git a/qt/aqt/editcurrent.py b/qt/aqt/editcurrent.py index 1b42c5d83..1a235f4a5 100644 --- a/qt/aqt/editcurrent.py +++ b/qt/aqt/editcurrent.py @@ -4,9 +4,6 @@ from __future__ import annotations from collections.abc import Callable -import aqt.editor -from anki.collection import OpChanges -from aqt import gui_hooks from aqt.editcurrent_legacy import * from aqt.qt import * from aqt.utils import add_close_shortcut, restoreGeom, saveGeom, tr @@ -34,17 +31,9 @@ class NewEditCurrent(QMainWindow): self.editor.set_note(self.mw.reviewer.card.note(), focusTo=0) restoreGeom(self, "editcurrent") add_close_shortcut(self) - gui_hooks.operation_did_execute.append(self.on_operation_did_execute) self.show() - def on_operation_did_execute( - self, changes: OpChanges, handler: object | None - ) -> None: - if changes.note_text and handler is not self.editor: - self.editor.reload_note() - def cleanup(self) -> None: - gui_hooks.operation_did_execute.remove(self.on_operation_did_execute) self.editor.cleanup() saveGeom(self, "editcurrent") aqt.dialogs.markClosed("NewEditCurrent") @@ -68,5 +57,3 @@ class NewEditCurrent(QMainWindow): onsuccess() self.editor.call_after_note_saved(callback) - - onReset = on_operation_did_execute diff --git a/ts/routes/editor/NoteEditor.svelte b/ts/routes/editor/NoteEditor.svelte index e03f335e4..d78846e58 100644 --- a/ts/routes/editor/NoteEditor.svelte +++ b/ts/routes/editor/NoteEditor.svelte @@ -774,6 +774,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html initToast, showToast, } from "../image-occlusion/toast-utils.svelte"; + import type { OpChanges } from "@generated/anki/collection_pb"; $: isIOImageLoaded = false; $: ioImageLoadedStore.set(isIOImageLoaded); @@ -1219,6 +1220,23 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html } } + async function onOperationDidExecute(changes: Partial) { + if (mode === "add" && (changes.notetype || changes.deck)) { + let homeDeckId = 0n; + if (reviewerCard) { + homeDeckId = reviewerCard.originalDeckId || reviewerCard.deckId; + } + const chooserDefaults = await defaultsForAdding({ + homeDeckOfCurrentReviewCard: homeDeckId, + }); + notetypeChooser.select(chooserDefaults.notetypeId); + onNotetypeChange(chooserDefaults.notetypeId, false); + } + else if (mode !== "add" && changes.noteText) { + reloadNote(); + } + } + $: signalEditorState($editorState); $: $editorState = getEditorState( @@ -1234,19 +1252,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html } onMount(() => { - registerOperationHandler(async (changes) => { - if (mode === "add" && (changes.notetype || changes.deck)) { - let homeDeckId = 0n; - if (reviewerCard) { - homeDeckId = reviewerCard.originalDeckId || reviewerCard.deckId; - } - const chooserDefaults = await defaultsForAdding({ - homeDeckOfCurrentReviewCard: homeDeckId, - }); - notetypeChooser.select(chooserDefaults.notetypeId); - onNotetypeChange(chooserDefaults.notetypeId, false); - } - }); + registerOperationHandler(onOperationDidExecute); if (mode === "add") { deregisterSticky = registerShortcut(toggleStickyAll, "Shift+F9");