From c09070df26693f958e57b4caaa31932f84b43804 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 23 Mar 2011 09:43:01 +0900 Subject: [PATCH] add ease buttons --- aqt/main.py | 63 +++------------ aqt/reviewer.py | 207 +++++++++++++++++++++++++++--------------------- 2 files changed, 126 insertions(+), 144 deletions(-) diff --git a/aqt/main.py b/aqt/main.py index 42af82127..c2c61e428 100755 --- a/aqt/main.py +++ b/aqt/main.py @@ -352,58 +352,17 @@ Please do not file a bug report with Anki.
""") else: evt.ignore() - def reviewKeyHandler(self, evt): - if evt.key() in (Qt.Key_Up,Qt.Key_Down,Qt.Key_Left,Qt.Key_Right, - Qt.Key_PageUp,Qt.Key_PageDown): - mf = self.bodyView.body.page().currentFrame() - if evt.key() == Qt.Key_Up: - mf.evaluateJavaScript("window.scrollBy(0,-20)") - elif evt.key() == Qt.Key_Down: - mf.evaluateJavaScript("window.scrollBy(0,20)") - elif evt.key() == Qt.Key_Left: - mf.evaluateJavaScript("window.scrollBy(-20,0)") - elif evt.key() == Qt.Key_Right: - mf.evaluateJavaScript("window.scrollBy(20,0)") - elif evt.key() == Qt.Key_PageUp: - mf.evaluateJavaScript("window.scrollBy(0,-%d)" % - int(0.9*self.bodyView.body.size(). - height())) - elif evt.key() == Qt.Key_PageDown: - mf.evaluateJavaScript("window.scrollBy(0,%d)" % - int(0.9*self.bodyView.body.size(). - height())) - evt.accept() - return - if self.state == "showQuestion": - if evt.key() in (Qt.Key_Enter, - Qt.Key_Return): - evt.accept() - return self.form.showAnswerButton.click() - elif evt.key() == Qt.Key_Space and not ( - self.currentCard.cardModel.typeAnswer): - evt.accept() - return self.form.showAnswerButton.click() - elif self.state == "showAnswer": - 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 getattr(self.form, "easeButton%d" % - num).animateClick() - elif self.state == "studyScreen": - if evt.key() in (Qt.Key_Enter, - Qt.Key_Return): - evt.accept() - return self.onStartReview() - elif self.state == "editCurrentFact": - if evt.key() == Qt.Key_Escape: - evt.accept() - return self.moveToState("saveEdit") - evt.ignore() + # to port + # elif self.state == "studyScreen": + # if evt.key() in (Qt.Key_Enter, + # Qt.Key_Return): + # evt.accept() + # return self.onStartReview() + # elif self.state == "editCurrentFact": + # if evt.key() == Qt.Key_Escape: + # evt.accept() + # return self.moveToState("saveEdit") + # evt.ignore() def cardAnswered(self, quality): "Reschedule current card and move back to getQuestion state." diff --git a/aqt/reviewer.py b/aqt/reviewer.py index bc9a9b7fe..d7c062628 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -20,10 +20,11 @@ class Reviewer(object): self.web = mw.web self.card = None self.cardQueue = [] - # self.main.connect(self.body, SIGNAL("loadFinished(bool)"), - # self.onLoadFinished) + self.state = None def show(self): + self.mw.setKeyHandler(self._keyHandler) + self.web.setLinkHandler(self._linkHandler) self._getCard() # Fetching a card @@ -41,6 +42,7 @@ class Reviewer(object): self.mw.enableCardMenuItems() self._maybeEnableSound() #self.updateMarkAction() + self.state = "question" self._showQuestion() else: self.mw.disableCardMenuItems() @@ -77,6 +79,28 @@ div.ansbut { position: relative; top: 25%; } +#easebuts { + bottom: 1em; + height: 55px; + left: 50%; + margin-left: -125px; + position: fixed; + width: 250px; + font-size: 100%; + display: none; +} + +.easebut { + width: 60px; + font-size: 100%; +} + +.time { + background: #eee; + padding: 5px; + border-radius: 10px; +} + div#filler { height: 30px; } @@ -93,7 +117,7 @@ div#filler { css = runFilter("addStyles", css) return css - # Showing the question + # Showing the question (and preparing answer) ########################################################################## _revHtml = """ @@ -103,15 +127,14 @@ div#filler { %(a)s - -%(but)s - +%(buts)s