From f91ba1075b13d76e858e83b0c91840ec16b73db5 Mon Sep 17 00:00:00 2001 From: Luc Mcgrady Date: Fri, 7 Nov 2025 22:29:56 +0000 Subject: [PATCH] Added: Edit button functionality --- proto/anki/frontend.proto | 5 +++++ qt/aqt/mediasrv.py | 13 +++++++++++-- .../reviewer/reviewer-bottom/ReviewerBottom.svelte | 4 ++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/proto/anki/frontend.proto b/proto/anki/frontend.proto index 358edfda6..7d56b0027 100644 --- a/proto/anki/frontend.proto +++ b/proto/anki/frontend.proto @@ -34,6 +34,7 @@ service FrontendService { // Plays the listed AV tags rpc PlayAVTags(PlayAVTagsRequest) returns (generic.Empty); + rpc displayEditMenu(DisplayEditMenuRequest) returns (generic.Empty); } service BackendFrontendService {} @@ -50,4 +51,8 @@ message SetSchedulingStatesRequest { message PlayAVTagsRequest { repeated card_rendering.AVTag tags = 1; +} + +message DisplayEditMenuRequest { + optional int64 cid = 1; } \ No newline at end of file diff --git a/qt/aqt/mediasrv.py b/qt/aqt/mediasrv.py index 232f5b383..2986aea43 100644 --- a/qt/aqt/mediasrv.py +++ b/qt/aqt/mediasrv.py @@ -28,10 +28,10 @@ import aqt import aqt.main import aqt.operations from anki import hooks -from anki.cards import Card +from anki.cards import Card, CardId from anki.collection import OpChanges, OpChangesOnly, Progress, SearchNode from anki.decks import UpdateDeckConfigs -from anki.frontend_pb2 import PlayAVTagsRequest +from anki.frontend_pb2 import DisplayEditMenuRequest, PlayAVTagsRequest from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest from anki.scheduler_pb2 import NextCardDataResponse from anki.template import ( @@ -698,6 +698,14 @@ def play_avtags(): play_tags(av_tags_to_native(req.tags)) +def display_edit_menu(): + req = DisplayEditMenuRequest.FromString(request.data) + aqt.mw.reviewer.card = aqt.mw.col.get_card( + CardId(req.cid) if req.HasField("cid") else None + ) + aqt.mw.taskman.run_on_main(aqt.mw.onEditCurrent) + + post_handler_list = [ congrats_info, get_deck_configs_for_update, @@ -716,6 +724,7 @@ post_handler_list = [ save_custom_colours, next_card_data, play_avtags, + display_edit_menu, ] diff --git a/ts/routes/reviewer/reviewer-bottom/ReviewerBottom.svelte b/ts/routes/reviewer/reviewer-bottom/ReviewerBottom.svelte index 39160026e..2442f1b86 100644 --- a/ts/routes/reviewer/reviewer-bottom/ReviewerBottom.svelte +++ b/ts/routes/reviewer/reviewer-bottom/ReviewerBottom.svelte @@ -6,11 +6,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import "./index.scss"; import AnswerButton from "./AnswerButton.svelte"; - import { bridgeCommand } from "@tslib/bridgecommand"; import * as tr from "@generated/ftl"; import type { ReviewerState } from "../reviewer"; import Remaining from "./Remaining.svelte"; import More from "./More.svelte"; + import { displayEditMenu } from "@generated/backend"; export let state: ReviewerState; @@ -26,7 +26,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html