From 88756e899b6d1efcb38782353e26ebb5c4cf5d91 Mon Sep 17 00:00:00 2001 From: Luc Mcgrady Date: Tue, 11 Nov 2025 12:11:02 +0000 Subject: [PATCH] DisplayEditMenu -> OpenDialogMenu --- proto/anki/frontend.proto | 7 ++++--- qt/aqt/mediasrv.py | 17 +++++++++-------- ts/routes/reviewer/reviewer.ts | 8 ++++++-- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/proto/anki/frontend.proto b/proto/anki/frontend.proto index 7d56b0027..54be57942 100644 --- a/proto/anki/frontend.proto +++ b/proto/anki/frontend.proto @@ -34,7 +34,7 @@ service FrontendService { // Plays the listed AV tags rpc PlayAVTags(PlayAVTagsRequest) returns (generic.Empty); - rpc displayEditMenu(DisplayEditMenuRequest) returns (generic.Empty); + rpc openDialogMenu(OpenDialogMenuRequest) returns (generic.Empty); } service BackendFrontendService {} @@ -53,6 +53,7 @@ message PlayAVTagsRequest { repeated card_rendering.AVTag tags = 1; } -message DisplayEditMenuRequest { - optional int64 cid = 1; +message OpenDialogMenuRequest { + string name = 1; + optional int64 current_card_id = 2; } \ No newline at end of file diff --git a/qt/aqt/mediasrv.py b/qt/aqt/mediasrv.py index a61473b53..e3b1a8b68 100644 --- a/qt/aqt/mediasrv.py +++ b/qt/aqt/mediasrv.py @@ -31,7 +31,7 @@ from anki import hooks from anki.cards import Card, CardId from anki.collection import OpChanges, OpChangesOnly, Progress, SearchNode from anki.decks import UpdateDeckConfigs -from anki.frontend_pb2 import DisplayEditMenuRequest, PlayAVTagsRequest +from anki.frontend_pb2 import OpenDialogMenuRequest, PlayAVTagsRequest from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest from anki.scheduler_pb2 import NextCardDataResponse from anki.template import ( @@ -706,12 +706,13 @@ 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) +def open_dialog_menu(): + req = OpenDialogMenuRequest.FromString(request.data) + if req.HasField("current_card_id"): + aqt.mw.reviewer.card = aqt.mw.col.get_card( + CardId(req.current_card_id) + ) + aqt.mw.taskman.run_on_main(lambda: aqt.dialogs.open(req.name, aqt.mw)) post_handler_list = [ @@ -732,7 +733,7 @@ post_handler_list = [ save_custom_colours, next_card_data, play_avtags, - display_edit_menu, + open_dialog_menu, ] diff --git a/ts/routes/reviewer/reviewer.ts b/ts/routes/reviewer/reviewer.ts index 6679e784b..3ea59fcc7 100644 --- a/ts/routes/reviewer/reviewer.ts +++ b/ts/routes/reviewer/reviewer.ts @@ -8,7 +8,7 @@ import { import { buryOrSuspendCards, compareAnswer, - displayEditMenu, + openDialogMenu, getConfigJson, nextCardData, playAvtags, @@ -96,8 +96,12 @@ export class ReviewerState { this.showQuestion(null); } + public displayMenu(name: string) { + openDialogMenu({name, currentCardId: this.currentCard?.card?.id }); + } + public displayEditMenu() { - displayEditMenu({ cid: this.currentCard?.card?.id }); + this.displayMenu("EditCurrent") } public buryCurrentCard() {