diff --git a/src/ConfigDialog.cpp b/src/ConfigDialog.cpp index bdd6a6543..54cd5e1ed 100644 --- a/src/ConfigDialog.cpp +++ b/src/ConfigDialog.cpp @@ -174,6 +174,7 @@ void ConfigDialog::save_Clicked() settings->setValue(GC_ALLRIDES_ASCENDING, configPage->allRidesAscending->checkState()); settings->setValue(GC_GARMIN_SMARTRECORD, configPage->garminSmartRecord->checkState()); settings->setValue(GC_GARMIN_HWMARK, configPage->garminHWMarkedit->text()); + settings->setValue(GC_MAP_INTERVAL, configPage->mapIntervaledit->text()); settings->setValue(GC_CRANKLENGTH, configPage->crankLengthCombo->currentText()); settings->setValue(GC_BIKESCOREDAYS, configPage->BSdaysEdit->text()); settings->setValue(GC_BIKESCOREMODE, configPage->bsModeCombo->currentText()); diff --git a/src/GoogleMapControl.cpp b/src/GoogleMapControl.cpp index 47f745805..d5925d219 100644 --- a/src/GoogleMapControl.cpp +++ b/src/GoogleMapControl.cpp @@ -347,13 +347,16 @@ string GoogleMapControl::CreatePolyLine() { std::vector intervalPoints; ostringstream oss; - int intervalTime = 30; // 30 seconds + boost::shared_ptr settings = GetApplicationSettings(); + QVariant intervalTime = settings->value(GC_MAP_INTERVAL).toInt(); + if (intervalTime.isNull() || intervalTime.toInt() == 0) + intervalTime.setValue(30); BOOST_FOREACH(RideFilePoint rfp, rideData) { intervalPoints.push_back(rfp); if((intervalPoints.back().secs - intervalPoints.front().secs) > - intervalTime) + intervalTime.toInt()) { // find the avg power and color code it and create a polyline... AvgPower avgPower = for_each(intervalPoints.begin(), @@ -377,6 +380,10 @@ void GoogleMapControl::CreateSubPolyLine(const std::vector &point std::ostringstream &oss, int avgPower) { + boost::shared_ptr settings = GetApplicationSettings(); + QVariant intervalTime = settings->value(GC_MAP_INTERVAL); + if (intervalTime.isNull() || intervalTime.toInt() == 0) + intervalTime.setValue(30); oss.precision(6); QColor color = GetColor(avgPower); QString colorstr = color.name(); @@ -393,7 +400,7 @@ void GoogleMapControl::CreateSubPolyLine(const std::vector &point oss << "],\"" << colorstr.toStdString() << "\",4);" << endl; oss << "GEvent.addListener(polyline, 'mouseover', function() {" << endl - << "var tooltip_text = '30s Power: " << avgPower << "';" << endl + << "var tooltip_text = '" << intervalTime.toInt() << "s Power: " << avgPower << "';" << endl << "var ss={'weight':8};" << endl << "this.setStrokeStyle(ss);" << endl << "this.overlay = new MapTooltip(this,tooltip_text);" << endl diff --git a/src/Pages.cpp b/src/Pages.cpp index 1530c715c..dde203b31 100644 --- a/src/Pages.cpp +++ b/src/Pages.cpp @@ -149,6 +149,18 @@ ConfigurationPage::ConfigurationPage(MainWindow *main) : main(main) garminLayout->addWidget(garminHWMarkedit,1,1); garminLayout->addWidget(garminHWLabel2,1,2); + // Map interval period + QVariant mapInterval = settings->value(GC_MAP_INTERVAL); + if (mapInterval.isNull() || mapInterval.toInt() == 0) + mapInterval.setValue(30); // by default its 30 sec + QGridLayout *mapIntervalLayout = new QGridLayout; + QLabel *mapIntervalLabel1 = new QLabel(tr("Map interval period")); + QLabel *mapIntervalLabel2 = new QLabel(tr(" secs.")); + mapIntervaledit = new QLineEdit(mapInterval.toString(),this); + mapIntervaledit->setInputMask("009"); + mapIntervalLayout->addWidget(mapIntervalLabel1,1,0); + mapIntervalLayout->addWidget(mapIntervaledit,1,1); + mapIntervalLayout->addWidget(mapIntervalLabel2,1,2); warningLabel = new QLabel(tr("Requires Restart To Take Effect")); @@ -214,6 +226,7 @@ ConfigurationPage::ConfigurationPage(MainWindow *main) : main(main) configLayout->addWidget(allRidesAscending); configLayout->addLayout(garminLayout); //SmartRecord); + configLayout->addLayout(mapIntervalLayout); configLayout->addLayout(crankLengthLayout); configLayout->addLayout(bsDaysLayout); configLayout->addLayout(bsModeLayout); diff --git a/src/Pages.h b/src/Pages.h index 5beea0636..9be18b1f4 100644 --- a/src/Pages.h +++ b/src/Pages.h @@ -56,6 +56,7 @@ class ConfigurationPage : public QWidget QCheckBox *allRidesAscending; QCheckBox *garminSmartRecord; QLineEdit *garminHWMarkedit; + QLineEdit *mapIntervaledit; QLineEdit *BSdaysEdit; QComboBox *bsModeCombo; QLineEdit *workoutDirectory; @@ -85,6 +86,7 @@ class ConfigurationPage : public QWidget QGridLayout *bsDaysLayout; QHBoxLayout *bsModeLayout; QGridLayout *garminLayout; + QGridLayout *mapIntervalLayout; }; class CyclistPage : public QWidget diff --git a/src/Settings.h b/src/Settings.h index 7d569828d..7830a3d11 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -101,6 +101,9 @@ #define GC_GARMIN_SMARTRECORD "garminSmartRecord" #define GC_GARMIN_HWMARK "garminHWMark" +// Map Interval period +#define GC_MAP_INTERVAL "mapInterval" + #include #include