Make the default date range for Performance Manager a user preference.

This commit is contained in:
Tim Shaffer
2011-03-02 12:30:22 -05:00
committed by Mark Liversedge
parent 88967c1588
commit d91337e18d
5 changed files with 19 additions and 2 deletions

View File

@@ -181,6 +181,7 @@ void ConfigDialog::save_Clicked()
settings->setValue(GC_STS_DAYS, cyclistPage->perfManSTSavg->text());
settings->setValue(GC_LTS_DAYS, cyclistPage->perfManLTSavg->text());
settings->setValue(GC_SB_TODAY, (int) cyclistPage->showSBToday->isChecked());
settings->setValue(GC_PM_DAYS, cyclistPage->perfManDays->text());
// set default stress names if not set:
settings->setValue(GC_STS_NAME, settings->value(GC_STS_NAME,tr("Short Term Stress")));

View File

@@ -262,12 +262,17 @@ CyclistPage::CyclistPage(MainWindow *main) :
perfManStartLabel = new QLabel(tr("Starting LTS"));
perfManSTSLabel = new QLabel(tr("STS average (days)"));
perfManLTSLabel = new QLabel(tr("LTS average (days)"));
perfManDaysLabel = new QLabel(tr("Default range (days)"));
perfManStartValidator = new QIntValidator(0,200,this);
perfManSTSavgValidator = new QIntValidator(1,21,this);
perfManLTSavgValidator = new QIntValidator(7,56,this);
perfManDaysValidator = new QIntValidator(1,182,this);
QVariant perfManStartVal = settings->value(GC_INITIAL_STS);
QVariant perfManSTSVal = settings->value(GC_STS_DAYS);
QVariant perfManDaysVal = settings->value(GC_PM_DAYS);
if (perfManDaysVal.isNull() || perfManDaysVal.toInt() == 0)
perfManDaysVal = 182;
if (perfManSTSVal.isNull() || perfManSTSVal.toInt() == 0)
perfManSTSVal = 7;
QVariant perfManLTSVal = settings->value(GC_LTS_DAYS);
@@ -279,12 +284,17 @@ CyclistPage::CyclistPage(MainWindow *main) :
perfManSTSavg->setValidator(perfManSTSavgValidator);
perfManLTSavg = new QLineEdit(perfManLTSVal.toString(),this);
perfManLTSavg->setValidator(perfManLTSavgValidator);
perfManDays = new QLineEdit(perfManDaysVal.toString(),this);
perfManDays->setValidator(perfManDaysValidator);
// performance manager
perfManLayout = new QVBoxLayout(); // outer
perfManStartValLayout = new QHBoxLayout();
perfManSTSavgLayout = new QHBoxLayout();
perfManLTSavgLayout = new QHBoxLayout();
perfManDaysLayout = new QHBoxLayout();
perfManDaysLayout->addWidget(perfManDaysLabel);
perfManDaysLayout->addWidget(perfManDays);
perfManStartValLayout->addWidget(perfManStartLabel);
perfManStartValLayout->addWidget(perfManStart);
perfManSTSavgLayout->addWidget(perfManSTSLabel);
@@ -292,6 +302,7 @@ CyclistPage::CyclistPage(MainWindow *main) :
perfManLTSavgLayout->addWidget(perfManLTSLabel);
perfManLTSavgLayout->addWidget(perfManLTSavg);
perfManLayout->addWidget(showSBToday);
perfManLayout->addLayout(perfManDaysLayout);
perfManLayout->addLayout(perfManStartValLayout);
perfManLayout->addLayout(perfManSTSavgLayout);
perfManLayout->addLayout(perfManLTSavgLayout);

View File

@@ -96,9 +96,11 @@ class CyclistPage : public QWidget
QLabel *perfManStartLabel;
QLabel *perfManSTSLabel;
QLabel *perfManLTSLabel;
QLabel *perfManDaysLabel;
QLineEdit *perfManStart;
QLineEdit *perfManSTSavg;
QLineEdit *perfManLTSavg;
QLineEdit *perfManDays;
QCheckBox *showSBToday;
private:
@@ -112,11 +114,13 @@ class CyclistPage : public QWidget
QHBoxLayout *perfManStartValLayout;
QHBoxLayout *perfManSTSavgLayout;
QHBoxLayout *perfManLTSavgLayout;
QHBoxLayout *perfManDaysLayout;
QVBoxLayout *cyclistLayout;
QVBoxLayout *mainLayout;
QIntValidator *perfManStartValidator;
QIntValidator *perfManSTSavgValidator;
QIntValidator *perfManLTSavgValidator;
QIntValidator *perfManDaysValidator;
};
class deviceModel : public QAbstractTableModel

View File

@@ -223,8 +223,8 @@ void PerformanceManagerWindow::replot()
// set slider values only on the first time
// set left slider to last 6 months
if (newdays > 182)
PMleftSlider->setValue(newdays - 182);
if (newdays > (settings->value(GC_PM_DAYS)).toInt())
PMleftSlider->setValue(newdays - (settings->value(GC_PM_DAYS).toInt()));
else
PMleftSlider->setValue(0);

View File

@@ -52,6 +52,7 @@
#define GC_BIKESCOREDAYS "bikeScoreDays"
#define GC_BIKESCOREMODE "bikeScoreMode"
#define GC_SB_TODAY "PMshowSBtoday"
#define GC_PM_DAYS "pmDays"
#define GC_INITIAL_LTS "initialLTS"
#define GC_INITIAL_STS "initialSTS"
#define GC_LTS_DAYS "LTSdays"