mirror of
https://github.com/ankitects/anki.git
synced 2026-01-13 22:13:58 -05:00
Add flip button to editor to swap Front/Back fields (closes #3911)
This commit is contained in:
parent
615bbf95a1
commit
d27e2705c5
2 changed files with 29 additions and 0 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -18,3 +18,4 @@ node_modules
|
|||
yarn-error.log
|
||||
ts/.svelte-kit
|
||||
.yarn
|
||||
venv/
|
||||
|
|
|
|||
|
|
@ -1790,3 +1790,31 @@ def set_image_occlusion_button(editor: Editor) -> None:
|
|||
|
||||
gui_hooks.editor_did_load_note.append(set_cloze_button)
|
||||
gui_hooks.editor_did_load_note.append(set_image_occlusion_button)
|
||||
|
||||
def add_flip_button(buttons, editor: Editor):
|
||||
# Callback-Funktion beim Klick: zuerst Änderungen speichern, dann Flip ausführen
|
||||
def on_flip(editor: Editor):
|
||||
editor.saveNow(lambda: flip_fields(editor))
|
||||
# Felder tauschen und Editor aktualisieren
|
||||
def flip_fields(editor: Editor):
|
||||
front_text = editor.note["Front"] # aktuellen Front-Text auslesen
|
||||
back_text = editor.note["Back"] # aktuellen Back-Text auslesen
|
||||
editor.note["Front"] = back_text # Front-Feld setzen
|
||||
editor.note["Back"] = front_text # Back-Feld setzen
|
||||
editor.loadNote() # Editor-Ansicht mit neuen Werten aktualisieren
|
||||
if not editor.addMode: # Änderungen in DB schreiben (falls bestehende Notiz)
|
||||
editor.note.flush()
|
||||
tooltip("Fields flipped successfully.") # Erfolgsmeldung anzeigen
|
||||
# Neuen Button dem Editor hinzufügen (↔ Symbol, Tooltip-Text)
|
||||
btn = editor.addButton(
|
||||
icon=None,
|
||||
cmd="flipFields",
|
||||
func=on_flip,
|
||||
tip="Front/Back Felder vertauschen",
|
||||
label="↔",
|
||||
id="flip_fields_button"
|
||||
)
|
||||
buttons.append(btn)
|
||||
return buttons
|
||||
|
||||
gui_hooks.editor_did_init_buttons.append(add_flip_button)
|
||||
|
|
|
|||
Loading…
Reference in a new issue