combine setActive and rideSelected

And pay attention to MainWindow::activeTab, such that only the active
tab redraws itself when changing rides.  This change really increases
GC's responsiveness when scrolling through the ride list.
This commit is contained in:
Sean Rhea
2010-03-11 09:24:02 -05:00
parent 92725db36a
commit cd4fe5fe2e
17 changed files with 54 additions and 45 deletions

View File

@@ -101,6 +101,7 @@ PerformanceManagerWindow::PerformanceManagerWindow(MainWindow *mainWindow) :
connect(metricCombo, SIGNAL(currentIndexChanged(int)),
this, SLOT(metricChanged()));
connect(mainWindow, SIGNAL(configChanged()), this, SLOT(configChanged()));
connect(mainWindow, SIGNAL(rideSelected()), this, SLOT(rideSelected()));
}
PerformanceManagerWindow::~PerformanceManagerWindow()
@@ -125,9 +126,12 @@ void PerformanceManagerWindow::metricChanged()
replot();
}
void PerformanceManagerWindow::setActive(bool value)
void PerformanceManagerWindow::rideSelected()
{
if (active=value) replot();
bool wasActive = active;
active = (mainWindow->activeTab() == this);
if (!wasActive && active)
replot();
}
void PerformanceManagerWindow::replot()