Replace menu string with enum

This commit is contained in:
Luc Mcgrady 2025-11-13 21:49:22 +00:00
parent 9f47d7beb1
commit 3dba3580a7
No known key found for this signature in database
GPG key ID: 4F3D7A0B17CC3D9C
3 changed files with 27 additions and 16 deletions

View file

@ -54,6 +54,15 @@ message PlayAVTagsRequest {
}
message OpenReviewerMenuRequest {
string name = 1;
enum ReviewerMenu {
EditCurrent = 0;
SetDueDate = 1;
CardInfo = 2;
CreateCopy = 3;
Forget = 4;
Options = 5;
};
ReviewerMenu menu = 1;
optional int64 current_card_id = 2;
}

View file

@ -708,24 +708,25 @@ def play_avtags():
def open_reviewer_menu():
reviewer = aqt.mw.reviewer
MENU_ENUM = OpenReviewerMenuRequest.ReviewerMenu
def on_card_info():
reviewer._card_info.set_card(reviewer.card)
reviewer.on_card_info()
REVIEWER_MENUS = {
"EditCurrent": aqt.mw.onEditCurrent,
"SetDueDate": reviewer.on_set_due,
"CardInfo": on_card_info,
"CreateCopy": reviewer.on_create_copy,
"Forget": reviewer.forget_current_card,
"Options": reviewer.onOptions,
MENU_ENUM.EditCurrent: aqt.mw.onEditCurrent,
MENU_ENUM.SetDueDate: reviewer.on_set_due,
MENU_ENUM.CardInfo: on_card_info,
MENU_ENUM.CreateCopy: reviewer.on_create_copy,
MENU_ENUM.Forget: reviewer.forget_current_card,
MENU_ENUM.Options: reviewer.onOptions,
}
req = OpenReviewerMenuRequest.FromString(request.data)
if req.HasField("current_card_id"):
reviewer.card = aqt.mw.col.get_card(CardId(req.current_card_id))
aqt.mw.taskman.run_on_main(REVIEWER_MENUS[req.name])
aqt.mw.taskman.run_on_main(REVIEWER_MENUS[req.menu])
post_handler_list = [

View file

@ -1,6 +1,7 @@
// Copyright: Ankitects Pty Ltd and contributors
// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
import type { UndoStatus } from "@generated/anki/collection_pb";
import { OpenReviewerMenuRequest_ReviewerMenu } from "@generated/anki/frontend_pb";
import {
BuryOrSuspendCardsRequest_Mode,
CardAnswer,
@ -106,32 +107,32 @@ export class ReviewerState {
this.showQuestion(null);
}
displayMenu(name: string) {
openReviewerMenu({ name, currentCardId: this.currentCard?.card?.id });
displayMenu(menu: OpenReviewerMenuRequest_ReviewerMenu) {
openReviewerMenu({ menu, currentCardId: this.currentCard?.card?.id });
}
public displayEditMenu() {
this.displayMenu("EditCurrent");
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.EditCurrent);
}
public displaySetDueDateMenu() {
this.displayMenu("SetDueDate");
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.SetDueDate);
}
public displayCardInfoMenu() {
this.displayMenu("CardInfo");
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CardInfo);
}
public displayCreateCopyMenu() {
this.displayMenu("CreateCopy");
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CreateCopy);
}
public displayForgetMenu() {
this.displayMenu("Forget");
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.Forget);
}
public displayOptionsMenu() {
this.displayMenu("Options");
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.Options);
}
public toggleMarked() {