From 7a510cc111f496c6644016cb228958bcc48a4c99 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 27 Jul 2010 16:59:04 +0900 Subject: [PATCH] add loadDeck hook, fix hideWelcome behaviour - if hideWelcome is true after a sync, do nothing at all - make sure to reset hideWelcome on deck load --- ankiqt/ui/main.py | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/ankiqt/ui/main.py b/ankiqt/ui/main.py index dffd61a40..b319a7e22 100755 --- a/ankiqt/ui/main.py +++ b/ankiqt/ui/main.py @@ -711,6 +711,7 @@ new: if not os.path.exists(deckPath): self.moveToState("noDeck") return + self.hideWelcome = False try: self.deck = DeckStorage.Deck(deckPath) except Exception, e: @@ -754,6 +755,7 @@ Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors") self.deck = None return 0 self.moveToState("noDeck") + runHook("loadDeck") return True def maybeLoadLastDeck(self, args): @@ -2224,24 +2226,32 @@ Are you sure?""" % deckName), def onSyncFinished(self): "Reopen after sync finished." self.mainWin.buttonStack.show() - if self.loadAfterSync == -1: - # after sync all, so refresh browser list - self.moveToState("noDeck") - elif self.loadAfterSync: - if self.loadAfterSync == 2: - name = re.sub("[<>]", "", self.syncName) - p = os.path.join(self.documentDir, name + ".anki") - if os.path.exists(p): - p = os.path.join(self.documentDir, - name + "%d.anki" % time.time()) - shutil.copy2(self.deckPath, p) - self.deckPath = p - self.loadDeck(self.deckPath, sync=False) - self.deck.syncName = self.syncName - self.deck.s.flush() - self.deck.s.commit() - elif not self.hideWelcome: - self.moveToState("noDeck") + if self.hideWelcome: + # no deck load & no deck browser, as we're about to quit or do + # something manually + pass + else: + if self.loadAfterSync == -1: + + print self.hideWelcome + # after sync all, so refresh browser list + self.browserLastRefreshed = 0 + self.moveToState("noDeck") + elif self.loadAfterSync: + if self.loadAfterSync == 2: + name = re.sub("[<>]", "", self.syncName) + p = os.path.join(self.documentDir, name + ".anki") + if os.path.exists(p): + p = os.path.join(self.documentDir, + name + "%d.anki" % time.time()) + shutil.copy2(self.deckPath, p) + self.deckPath = p + self.loadDeck(self.deckPath, sync=False) + self.deck.syncName = self.syncName + self.deck.s.flush() + self.deck.s.commit() + else: + self.moveToState("noDeck") self.deckPath = None self.syncFinished = True