From 1fbad4235aed18bab88e31bf03b0f91787978b90 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Tue, 21 Apr 2009 02:49:41 +0900 Subject: [PATCH] protect more timers --- ankiqt/ui/cardlist.py | 2 ++ ankiqt/ui/graphs.py | 23 +++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/ankiqt/ui/cardlist.py b/ankiqt/ui/cardlist.py index e458b7205..9a2384a21 100644 --- a/ankiqt/ui/cardlist.py +++ b/ankiqt/ui/cardlist.py @@ -503,6 +503,8 @@ class EditDeck(QMainWindow): self.updateSearch() def updateSearch(self, force=True): + if self.parent.inDbHandler: + return idx = self.dialog.tableView.currentIndex() row = idx.row() self.model.searchStr = unicode(self.dialog.filterEdit.text()) diff --git a/ankiqt/ui/graphs.py b/ankiqt/ui/graphs.py index dc23a0a3f..66062c0cf 100644 --- a/ankiqt/ui/graphs.py +++ b/ankiqt/ui/graphs.py @@ -42,9 +42,10 @@ class AnkiFigureCanvas (FigureCanvas): class AdjustableFigure(QWidget): - def __init__(self, config, name, figureFunc, choices=None): + def __init__(self, parent, name, figureFunc, choices=None): QWidget.__init__(self) - self.config = config + self.parent = parent + self.config = parent.config self.name = name self.vbox = QVBoxLayout() self.vbox.setSpacing(2) @@ -75,6 +76,8 @@ class AdjustableFigure(QWidget): self.vbox.addLayout(self.hbox) def updateFigure(self): + if self.parent.inDbHandler: + return self.updateTimer = None self.setUpdatesEnabled(False) idx = self.vbox.indexOf(self.figureCanvas) @@ -184,43 +187,43 @@ class GraphWindow(object): self.diag.show() def setupGraphs(self): - nextDue = AdjustableFigure(self.parent.config, 'due', self.dg.nextDue, self.range) + nextDue = AdjustableFigure(self.parent, 'due', self.dg.nextDue, self.range) nextDue.addWidget(QLabel(_("

Due

"))) self.vbox.addWidget(nextDue) self.widgets.append(nextDue) - workload = AdjustableFigure(self.parent.config, 'reps', self.dg.workDone, self.range) + workload = AdjustableFigure(self.parent, 'reps', self.dg.workDone, self.range) workload.addWidget(QLabel(_("

Reps

"))) self.vbox.addWidget(workload) self.widgets.append(workload) - times = AdjustableFigure(self.parent.config, 'times', self.dg.timeSpent, self.range) + times = AdjustableFigure(self.parent, 'times', self.dg.timeSpent, self.range) times.addWidget(QLabel(_("

Review Time

"))) self.vbox.addWidget(times) self.widgets.append(times) - added = AdjustableFigure(self.parent.config, 'added', self.dg.addedRecently, self.range) + added = AdjustableFigure(self.parent, 'added', self.dg.addedRecently, self.range) added.addWidget(QLabel(_("

Added

"))) self.vbox.addWidget(added) self.widgets.append(added) - answered = AdjustableFigure(self.parent.config, 'answered', lambda *args: apply( + answered = AdjustableFigure(self.parent, 'answered', lambda *args: apply( self.dg.addedRecently, args + ('firstAnswered',)), self.range) answered.addWidget(QLabel(_("

First Answered

"))) self.vbox.addWidget(answered) self.widgets.append(answered) - cumDue = AdjustableFigure(self.parent.config, 'cum', self.dg.cumulativeDue, self.range) + cumDue = AdjustableFigure(self.parent, 'cum', self.dg.cumulativeDue, self.range) cumDue.addWidget(QLabel(_("

Cumulative Due

"))) self.vbox.addWidget(cumDue) self.widgets.append(cumDue) - interval = AdjustableFigure(self.parent.config, 'interval', self.dg.intervalPeriod, self.range) + interval = AdjustableFigure(self.parent, 'interval', self.dg.intervalPeriod, self.range) interval.addWidget(QLabel(_("

Intervals

"))) self.vbox.addWidget(interval) self.widgets.append(interval) - eases = AdjustableFigure(self.parent.config, 'eases', self.dg.easeBars) + eases = AdjustableFigure(self.parent, 'eases', self.dg.easeBars) eases.addWidget(QLabel(_("

Eases

"))) self.vbox.addWidget(eases) self.widgets.append(eases)