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.addSpacing(10)
|
||||
self.hbox.addStretch(1)
|
||||
self.figureCanvas = None
|
||||
if self.choices:
|
||||
self.addCombo()
|
||||
|
||||
|
@ -71,6 +72,8 @@ class AdjustableFigure(QWidget):
|
|||
self.vbox.addLayout(self.hbox)
|
||||
|
||||
def updateFigure(self):
|
||||
if not self.figureCanvas:
|
||||
self.addFigure()
|
||||
self.updateTimer = None
|
||||
self.setUpdatesEnabled(False)
|
||||
idx = self.vbox.indexOf(self.figureCanvas)
|
||||
|
@ -114,6 +117,8 @@ class AdjustableFigure(QWidget):
|
|||
def showHide(self):
|
||||
shown = self.config.get('graphs.shown.' + self.name, True)
|
||||
self.setVisible(shown)
|
||||
if shown and not self.figureCanvas:
|
||||
self.addFigure()
|
||||
|
||||
class IntervalGraph(QDialog):
|
||||
|
||||
|
@ -154,44 +159,37 @@ def intervalGraph(parent, deck):
|
|||
# views
|
||||
nextDue = AdjustableFigure(parent.config, 'due', dg.nextDue, range)
|
||||
nextDue.addWidget(QLabel(_("<h1>Due</h1>")))
|
||||
nextDue.addFigure()
|
||||
vbox.addWidget(nextDue)
|
||||
widgets.append(nextDue)
|
||||
|
||||
workload = AdjustableFigure(parent.config, 'workload', dg.workDone, range)
|
||||
workload.addWidget(QLabel(_("<h1>Work Done</h1>")))
|
||||
workload.addFigure()
|
||||
vbox.addWidget(workload)
|
||||
widgets.append(workload)
|
||||
|
||||
cumDue = AdjustableFigure(parent.config, 'cum', dg.cumulativeDue, range)
|
||||
cumDue.addWidget(QLabel(_("<h1>Cumulative Due</h1>")))
|
||||
cumDue.addFigure()
|
||||
vbox.addWidget(cumDue)
|
||||
widgets.append(cumDue)
|
||||
|
||||
interval = AdjustableFigure(parent.config, 'interval', dg.intervalPeriod, range)
|
||||
interval.addWidget(QLabel(_("<h1>Intervals</h1>")))
|
||||
interval.addFigure()
|
||||
vbox.addWidget(interval)
|
||||
widgets.append(interval)
|
||||
|
||||
added = AdjustableFigure(parent.config, 'added', dg.addedRecently, range)
|
||||
added.addWidget(QLabel(_("<h1>Added</h1>")))
|
||||
added.addFigure()
|
||||
vbox.addWidget(added)
|
||||
widgets.append(added)
|
||||
|
||||
answered = AdjustableFigure(parent.config, 'answered', lambda *args: apply(
|
||||
dg.addedRecently, args + ('firstAnswered',)), range)
|
||||
answered.addWidget(QLabel(_("<h1>First Answered</h1>")))
|
||||
answered.addFigure()
|
||||
vbox.addWidget(answered)
|
||||
widgets.append(answered)
|
||||
|
||||
eases = AdjustableFigure(parent.config, 'eases', dg.easeBars)
|
||||
eases.addWidget(QLabel(_("<h1>Eases</h1>")))
|
||||
eases.addFigure()
|
||||
vbox.addWidget(eases)
|
||||
widgets.append(eases)
|
||||
|
||||
|
|
Loading…
Reference in a new issue