From 34b56b50030c4ba32fc7ddf5337a8667e7567b13 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 15 Dec 2011 15:09:04 +0900 Subject: [PATCH] add timer flag, limit timer to maxTaken --- aqt/deckconf.py | 2 ++ aqt/reviewer.py | 12 ++++++++++-- designer/dconf.ui | 9 +++++++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/aqt/deckconf.py b/aqt/deckconf.py index cbcdad07f..776ea78e1 100644 --- a/aqt/deckconf.py +++ b/aqt/deckconf.py @@ -146,6 +146,7 @@ class DeckConf(QDialog): # general c = self.conf f.maxTaken.setValue(c['maxTaken']) + f.showTimer.setChecked(c.get('timer', 0)) f.autoplaySounds.setChecked(c['autoplay']) # description f.desc.setPlainText(self.deck['desc']) @@ -216,6 +217,7 @@ class DeckConf(QDialog): # general c = self.conf c['maxTaken'] = f.maxTaken.value() + c['timer'] = f.showTimer.isChecked() and 1 or 0 c['autoplay'] = f.autoplaySounds.isChecked() # description self.deck['desc'] = f.desc.toPlainText() diff --git a/aqt/reviewer.py b/aqt/reviewer.py index d229e30d0..a26287718 100644 --- a/aqt/reviewer.py +++ b/aqt/reviewer.py @@ -352,6 +352,10 @@ td { font-weight: bold; font-size: 12px; } """ def _bottomHTML(self, middle): + if not self.card.deckConf().get('timer'): + maxTime = 0 + else: + maxTime = self.card.deckConf()['maxTaken'] return """ @@ -376,7 +380,10 @@ setInterval(function () { time += 1; updateTime() }, 1000); }); var updateTime = function () { - return; + if (!%(maxTime)s) { + return; + } + time = Math.min(%(maxTime)s, time); var m = Math.floor(time / 60); var s = time %% 60; if (s < 10) { @@ -387,7 +394,8 @@ var updateTime = function () { } """ % dict(middle=middle, rem=self._remaining(), edit=_("Edit"), - more=_("More"), time=self.card.timeTaken()/1000) + more=_("More"), time=self.card.timeTaken()/1000, + maxTime=maxTime) def _showAnswerButton(self): self.bottom.web.setFocus() diff --git a/designer/dconf.ui b/designer/dconf.ui index f9f2e2ece..42a43db81 100644 --- a/designer/dconf.ui +++ b/designer/dconf.ui @@ -554,6 +554,13 @@ + + + + Show answer timer + + + @@ -631,8 +638,10 @@ leechThreshold leechAction maxTaken + showTimer autoplaySounds buttonBox + desc