From 49096da7f8f6721d09b00dd4931a35f4389dbf7b Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 24 Sep 2018 14:16:08 +1000 Subject: [PATCH] enter/space should use selected answer button https://anki.tenderapp.com/discussions/ankidesktop/29882-selecting-a-button-and-enter-or-space-always-chooses-good --- aqt/reviewer.py | 11 +++++++++-- web/reviewer-bottom.js | 8 ++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/aqt/reviewer.py b/aqt/reviewer.py index c415bb582..53aff2d36 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -273,6 +273,13 @@ The front of this card is empty. Please run Tools>Empty Cards.""") if self.state == "question": self._getTypedAnswer() elif self.state == "answer": + self.bottom.web.evalWithCallback("selectedAnswerButton()", self._onAnswerButton) + + def _onAnswerButton(self, val): + # button selected? + if val in "1234": + self._answerCard(int(val)) + else: self._answerCard(self._defaultEase()) def _linkHandler(self, url): @@ -542,8 +549,8 @@ time = %(time)d; extra = "" due = self._buttonTime(i) return ''' -%s''' % (due, extra, _("Shortcut key: %s") % i, i, label) +%s''' % (due, extra, _("Shortcut key: %s") % i, i, i, label) buf = "
" for ease, label in self._answerButtonList(): buf += but(ease, label) diff --git a/web/reviewer-bottom.js b/web/reviewer-bottom.js index edc7ec090..d47197666 100644 --- a/web/reviewer-bottom.js +++ b/web/reviewer-bottom.js @@ -41,3 +41,11 @@ function showAnswer(txt) { $("#middle")[0].innerHTML = txt; $("#defease").focus(); } + +function selectedAnswerButton() { + var node = document.activeElement; + if (!node) { + return; + } + return node.dataset.ease; +}