mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 15:02:21 -04:00
add a progress handler to upgrade
This commit is contained in:
parent
2070a0ced9
commit
7da7894c89
3 changed files with 20 additions and 5 deletions
|
@ -17,8 +17,6 @@ from anki.errors import *
|
|||
from anki.db import *
|
||||
from anki.hooks import runHook, addHook, removeHook
|
||||
|
||||
# fixme: notice added tags?
|
||||
|
||||
COLOUR_SUSPENDED1 = "#ffffcc"
|
||||
COLOUR_SUSPENDED2 = "#ffffaa"
|
||||
COLOUR_INACTIVE1 = "#ffcccc"
|
||||
|
|
19
aqt/main.py
19
aqt/main.py
|
@ -74,6 +74,7 @@ class AnkiQt(QMainWindow):
|
|||
self.setupSignals()
|
||||
self.setupVersion()
|
||||
self.setupAutoUpdate()
|
||||
self.setupUpgrade()
|
||||
self.setupCardStats()
|
||||
self.setupSchema()
|
||||
# screens
|
||||
|
@ -228,11 +229,23 @@ title="%s">%s</button>''' % (
|
|||
from aqt.editcurrent import EditCurrent
|
||||
self.editor = EditCurrent(self)
|
||||
|
||||
# Upgrading from previous versions
|
||||
##########################################################################
|
||||
|
||||
def setupUpgrade(self):
|
||||
addHook("1.x upgrade", self.onUpgrade)
|
||||
|
||||
def onUpgrade(self, db):
|
||||
self.upgrading = True
|
||||
self.progress.setupDB(db)
|
||||
self.progress.start(label=_("Upgrading..."))
|
||||
|
||||
# Deck loading
|
||||
##########################################################################
|
||||
|
||||
def loadDeck(self, deckPath, showErrors=True):
|
||||
"Load a deck and update the user interface."
|
||||
self.upgrading = False
|
||||
try:
|
||||
self.deck = Deck(deckPath, queue=False)
|
||||
except Exception, e:
|
||||
|
@ -247,9 +260,13 @@ File is corrupt or not an Anki database. Click help for more info.\n
|
|||
Debug info:\n%s""") % traceback.format_exc(), help="DeckErrors")
|
||||
self.moveToState("deckBrowser")
|
||||
return 0
|
||||
finally:
|
||||
# we may have a progress window open if we were upgrading
|
||||
self.progress.finish()
|
||||
self.config.addRecentDeck(self.deck.path)
|
||||
self.setupMedia(self.deck)
|
||||
self.progress.setupDB()
|
||||
if not self.upgrading:
|
||||
self.progress.setupDB(self.deck.db)
|
||||
self.moveToState("deckLoading")
|
||||
return True
|
||||
|
||||
|
|
|
@ -20,11 +20,11 @@ class ProgressManager(object):
|
|||
# SQLite progress handler
|
||||
##########################################################################
|
||||
|
||||
def setupDB(self):
|
||||
def setupDB(self, db):
|
||||
"Install a handler in the current deck."
|
||||
self.lastDbProgress = 0
|
||||
self.inDB = False
|
||||
self.mw.deck.db.set_progress_handler(self._dbProgress, 100000)
|
||||
db.set_progress_handler(self._dbProgress, 100000)
|
||||
|
||||
def _dbProgress(self):
|
||||
"Called from SQLite."
|
||||
|
|
Loading…
Reference in a new issue