mirror of
https://github.com/ankitects/anki.git
synced 2025-09-19 06:22:22 -04:00
add countdown timer, tweak study options page, fix bug with last 10 mins
This commit is contained in:
parent
b2bb7c4288
commit
ca48ca155d
2 changed files with 23 additions and 19 deletions
|
@ -978,13 +978,15 @@ day = :d""", d=yesterday)
|
|||
dchange = str(dchange)
|
||||
h['repsToday'] = '<font color=#007700>%s</font>' % dtoday
|
||||
h['repsTodayChg'] = '<font color=#007700>(%s)</font>' % dchange
|
||||
start = self.deck.sessionStartTime or time.time() - 600
|
||||
start2 = self.deck.lastSessionStart or start - 600
|
||||
last10 = self.deck.s.scalar(
|
||||
"select count(*) from reviewHistory where time > :t",
|
||||
t=time.time()-600)
|
||||
"select count(*) from reviewHistory where time >= :t",
|
||||
t=start)
|
||||
last20 = self.deck.s.scalar(
|
||||
"select count(*) from reviewHistory where "
|
||||
"time > :t and time < :t2",
|
||||
t=time.time()-1200, t2=time.time()-600)
|
||||
"time >= :t and time < :t2",
|
||||
t=start2, t2=start)
|
||||
change = last10 - last20
|
||||
if change >= 0:
|
||||
change = "+%d" % change
|
||||
|
@ -995,28 +997,28 @@ day = :d""", d=yesterday)
|
|||
ttoday = s['dReviewTime']
|
||||
change = ttoday - tyest
|
||||
if change >= 0:
|
||||
change = "+%s" % anki.utils.fmtTimeSpan(change, short=True)
|
||||
change = "+%s" % anki.utils.fmtTimeSpan(change, short=True, point=1)
|
||||
else:
|
||||
change = anki.utils.fmtTimeSpan(change, short=True)
|
||||
change = anki.utils.fmtTimeSpan(change, short=True, point=1)
|
||||
h['timeToday'] = '<font color=#007700>%s</font>' % (
|
||||
anki.utils.fmtTimeSpan(ttoday, short=True))
|
||||
anki.utils.fmtTimeSpan(ttoday, short=True, point=1))
|
||||
h['timeTodayChg'] = '<font color=#007700>(%s)</font>' % change
|
||||
self.mainWin.optionsLabel.setText(top + _("""\
|
||||
<p>
|
||||
<table width=300>
|
||||
<tr><td>
|
||||
<table>
|
||||
<tr><td>Reps done today:</td><td><b>%(repsToday)s</b></td>
|
||||
<td align=right>%(repsTodayChg)s</td></tr>
|
||||
<tr><td>Reps in last 10 mins:</td><td><b>%(repsIn10)s</b></td>
|
||||
<tr><td>Reps (10 mins): </td><td><b>%(repsIn10)s</b></td>
|
||||
<td align=right>%(repsIn10Chg)s</td></tr>
|
||||
<tr><td>Total time today:</td><td><b>%(timeToday)s</b></td>
|
||||
<tr><td>Reps (today):</td><td><b>%(repsToday)s</b></td>
|
||||
<td align=right>%(repsTodayChg)s</td></tr>
|
||||
<tr><td>Time (today):</td><td><b>%(timeToday)s</b></td>
|
||||
<td align=right> %(timeTodayChg)s</td></tr>
|
||||
</table></td>
|
||||
<td><table>
|
||||
<tr><td>Lapsed due:</td><td align=right><b>%(lapsed)s</b></td></tr>
|
||||
<tr><td>Retained due:</td><td align=right><b>%(ret)s</b></td></tr>
|
||||
<tr><td>New due:</td><td align=right><b>%(new)s</b></td></tr>
|
||||
<tr><td>Failed:</td><td align=right><b>%(lapsed)s</b></td></tr>
|
||||
<tr><td>Review: </td><td align=right><b>%(ret)s</b></td></tr>
|
||||
<tr><td>New:</td><td align=right><b>%(new)s</b></td></tr>
|
||||
</table></td></tr></table>""") % h)
|
||||
# start reviewing button
|
||||
self.mainWin.buttonStack.setCurrentIndex(3)
|
||||
|
@ -1948,4 +1950,3 @@ Consider backing up your media directory first."""))
|
|||
def setupMisc(self):
|
||||
if time.time() - self.config['created'] < 60 and self.deck:
|
||||
self.config['created'] = self.deck.created
|
||||
print (time.time() - self.deck.created) / 60.0 / 60.0 / 24.0
|
||||
|
|
|
@ -233,10 +233,13 @@ You should aim to answer each question within<br>
|
|||
return
|
||||
if self.main.state in ("showQuestion", "showAnswer"):
|
||||
if self.main.currentCard:
|
||||
t = self.main.currentCard.thinkingTime()
|
||||
if t < 60:
|
||||
self.timer.setText('00:%02d' % t)
|
||||
if self.main.deck.sessionStartTime:
|
||||
t = time.time() - self.main.deck.sessionStartTime
|
||||
t = self.main.deck.sessionTimeLimit - t
|
||||
else:
|
||||
self.timer.setText('01:00')
|
||||
t = self.main.currentCard.thinkingTime()
|
||||
if t < 0:
|
||||
t = 0
|
||||
self.timer.setText('%02d:%02d' % (t/60, t%60))
|
||||
return
|
||||
self.timer.setText("00:00")
|
||||
|
|
Loading…
Reference in a new issue