mirror of
https://github.com/ankitects/anki.git
synced 2025-09-25 01:06:35 -04:00
sped up graph window startup and hide-graph action by making the AdjustableFigure "lazy".
This commit is contained in:
parent
1f78e98907
commit
187193dd1e
1 changed files with 5 additions and 7 deletions
|
@ -56,6 +56,7 @@ class AdjustableFigure(QWidget):
|
||||||
self.hbox = QHBoxLayout()
|
self.hbox = QHBoxLayout()
|
||||||
self.hbox.addSpacing(10)
|
self.hbox.addSpacing(10)
|
||||||
self.hbox.addStretch(1)
|
self.hbox.addStretch(1)
|
||||||
|
self.figureCanvas = None
|
||||||
if self.choices:
|
if self.choices:
|
||||||
self.addCombo()
|
self.addCombo()
|
||||||
|
|
||||||
|
@ -71,6 +72,8 @@ class AdjustableFigure(QWidget):
|
||||||
self.vbox.addLayout(self.hbox)
|
self.vbox.addLayout(self.hbox)
|
||||||
|
|
||||||
def updateFigure(self):
|
def updateFigure(self):
|
||||||
|
if not self.figureCanvas:
|
||||||
|
self.addFigure()
|
||||||
self.updateTimer = None
|
self.updateTimer = None
|
||||||
self.setUpdatesEnabled(False)
|
self.setUpdatesEnabled(False)
|
||||||
idx = self.vbox.indexOf(self.figureCanvas)
|
idx = self.vbox.indexOf(self.figureCanvas)
|
||||||
|
@ -114,6 +117,8 @@ class AdjustableFigure(QWidget):
|
||||||
def showHide(self):
|
def showHide(self):
|
||||||
shown = self.config.get('graphs.shown.' + self.name, True)
|
shown = self.config.get('graphs.shown.' + self.name, True)
|
||||||
self.setVisible(shown)
|
self.setVisible(shown)
|
||||||
|
if shown and not self.figureCanvas:
|
||||||
|
self.addFigure()
|
||||||
|
|
||||||
class IntervalGraph(QDialog):
|
class IntervalGraph(QDialog):
|
||||||
|
|
||||||
|
@ -154,44 +159,37 @@ def intervalGraph(parent, deck):
|
||||||
# views
|
# views
|
||||||
nextDue = AdjustableFigure(parent.config, 'due', dg.nextDue, range)
|
nextDue = AdjustableFigure(parent.config, 'due', dg.nextDue, range)
|
||||||
nextDue.addWidget(QLabel(_("<h1>Due</h1>")))
|
nextDue.addWidget(QLabel(_("<h1>Due</h1>")))
|
||||||
nextDue.addFigure()
|
|
||||||
vbox.addWidget(nextDue)
|
vbox.addWidget(nextDue)
|
||||||
widgets.append(nextDue)
|
widgets.append(nextDue)
|
||||||
|
|
||||||
workload = AdjustableFigure(parent.config, 'workload', dg.workDone, range)
|
workload = AdjustableFigure(parent.config, 'workload', dg.workDone, range)
|
||||||
workload.addWidget(QLabel(_("<h1>Work Done</h1>")))
|
workload.addWidget(QLabel(_("<h1>Work Done</h1>")))
|
||||||
workload.addFigure()
|
|
||||||
vbox.addWidget(workload)
|
vbox.addWidget(workload)
|
||||||
widgets.append(workload)
|
widgets.append(workload)
|
||||||
|
|
||||||
cumDue = AdjustableFigure(parent.config, 'cum', dg.cumulativeDue, range)
|
cumDue = AdjustableFigure(parent.config, 'cum', dg.cumulativeDue, range)
|
||||||
cumDue.addWidget(QLabel(_("<h1>Cumulative Due</h1>")))
|
cumDue.addWidget(QLabel(_("<h1>Cumulative Due</h1>")))
|
||||||
cumDue.addFigure()
|
|
||||||
vbox.addWidget(cumDue)
|
vbox.addWidget(cumDue)
|
||||||
widgets.append(cumDue)
|
widgets.append(cumDue)
|
||||||
|
|
||||||
interval = AdjustableFigure(parent.config, 'interval', dg.intervalPeriod, range)
|
interval = AdjustableFigure(parent.config, 'interval', dg.intervalPeriod, range)
|
||||||
interval.addWidget(QLabel(_("<h1>Intervals</h1>")))
|
interval.addWidget(QLabel(_("<h1>Intervals</h1>")))
|
||||||
interval.addFigure()
|
|
||||||
vbox.addWidget(interval)
|
vbox.addWidget(interval)
|
||||||
widgets.append(interval)
|
widgets.append(interval)
|
||||||
|
|
||||||
added = AdjustableFigure(parent.config, 'added', dg.addedRecently, range)
|
added = AdjustableFigure(parent.config, 'added', dg.addedRecently, range)
|
||||||
added.addWidget(QLabel(_("<h1>Added</h1>")))
|
added.addWidget(QLabel(_("<h1>Added</h1>")))
|
||||||
added.addFigure()
|
|
||||||
vbox.addWidget(added)
|
vbox.addWidget(added)
|
||||||
widgets.append(added)
|
widgets.append(added)
|
||||||
|
|
||||||
answered = AdjustableFigure(parent.config, 'answered', lambda *args: apply(
|
answered = AdjustableFigure(parent.config, 'answered', lambda *args: apply(
|
||||||
dg.addedRecently, args + ('firstAnswered',)), range)
|
dg.addedRecently, args + ('firstAnswered',)), range)
|
||||||
answered.addWidget(QLabel(_("<h1>First Answered</h1>")))
|
answered.addWidget(QLabel(_("<h1>First Answered</h1>")))
|
||||||
answered.addFigure()
|
|
||||||
vbox.addWidget(answered)
|
vbox.addWidget(answered)
|
||||||
widgets.append(answered)
|
widgets.append(answered)
|
||||||
|
|
||||||
eases = AdjustableFigure(parent.config, 'eases', dg.easeBars)
|
eases = AdjustableFigure(parent.config, 'eases', dg.easeBars)
|
||||||
eases.addWidget(QLabel(_("<h1>Eases</h1>")))
|
eases.addWidget(QLabel(_("<h1>Eases</h1>")))
|
||||||
eases.addFigure()
|
|
||||||
vbox.addWidget(eases)
|
vbox.addWidget(eases)
|
||||||
widgets.append(eases)
|
widgets.append(eases)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue