From b025eb9983301469208dfedf7fc1f848590d5600 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 8 Dec 2011 01:42:14 +0900 Subject: [PATCH] add auto optimiziation on close --- aqt/main.py | 13 ++++++++++++- aqt/profiles.py | 4 +++- designer/main.ui | 4 ++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/aqt/main.py b/aqt/main.py index 804726ec0..d9f3e957e 100755 --- a/aqt/main.py +++ b/aqt/main.py @@ -11,7 +11,7 @@ QtConfig = pyqtconfig.Configuration() from anki import Collection from anki.sound import playFromText, clearAudioQueue, stripSounds -from anki.utils import stripHTML, checksum, isWin, isMac +from anki.utils import stripHTML, checksum, isWin, isMac, intTime from anki.hooks import runHook, addHook, remHook import anki.consts @@ -218,6 +218,7 @@ Are you sure?"""): def unloadCollection(self): if self.col: self.closeAllCollectionWindows() + self.maybeOptimize() self.col.close() self.col = None self.backup() @@ -255,6 +256,16 @@ Are you sure?"""): for file in delete: os.unlink(os.path.join(dir, file[1])) + def maybeOptimize(self): + # has two weeks passed? + if (intTime() - self.pm.profile['lastOptimize']) < 86400*14: + return + self.progress.start(label=_("Optimizing..."), immediate=True) + self.col.optimize() + self.pm.profile['lastOptimize'] = intTime() + self.pm.save() + self.progress.finish() + # State machine ########################################################################## diff --git a/aqt/profiles.py b/aqt/profiles.py index db5c30b42..b1ccf9c2b 100644 --- a/aqt/profiles.py +++ b/aqt/profiles.py @@ -31,6 +31,7 @@ profileConf = dict( mainWindowGeom=None, mainWindowState=None, numBackups=30, + lastOptimize=intTime(), lang="en", # editing @@ -54,9 +55,10 @@ profileConf = dict( syncMedia=True, autoSync=True, proxyHost='', - proxyPass='', proxyPort=8080, proxyUser='', + proxyPass='', + proxyType=3, ) class ProfileManager(object): diff --git a/designer/main.ui b/designer/main.ui index b129a9dbe..9b2dcc1c3 100644 --- a/designer/main.ui +++ b/designer/main.ui @@ -233,7 +233,7 @@ :/icons/sqlitebrowser.png:/icons/sqlitebrowser.png - &Optimize... + &Check DB... @@ -254,7 +254,7 @@ :/icons/user-identity.png:/icons/user-identity.png - &Profile... + &Switch Profile...