Added: PreviousCardInfo

This commit is contained in:
Luc Mcgrady 2025-11-18 08:35:53 +00:00
parent 0568f57c23
commit 00192a76a2
No known key found for this signature in database
GPG key ID: 4F3D7A0B17CC3D9C
4 changed files with 18 additions and 13 deletions

View file

@ -58,15 +58,17 @@ message OpenReviewerMenuRequest {
EditCurrent = 0; EditCurrent = 0;
SetDueDate = 1; SetDueDate = 1;
CardInfo = 2; CardInfo = 2;
CreateCopy = 3; PreviousCardInfo = 3;
CreateCopy = 4;
// Reset // Reset
Forget = 4; Forget = 5;
// Preset Options // Preset Options
Options = 5; Options = 6;
// "Congratulations" // "Congratulations"
Overview = 6; Overview = 7;
}; };
ReviewerMenu menu = 1; ReviewerMenu menu = 1;
// In case the card isn't set in a next_card_data intercept function
optional int64 current_card_id = 2; optional int64 current_card_id = 2;
} }

View file

@ -28,7 +28,7 @@ import aqt
import aqt.main import aqt.main
import aqt.operations import aqt.operations
from anki import hooks from anki import hooks
from anki.cards import Card, CardId from anki.cards import Card
from anki.collection import OpChanges, OpChangesOnly, Progress, SearchNode from anki.collection import OpChanges, OpChangesOnly, Progress, SearchNode
from anki.decks import UpdateDeckConfigs from anki.decks import UpdateDeckConfigs
from anki.frontend_pb2 import OpenReviewerMenuRequest, PlayAVTagsRequest from anki.frontend_pb2 import OpenReviewerMenuRequest, PlayAVTagsRequest
@ -726,17 +726,14 @@ def open_reviewer_menu():
reviewer = aqt.mw.reviewer reviewer = aqt.mw.reviewer
MENU_ENUM = OpenReviewerMenuRequest.ReviewerMenu MENU_ENUM = OpenReviewerMenuRequest.ReviewerMenu
def on_card_info():
reviewer._card_info.set_card(reviewer.card)
reviewer.on_card_info()
def overview(): def overview():
aqt.mw.moveToState("overview") aqt.mw.moveToState("overview")
REVIEWER_MENUS = { REVIEWER_MENUS = {
MENU_ENUM.EditCurrent: aqt.mw.onEditCurrent, MENU_ENUM.EditCurrent: aqt.mw.onEditCurrent,
MENU_ENUM.SetDueDate: reviewer.on_set_due, MENU_ENUM.SetDueDate: reviewer.on_set_due,
MENU_ENUM.CardInfo: on_card_info, MENU_ENUM.CardInfo: reviewer.on_card_info,
MENU_ENUM.PreviousCardInfo: reviewer.on_previous_card_info,
MENU_ENUM.CreateCopy: reviewer.on_create_copy, MENU_ENUM.CreateCopy: reviewer.on_create_copy,
MENU_ENUM.Forget: reviewer.forget_current_card, MENU_ENUM.Forget: reviewer.forget_current_card,
MENU_ENUM.Options: reviewer.onOptions, MENU_ENUM.Options: reviewer.onOptions,
@ -744,8 +741,6 @@ def open_reviewer_menu():
} }
req = OpenReviewerMenuRequest.FromString(request.data) 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.menu]) aqt.mw.taskman.run_on_main(REVIEWER_MENUS[req.menu])

View file

@ -60,7 +60,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
shortcut: "I", shortcut: "I",
onClick: state.displayCardInfoMenu.bind(state), onClick: state.displayCardInfoMenu.bind(state),
}, },
{ name: tr.actionsPreviousCardInfo(), shortcut: "Ctrl+Alt+I", onClick: todo }, {
name: tr.actionsPreviousCardInfo(),
shortcut: "Ctrl+Alt+I",
onClick: state.displayPreviousCardInfoMenu.bind(state),
},
"hr", "hr",
// Notes // Notes

View file

@ -122,6 +122,10 @@ export class ReviewerState {
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CardInfo); this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CardInfo);
} }
public displayPreviousCardInfoMenu() {
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.PreviousCardInfo);
}
public displayCreateCopyMenu() { public displayCreateCopyMenu() {
this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CreateCopy); this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CreateCopy);
} }