add progress bar to deck & model props, add max=0

This commit is contained in:
Damien Elmes 2009-02-24 01:12:06 +09:00
parent 47c844ce1b
commit 1410402ce8
4 changed files with 13 additions and 6 deletions

View file

@ -39,7 +39,7 @@ class ActiveTagsChooser(QDialog):
def accept(self):
self.hide()
self.parent.deck.startProgress(2)
self.parent.deck.startProgress()
n = 0
suspended = []
for item in self.items:
@ -49,7 +49,6 @@ class ActiveTagsChooser(QDialog):
n += 1
self.parent.deck.suspended = canonifyTags(joinTags(suspended + ["Suspended"]))
self.parent.deck.setModified()
self.parent.deck.updateProgress(_("Processing..."))
self.parent.deck.updateAllPriorities(partial=True)
self.parent.reset()
saveGeom(self, "activeTags")

View file

@ -202,6 +202,7 @@ class DeckProperties(QDialog):
def reject(self):
n = _("Deck Properties")
self.d.startProgress()
self.d.setUndoStart(n)
# syncing
if self.dialog.doSync.checkState() == Qt.Checked:
@ -293,6 +294,7 @@ insert into sources values
if self.origMod != self.d.modified:
ankiqt.mw.reset()
self.d.setUndoEnd(n)
self.d.finishProgress()
if self.onFinish:
self.onFinish()
QDialog.reject(self)

View file

@ -464,6 +464,7 @@ order by n""", id=card.id)
def reject(self):
"Save user settings on close."
# update properties
self.deck.startProgress()
mname = unicode(self.dialog.name.text())
if not mname:
mname = _("Model")
@ -491,10 +492,12 @@ order by n""", id=card.id)
self.deck.setModified()
# if changed, reset deck
if self.origModTime != self.deck.modified:
self.deck.updateCardTags()
ankiqt.mw.reset()
if self.onFinish:
self.onFinish()
self.deck.setUndoEnd(self.undoName)
# check again
self.deck.haveJapanese = None
self.deck.finishProgress()
QDialog.reject(self)

View file

@ -197,7 +197,7 @@ def mungeQA(deck, txt):
class ProgressWin(object):
def __init__(self, parent, max=100, min=0, title=None):
def __init__(self, parent, max=0, min=0, title=None):
if not title:
title = "Anki"
self.diag = QProgressDialog("", "", min, max, parent)
@ -213,6 +213,8 @@ class ProgressWin(object):
self.app = QApplication.instance()
self.diag.show()
self.app.processEvents()
if max == 0:
self.diag.setLabelText(_("Processing..."))
def update(self, label=None, value=None):
self.app.processEvents()
@ -229,7 +231,8 @@ class ProgressWin(object):
self.app.processEvents()
def finish(self):
self.diag.setValue(self.max)
self.app.processEvents()
time.sleep(0.1)
if self.max:
self.diag.setValue(self.max)
self.app.processEvents()
time.sleep(0.1)
self.diag.cancel()