diff --git a/proto/anki/frontend.proto b/proto/anki/frontend.proto index fa38f326a..586c40cd7 100644 --- a/proto/anki/frontend.proto +++ b/proto/anki/frontend.proto @@ -58,15 +58,17 @@ message OpenReviewerMenuRequest { EditCurrent = 0; SetDueDate = 1; CardInfo = 2; - CreateCopy = 3; + PreviousCardInfo = 3; + CreateCopy = 4; // Reset - Forget = 4; + Forget = 5; // Preset Options - Options = 5; + Options = 6; // "Congratulations" - Overview = 6; + Overview = 7; }; ReviewerMenu menu = 1; + // In case the card isn't set in a next_card_data intercept function 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 a8cc2dec3..1ce27aa5a 100644 --- a/qt/aqt/mediasrv.py +++ b/qt/aqt/mediasrv.py @@ -28,7 +28,7 @@ import aqt import aqt.main import aqt.operations 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.decks import UpdateDeckConfigs from anki.frontend_pb2 import OpenReviewerMenuRequest, PlayAVTagsRequest @@ -726,17 +726,14 @@ 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() - def overview(): aqt.mw.moveToState("overview") REVIEWER_MENUS = { MENU_ENUM.EditCurrent: aqt.mw.onEditCurrent, 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.Forget: reviewer.forget_current_card, MENU_ENUM.Options: reviewer.onOptions, @@ -744,8 +741,6 @@ def open_reviewer_menu(): } 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]) diff --git a/ts/routes/reviewer/reviewer-bottom/More.svelte b/ts/routes/reviewer/reviewer-bottom/More.svelte index b60c234d5..21fe569d0 100644 --- a/ts/routes/reviewer/reviewer-bottom/More.svelte +++ b/ts/routes/reviewer/reviewer-bottom/More.svelte @@ -60,7 +60,11 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html shortcut: "I", 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", // Notes diff --git a/ts/routes/reviewer/reviewer.ts b/ts/routes/reviewer/reviewer.ts index 9c01882ae..7a0a09712 100644 --- a/ts/routes/reviewer/reviewer.ts +++ b/ts/routes/reviewer/reviewer.ts @@ -122,6 +122,10 @@ export class ReviewerState { this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CardInfo); } + public displayPreviousCardInfoMenu() { + this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.PreviousCardInfo); + } + public displayCreateCopyMenu() { this.displayMenu(OpenReviewerMenuRequest_ReviewerMenu.CreateCopy); }