diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index 80fd81356..401f57bac 100644 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -344,16 +344,21 @@ Please do not file a bug report with Anki.

""") return if self.state == "showQuestion": if evt.key() in (Qt.Key_Enter, - Qt.Key_Return): + Qt.Key_Return, + Qt.Key_Space): evt.accept() - return self.moveToState("showAnswer") + return self.mainWin.showAnswerButton.click() elif self.state == "showAnswer": - key = unicode(evt.text()) + if evt.key() == Qt.Key_Space: + key = str(self.defaultEaseButton()) + else: + key = unicode(evt.text()) if key and key >= "1" and key <= "4": # user entered a quality setting num=int(key) evt.accept() - return self.cardAnswered(num) + return getattr(self.mainWin, "easeButton%d" % + num).animateClick() elif self.state == "studyScreen": if evt.key() in (Qt.Key_Enter, Qt.Key_Return): @@ -534,18 +539,24 @@ new: self.typeAnswerField.setText("") else: self.mainWin.buttonStack.setCurrentIndex(0) - self.mainWin.showAnswerButton.setFocus() + self.mainWin.mainText.setFocus() self.mainWin.buttonStack.show() def showEaseButtons(self): self.updateEaseButtons() self.mainWin.buttonStack.setCurrentIndex(1) self.mainWin.buttonStack.show() - if self.currentCard.reps and not self.currentCard.successive: + if self.defaultEaseButton() == 2: self.mainWin.easeButton2.setFocus() else: self.mainWin.easeButton3.setFocus() + def defaultEaseButton(self): + if self.currentCard.reps and not self.currentCard.successive: + return 2 + else: + return 3 + def updateEaseButtons(self): nextInts = {} for i in range(1, 5):