diff --git a/src/ConfigDialog.cpp b/src/ConfigDialog.cpp index 5be1df024..21fc81cc3 100644 --- a/src/ConfigDialog.cpp +++ b/src/ConfigDialog.cpp @@ -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"))); diff --git a/src/Pages.cpp b/src/Pages.cpp index 3b128ab20..2f1043691 100644 --- a/src/Pages.cpp +++ b/src/Pages.cpp @@ -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); diff --git a/src/Pages.h b/src/Pages.h index bca4dc58f..844debf05 100644 --- a/src/Pages.h +++ b/src/Pages.h @@ -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 diff --git a/src/PerformanceManagerWindow.cpp b/src/PerformanceManagerWindow.cpp index 2ff9e831e..995545456 100644 --- a/src/PerformanceManagerWindow.cpp +++ b/src/PerformanceManagerWindow.cpp @@ -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); diff --git a/src/Settings.h b/src/Settings.h index 37a9e9205..b6909538b 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -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"