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

@@ -30,7 +30,7 @@
#include <QXmlSimpleReader>
CriticalPowerWindow::CriticalPowerWindow(const QDir &home, MainWindow *parent) :
QWidget(parent), home(home), mainWindow(parent), active(false)
QWidget(parent), home(home), mainWindow(parent), currentRide(NULL)
{
QVBoxLayout *vlayout = new QVBoxLayout;
@@ -115,25 +115,13 @@ CriticalPowerWindow::deleteCpiFile(QString rideFilename)
ride_filename_to_cpi_filename(rideFilename));
}
void
CriticalPowerWindow::setActive(bool new_value)
{
bool was_active = active;
active = new_value;
if (active && !was_active) {
currentRide = mainWindow->rideItem();
if (currentRide) {
cpintPlot->calculate(currentRide);
cpintSetCPButton->setEnabled(cpintPlot->cp > 0);
}
}
}
void
CriticalPowerWindow::rideSelected()
{
if (mainWindow->activeTab() != this)
return;
currentRide = mainWindow->rideItem();
if (active && currentRide) {
if (currentRide) {
cpintPlot->calculate(currentRide);
cpintSetCPButton->setEnabled(cpintPlot->cp > 0);
}