diff --git a/proto/anki/frontend.proto b/proto/anki/frontend.proto index 54be57942..bcb155fab 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 openDialogMenu(OpenDialogMenuRequest) returns (generic.Empty); + rpc OpenReviewerMenu(openReviewerMenuRequest) returns (generic.Empty); } service BackendFrontendService {} @@ -53,7 +53,7 @@ message PlayAVTagsRequest { repeated card_rendering.AVTag tags = 1; } -message OpenDialogMenuRequest { +message openReviewerMenuRequest { 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 e3b1a8b68..7e22ecaf2 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 OpenDialogMenuRequest, PlayAVTagsRequest +from anki.frontend_pb2 import PlayAVTagsRequest, openReviewerMenuRequest from anki.scheduler.v3 import SchedulingStatesWithContext, SetSchedulingStatesRequest from anki.scheduler_pb2 import NextCardDataResponse from anki.template import ( @@ -706,13 +706,16 @@ def play_avtags(): play_tags(av_tags_to_native(req.tags)) -def open_dialog_menu(): - req = OpenDialogMenuRequest.FromString(request.data) +REVIEWER_MENUS = { + "EditCurrent": lambda: aqt.mw.taskman.run_on_main(aqt.mw.onEditCurrent), +} + + +def open_reviewer_menu(): + req = openReviewerMenuRequest.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)) + aqt.mw.reviewer.card = aqt.mw.col.get_card(CardId(req.current_card_id)) + REVIEWER_MENUS[req.name]() post_handler_list = [ @@ -733,7 +736,7 @@ post_handler_list = [ save_custom_colours, next_card_data, play_avtags, - open_dialog_menu, + open_reviewer_menu, ] diff --git a/ts/routes/reviewer/reviewer.ts b/ts/routes/reviewer/reviewer.ts index 3ea59fcc7..c70420782 100644 --- a/ts/routes/reviewer/reviewer.ts +++ b/ts/routes/reviewer/reviewer.ts @@ -8,9 +8,9 @@ import { import { buryOrSuspendCards, compareAnswer, - openDialogMenu, getConfigJson, nextCardData, + openReviewerMenu, playAvtags, redo, setConfigJson, @@ -97,11 +97,11 @@ export class ReviewerState { } public displayMenu(name: string) { - openDialogMenu({name, currentCardId: this.currentCard?.card?.id }); + openReviewerMenu({ name, currentCardId: this.currentCard?.card?.id }); } public displayEditMenu() { - this.displayMenu("EditCurrent") + this.displayMenu("EditCurrent"); } public buryCurrentCard() {