diff --git a/src/threads/converterthread.cpp b/src/threads/converterthread.cpp index d9d1662b..bab6c2dc 100644 --- a/src/threads/converterthread.cpp +++ b/src/threads/converterthread.cpp @@ -183,9 +183,21 @@ void ConverterThread::run() void ConverterThread::setTrainingSessionOptions(polar::v2::TrainingSession * const session) { Q_CHECK_PTR(session); + + // The src/widgets/*/*Tabs widgets load/save options from/to QSettings. + // Here we load from QSettings, and apply to our TrainingSession instance. QSettings settings; + /// @todo Replace all of the following setting-name string literals with + /// constants in the relevant options classes. Probably the defaults too. + settings.beginGroup(QLatin1String("gpx")); + session->setGpxOption(polar::v2::TrainingSession::CluetrustGpxDataExtension, + settings.value(QLatin1String("cluetrustGpxExt"), true).toBool()); + session->setGpxOption(polar::v2::TrainingSession::GarminAccelerationExtension, + settings.value(QLatin1String("garminAccelerationExt"), true).toBool()); + session->setGpxOption(polar::v2::TrainingSession::GarminTrackPointExtension, + settings.value(QLatin1String("garminTrackPointExt"), true).toBool()); settings.endGroup(); settings.beginGroup(QLatin1String("hrm")); @@ -198,5 +210,9 @@ void ConverterThread::setTrainingSessionOptions(polar::v2::TrainingSession * con settings.beginGroup(QLatin1String("tcx")); session->setTcxOption(polar::v2::TrainingSession::ForceTcxUTC, settings.value(QLatin1String("utcOnly"), true).toBool()); + session->setTcxOption(polar::v2::TrainingSession::GarminActivityExtension, + settings.value(QLatin1String("garminActivityExt"), true).toBool()); + session->setTcxOption(polar::v2::TrainingSession::GarminCourseExtension, + settings.value(QLatin1String("garminCourseExt"), true).toBool()); settings.endGroup(); } diff --git a/src/widgets/gpx/gpxextensionstab.cpp b/src/widgets/gpx/gpxextensionstab.cpp index 3d5ea889..b0d7a3fe 100644 --- a/src/widgets/gpx/gpxextensionstab.cpp +++ b/src/widgets/gpx/gpxextensionstab.cpp @@ -27,11 +27,13 @@ GpxExtensionsTab::GpxExtensionsTab(QWidget *parent, Qt::WindowFlags flags) : QWidget(parent, flags) { cluetrustGpxExt = new QCheckBox(tr("Cluetrust GPX Extension")); + garminAccelerationExt = new QCheckBox(tr("Garmin Acceleration Extension")); garminTrackPointExt = new QCheckBox(tr("Garmin TrackPoint Extension")); load(); QVBoxLayout * const vBox = new QVBoxLayout(); vBox->addWidget(cluetrustGpxExt); + vBox->addWidget(garminAccelerationExt); vBox->addWidget(garminTrackPointExt); setLayout(vBox); } @@ -41,6 +43,7 @@ void GpxExtensionsTab::load() QSettings settings; settings.beginGroup(QLatin1String("gpx")); cluetrustGpxExt->setChecked(settings.value(QLatin1String("cluetrustGpxExt"), true).toBool()); + garminAccelerationExt->setChecked(settings.value(QLatin1String("garminAccelerationExt"), true).toBool()); garminTrackPointExt->setChecked(settings.value(QLatin1String("garminTrackPointExt"), true).toBool()); } @@ -49,5 +52,6 @@ void GpxExtensionsTab::save() QSettings settings; settings.beginGroup(QLatin1String("gpx")); settings.setValue(QLatin1String("cluetrustGpxExt"), cluetrustGpxExt->isChecked()); + settings.setValue(QLatin1String("garminAccelerationExt"), garminAccelerationExt->isChecked()); settings.setValue(QLatin1String("garminTrackPointExt"), garminTrackPointExt->isChecked()); } diff --git a/src/widgets/gpx/gpxextensionstab.h b/src/widgets/gpx/gpxextensionstab.h index 19132a1c..58e456e1 100644 --- a/src/widgets/gpx/gpxextensionstab.h +++ b/src/widgets/gpx/gpxextensionstab.h @@ -36,6 +36,7 @@ public slots: protected: QCheckBox * cluetrustGpxExt; + QCheckBox * garminAccelerationExt; QCheckBox * garminTrackPointExt; }; diff --git a/src/widgets/gpx/gpxoptionsdialog.cpp b/src/widgets/gpx/gpxoptionsdialog.cpp index 15a301b8..8c80e1ee 100644 --- a/src/widgets/gpx/gpxoptionsdialog.cpp +++ b/src/widgets/gpx/gpxoptionsdialog.cpp @@ -31,13 +31,13 @@ GpxOptionsDialog::GpxOptionsDialog(QWidget *parent, Qt::WindowFlags flags) { setWindowTitle(tr("GPX Options")); - GeneralGpxOptions * const generalOptionsTab = new GeneralGpxOptions(); + //GeneralGpxOptions * const generalOptionsTab = new GeneralGpxOptions(); GpxExtensionsTab * const extensionsTab = new GpxExtensionsTab(); - connect(this, SIGNAL(accepted()), generalOptionsTab, SLOT(save())); + //connect(this, SIGNAL(accepted()), generalOptionsTab, SLOT(save())); connect(this, SIGNAL(accepted()), extensionsTab, SLOT(save())); QTabWidget * const tabs = new QTabWidget(); - tabs->addTab(generalOptionsTab, tr("General")); + //tabs->addTab(generalOptionsTab, tr("General")); tabs->addTab(extensionsTab, tr("Extensions")); QDialogButtonBox * const buttons = new QDialogButtonBox( diff --git a/src/widgets/outputspage.cpp b/src/widgets/outputspage.cpp index fbc90e58..c838fc6b 100644 --- a/src/widgets/outputspage.cpp +++ b/src/widgets/outputspage.cpp @@ -114,7 +114,7 @@ OutputsPage::OutputsPage(QWidget *parent) : QWizardPage(parent) grid->addWidget(gpxCheckBox, 0, 0); grid->addWidget(hrmCheckBox, 1, 0); grid->addWidget(tcxCheckBox, 2, 0); - //grid->addWidget(advancedGpxLabel, 0, 1); No advaned GPX options implemented yet. + grid->addWidget(advancedGpxLabel, 0, 1); grid->addWidget(advancedHrmLabel, 1, 1); grid->addWidget(advancedTcxLabel, 2, 1); QHBoxLayout * const hBox = new QHBoxLayout(); diff --git a/src/widgets/tcx/tcxoptionsdialog.cpp b/src/widgets/tcx/tcxoptionsdialog.cpp index ce560214..8b2343a8 100644 --- a/src/widgets/tcx/tcxoptionsdialog.cpp +++ b/src/widgets/tcx/tcxoptionsdialog.cpp @@ -38,7 +38,7 @@ TcxOptionsDialog::TcxOptionsDialog(QWidget *parent, Qt::WindowFlags flags) QTabWidget * const tabs = new QTabWidget(); tabs->addTab(generalOptionsTab, tr("General")); - //tabs->addTab(extensionsTab, tr("Extensions")); No TCX extensions implemented yet. + tabs->addTab(extensionsTab, tr("Extensions")); QDialogButtonBox * const buttons = new QDialogButtonBox( QDialogButtonBox::Ok|QDialogButtonBox::Cancel);