From d7a47fad7e8a76cdaa6ed2240392723bfe1c4eaa Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 28 Sep 2015 15:11:04 -0700 Subject: [PATCH] Map provider to use is now in settings --- src/ui/SettingsDialog.cc | 35 ++++++++++++++++++++++++++++++++++- src/ui/SettingsDialog.h | 4 ++++ src/ui/SettingsDialog.ui | 32 +++++++++++++++++++++++++++++++- 3 files changed, 69 insertions(+), 2 deletions(-) diff --git a/src/ui/SettingsDialog.cc b/src/ui/SettingsDialog.cc index 8200c9f69..ea9862b5f 100644 --- a/src/ui/SettingsDialog.cc +++ b/src/ui/SettingsDialog.cc @@ -37,6 +37,7 @@ #include "QGCFileDialog.h" #include "QGCMessageBox.h" #include "MainToolBar.h" +#include "FlightMapSettings.h" SettingsDialog::SettingsDialog(QWidget *parent, int showTab, Qt::WindowFlags flags) : QDialog(parent, flags), @@ -94,7 +95,18 @@ _ui(new Ui::SettingsDialog) connect(_ui->styleChooser, SIGNAL(currentIndexChanged(int)), this, SLOT(styleChanged(int))); connect(_ui->browseSavedFilesLocation, &QPushButton::clicked, this, &SettingsDialog::_selectSavedFilesDirectory); connect(_ui->buttonBox, &QDialogButtonBox::accepted, this, &SettingsDialog::_validateBeforeClose); - + + // Flight Map settings + + FlightMapSettings* fmSettings = FlightMapSettings::instance(); + _ui->bingMapRadio->setChecked(fmSettings->mapProvider() == "Bing"); + _ui->googleMapRadio->setChecked(fmSettings->mapProvider() == "Google"); + _ui->openMapRadio->setChecked(fmSettings->mapProvider() == "Open"); + + connect(_ui->bingMapRadio, &QRadioButton::clicked, this, &SettingsDialog::_bingMapRadioClicked); + connect(_ui->googleMapRadio, &QRadioButton::clicked, this, &SettingsDialog::_googleMapRadioClicked); + connect(_ui->openMapRadio, &QRadioButton::clicked, this, &SettingsDialog::_openMapRadioClicked); + switch (showTab) { case ShowCommLinks: _ui->tabWidget->setCurrentWidget(pLinkConf); @@ -193,3 +205,24 @@ void SettingsDialog::on_showRSSI_clicked(bool checked) { _mainWindow->getMainToolBar()->viewStateChanged(TOOL_BAR_SHOW_RSSI, checked); } + +void SettingsDialog::_bingMapRadioClicked(bool checked) +{ + if (checked) { + FlightMapSettings::instance()->setMapProvider("Bing"); + } +} + +void SettingsDialog::_googleMapRadioClicked(bool checked) +{ + if (checked) { + FlightMapSettings::instance()->setMapProvider("Google"); + } +} + +void SettingsDialog::_openMapRadioClicked(bool checked) +{ + if (checked) { + FlightMapSettings::instance()->setMapProvider("Open"); + } +} diff --git a/src/ui/SettingsDialog.h b/src/ui/SettingsDialog.h index ac1a31108..f991e9b79 100644 --- a/src/ui/SettingsDialog.h +++ b/src/ui/SettingsDialog.h @@ -62,6 +62,10 @@ private slots: void on_showMav_clicked(bool checked); void on_showRSSI_clicked(bool checked); + + void _bingMapRadioClicked(bool checked); + void _googleMapRadioClicked(bool checked); + void _openMapRadioClicked(bool checked); private: MainWindow* _mainWindow; diff --git a/src/ui/SettingsDialog.ui b/src/ui/SettingsDialog.ui index 036595c81..0db0fa3ff 100644 --- a/src/ui/SettingsDialog.ui +++ b/src/ui/SettingsDialog.ui @@ -7,7 +7,7 @@ 0 0 500 - 596 + 689 @@ -115,6 +115,36 @@ + + + + Map Provider + + + + + + Bing + + + + + + + Google + + + + + + + Open Streets + + + + + + -- 2.22.0