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

View file

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

View file

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

View file

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