From 1410402ce81d21090d9b49c4aa453bdc4d5f4176 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 24 Feb 2009 01:12:06 +0900 Subject: [PATCH] add progress bar to deck & model props, add max=0 --- ankiqt/ui/activetags.py | 3 +-- ankiqt/ui/deckproperties.py | 2 ++ ankiqt/ui/modelproperties.py | 3 +++ ankiqt/ui/utils.py | 11 +++++++---- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/ankiqt/ui/activetags.py b/ankiqt/ui/activetags.py index 0e158ac70..3b11a760d 100644 --- a/ankiqt/ui/activetags.py +++ b/ankiqt/ui/activetags.py @@ -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") diff --git a/ankiqt/ui/deckproperties.py b/ankiqt/ui/deckproperties.py index 0ba982433..dc3e875b9 100644 --- a/ankiqt/ui/deckproperties.py +++ b/ankiqt/ui/deckproperties.py @@ -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) diff --git a/ankiqt/ui/modelproperties.py b/ankiqt/ui/modelproperties.py index e0540dc6f..aeab8a052 100644 --- a/ankiqt/ui/modelproperties.py +++ b/ankiqt/ui/modelproperties.py @@ -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) diff --git a/ankiqt/ui/utils.py b/ankiqt/ui/utils.py index 11e30517f..612d06dd7 100644 --- a/ankiqt/ui/utils.py +++ b/ankiqt/ui/utils.py @@ -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()