update new card order immediately

This commit is contained in:
Damien Elmes 2009-07-05 17:05:34 +09:00
parent c395e84eef
commit 711d972c26

View file

@ -1386,6 +1386,8 @@ later by using File>Close.
self.connect(self.mainWin.startReviewingButton,
SIGNAL("clicked()"),
self.onStartReview)
self.connect(self.mainWin.newCardOrder,
SIGNAL("activated(int)"), self.onNewCardOrderChanged)
def onMinuteLimitChanged(self, qstr):
try:
@ -1411,6 +1413,26 @@ later by using File>Close.
self.statusView.redraw()
self.updateStudyStats()
def onNewCardOrderChanged(self, ncOrd):
def uf(obj, field, value):
if getattr(obj, field) != value:
setattr(obj, field, value)
self.deck.flushMod()
if self.deck.newCardOrder != ncOrd:
if self.deck.newCardOrder == 0 and ncOrd != 0:
# random to non-random
self.deck.startProgress()
self.deck.updateProgress(_("Ordering..."))
self.deck.orderNewCards()
self.deck.finishProgress()
elif self.deck.newCardOrder != 0 and ncOrd == 0:
# non-random to random
self.deck.startProgress()
self.deck.updateProgress(_("Randomizing..."))
self.deck.randomizeNewCards()
self.deck.finishProgress()
uf(self.deck, 'newCardOrder', ncOrd)
def updateStudyStats(self):
wasReached = self.deck.sessionLimitReached()
sessionColour = '<font color=#0000ff>%s</font>'
@ -1563,21 +1585,6 @@ learnt today")
int(self.mainWin.questionLimit.text()))
except (ValueError, OverflowError):
pass
ncOrd = self.mainWin.newCardOrder.currentIndex()
if self.deck.newCardOrder != ncOrd:
if self.deck.newCardOrder == 0 and ncOrd != 0:
# random to non-random
self.deck.startProgress()
self.deck.updateProgress(_("Ordering..."))
self.deck.orderNewCards()
self.deck.finishProgress()
elif self.deck.newCardOrder != 0 and ncOrd == 0:
# non-random to random
self.deck.startProgress()
self.deck.updateProgress(_("Randomizing..."))
self.deck.randomizeNewCards()
self.deck.finishProgress()
uf(self.deck, 'newCardOrder', ncOrd)
uf(self.deck, 'newCardSpacing',
self.mainWin.newCardScheduling.currentIndex())
uf(self.deck, 'revCardOrder',