From b17a0552d061af360e35e1cda48b2d228c94b66e Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sat, 20 Jan 2018 15:32:52 +1000 Subject: [PATCH] support customizing day cutoff w/ V2 scheduler --- aqt/preferences.py | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/aqt/preferences.py b/aqt/preferences.py index 1fbf5f3f2..4f6e8eb89 100644 --- a/aqt/preferences.py +++ b/aqt/preferences.py @@ -74,8 +74,7 @@ class Preferences(QDialog): import anki.consts as c f = self.form qc = self.mw.col.conf - self.startDate = datetime.datetime.fromtimestamp(self.mw.col.crt) - f.dayOffset.setValue(self.startDate.hour) + self._setupDayCutoff() f.lrnCutoff.setValue(qc['collapseTime']/60.0) f.timeLimit.setValue(qc['timeLim']/60.0) f.showEstimates.setChecked(qc['estTimes']) @@ -85,6 +84,8 @@ class Preferences(QDialog): f.newSpread.setCurrentIndex(qc['newSpread']) f.useCurrent.setCurrentIndex(int(not qc.get("addToCur", True))) + + def updateCollection(self): f = self.form d = self.mw.col @@ -96,12 +97,41 @@ class Preferences(QDialog): qc['timeLim'] = f.timeLimit.value()*60 qc['collapseTime'] = f.lrnCutoff.value()*60 qc['addToCur'] = not f.useCurrent.currentIndex() - hrs = f.dayOffset.value() + self._updateDayCutoff() + d.setMod() + + # Day cutoff + ###################################################################### + + def _setupDayCutoff(self): + if self.mw.col.schedVer() == 2: + self._setupDayCutoffV2() + else: + self._setupDayCutoffV1() + + + def _setupDayCutoffV1(self): + self.startDate = datetime.datetime.fromtimestamp(self.mw.col.crt) + self.form.dayOffset.setValue(self.startDate.hour) + + def _setupDayCutoffV2(self): + self.form.dayOffset.setValue(self.mw.col.conf.get("rollover", 4)) + + def _updateDayCutoff(self): + if self.mw.col.schedVer() == 2: + self._updateDayCutoffV2() + else: + self._updateDayCutoffV1() + + def _updateDayCutoffV1(self): + hrs = self.form.dayOffset.value() old = self.startDate date = datetime.datetime( old.year, old.month, old.day, hrs) - d.crt = int(time.mktime(date.timetuple())) - d.setMod() + self.mw.col.crt = int(time.mktime(date.timetuple())) + + def _updateDayCutoffV2(self): + self.mw.col.conf['rollover'] = self.form.dayOffset.value() # Network ######################################################################