diff --git a/src/QGCApplication.cc b/src/QGCApplication.cc
index 94c4025ef558797d18063840d4b0d78ea4e9f2d4..2665303166527f16237049ae81df2daa09cb060d 100644
--- a/src/QGCApplication.cc
+++ b/src/QGCApplication.cc
@@ -107,11 +107,12 @@
QGCApplication* QGCApplication::_app = NULL;
-const char* QGCApplication::_deleteAllSettingsKey = "DeleteAllSettingsNextBoot";
-const char* QGCApplication::_settingsVersionKey = "SettingsVersion";
-const char* QGCApplication::_savedFilesLocationKey = "SavedFilesLocation";
-const char* QGCApplication::_promptFlightDataSave = "PromptFLightDataSave";
-const char* QGCApplication::_styleKey = "StyleIsDark";
+const char* QGCApplication::_deleteAllSettingsKey = "DeleteAllSettingsNextBoot";
+const char* QGCApplication::_settingsVersionKey = "SettingsVersion";
+const char* QGCApplication::_savedFilesLocationKey = "SavedFilesLocation";
+const char* QGCApplication::_promptFlightDataSave = "PromptFLightDataSave";
+const char* QGCApplication::_promptFlightDataSaveNotArmed = "PromptFLightDataSaveNotArmed";
+const char* QGCApplication::_styleKey = "StyleIsDark";
const char* QGCApplication::_defaultSavedFileDirectoryName = "QGroundControl";
const char* QGCApplication::_savedFileMavlinkLogDirectoryName = "FlightData";
@@ -554,12 +555,25 @@ bool QGCApplication::promptFlightDataSave(void)
return settings.value(_promptFlightDataSave, true).toBool();
}
+bool QGCApplication::promptFlightDataSaveNotArmed(void)
+{
+ QSettings settings;
+
+ return settings.value(_promptFlightDataSaveNotArmed, false).toBool();
+}
+
void QGCApplication::setPromptFlightDataSave(bool promptForSave)
{
QSettings settings;
settings.setValue(_promptFlightDataSave, promptForSave);
}
+void QGCApplication::setPromptFlightDataSaveNotArmed(bool promptForSave)
+{
+ QSettings settings;
+ settings.setValue(_promptFlightDataSaveNotArmed, promptForSave);
+}
+
/// @brief Returns the QGCApplication object singleton.
QGCApplication* qgcApp(void)
{
diff --git a/src/QGCApplication.h b/src/QGCApplication.h
index 084950bb9bf1aabe30f8fad05bee7d63cc6a3626..ec19b0302ea8933e3c5badc1a282090fa60e29dc 100644
--- a/src/QGCApplication.h
+++ b/src/QGCApplication.h
@@ -93,11 +93,14 @@ public:
/// @brief Validates that the specified location will work for the saved files location.
bool validatePossibleSavedFilesLocation(QString& location);
- /// @brief Returns true is all mavlink connections should be logged
+ /// @return true: Prompt to save log file when vehicle goes away
bool promptFlightDataSave(void);
- /// @brief Sets the flag to log all mavlink connections
+ /// @return true: Prompt to save log file even if vehicle was not armed
+ bool promptFlightDataSaveNotArmed(void);
+
void setPromptFlightDataSave(bool promptForSave);
+ void setPromptFlightDataSaveNotArmed(bool promptForSave);
/// @brief Returns truee if unit test are being run
bool runningUnitTests(void) { return _runningUnitTests; }
@@ -173,7 +176,8 @@ private:
static const char* _settingsVersionKey; ///< Settings key which hold settings version
static const char* _deleteAllSettingsKey; ///< If this settings key is set on boot, all settings will be deleted
static const char* _savedFilesLocationKey; ///< Settings key for user visible saved files location
- static const char* _promptFlightDataSave; ///< Settings key to prompt for saving Flight Data Log for all flights
+ static const char* _promptFlightDataSave; ///< Settings key for promptFlightDataSave
+ static const char* _promptFlightDataSaveNotArmed; ///< Settings key for promptFlightDataSaveNotArmed
static const char* _styleKey; ///< Settings key for UI style
static const char* _defaultSavedFileDirectoryName; ///< Default name for user visible save file directory
diff --git a/src/QmlControls/QGroundControlQmlGlobal.cc b/src/QmlControls/QGroundControlQmlGlobal.cc
index 97fc9f598c889c5e074b5e5ca73921e2e7dd1acd..7563fe1b24851cf181fc2fa72a08246f2553a33f 100644
--- a/src/QmlControls/QGroundControlQmlGlobal.cc
+++ b/src/QmlControls/QGroundControlQmlGlobal.cc
@@ -154,3 +154,51 @@ void QGroundControlQmlGlobal::stopAllMockLinks(void)
}
#endif
}
+
+void QGroundControlQmlGlobal::setIsDarkStyle(bool dark)
+{
+ qgcApp()->setStyle(dark);
+ emit isDarkStyleChanged(dark);
+}
+
+void QGroundControlQmlGlobal::setIsAudioMuted(bool muted)
+{
+ qgcApp()->toolbox()->audioOutput()->mute(muted);
+ emit isAudioMutedChanged(muted);
+}
+
+void QGroundControlQmlGlobal::setIsLowPowerMode(bool low)
+{
+ MainWindow::instance()->enableLowPowerMode(low);
+ emit isLowPowerModeChanged(low);
+}
+
+void QGroundControlQmlGlobal::setIsSaveLogPrompt(bool prompt)
+{
+ qgcApp()->setPromptFlightDataSave(prompt);
+ emit isSaveLogPromptChanged(prompt);
+}
+
+void QGroundControlQmlGlobal::setIsSaveLogPromptNotArmed(bool prompt)
+{
+ qgcApp()->setPromptFlightDataSaveNotArmed(prompt);
+ emit isSaveLogPromptNotArmedChanged(prompt);
+}
+
+void QGroundControlQmlGlobal::setIsHeartBeatEnabled(bool enable)
+{
+ qgcApp()->toolbox()->mavlinkProtocol()->enableHeartbeats(enable);
+ emit isHeartBeatEnabledChanged(enable);
+}
+
+void QGroundControlQmlGlobal::setIsMultiplexingEnabled(bool enable)
+{
+ qgcApp()->toolbox()->mavlinkProtocol()->enableMultiplexing(enable);
+ emit isMultiplexingEnabledChanged(enable);
+}
+
+void QGroundControlQmlGlobal::setIsVersionCheckEnabled(bool enable)
+{
+ qgcApp()->toolbox()->mavlinkProtocol()->enableVersionCheck(enable);
+ emit isVersionCheckEnabledChanged(enable);
+}
diff --git a/src/QmlControls/QGroundControlQmlGlobal.h b/src/QmlControls/QGroundControlQmlGlobal.h
index 302439196909c892313cc6f4b8b41228641b3591..eafc1454e051d9d04a2c25721eed476535604f27 100644
--- a/src/QmlControls/QGroundControlQmlGlobal.h
+++ b/src/QmlControls/QGroundControlQmlGlobal.h
@@ -54,14 +54,25 @@ public:
Q_PROPERTY(qreal zOrderWidgets READ zOrderWidgets CONSTANT) ///< z order value to widgets, for example: zoom controls, hud widgetss
Q_PROPERTY(qreal zOrderMapItems READ zOrderMapItems CONSTANT) ///< z order value for map items, for example: mission item indicators
- /// Global "Advance Mode" preference. Certain UI elements and features are different based on this.
- Q_PROPERTY(bool isAdvancedMode READ isAdvancedMode CONSTANT)
+ // Various QGC settings exposed to Qml
+ Q_PROPERTY(bool isAdvancedMode READ isAdvancedMode CONSTANT) ///< Global "Advance Mode" preference. Certain UI elements and features are different based on this.
+ Q_PROPERTY(bool isDarkStyle READ isDarkStyle WRITE setIsDarkStyle NOTIFY isDarkStyleChanged) // TODO: Should be in ScreenTools?
+ Q_PROPERTY(bool isAudioMuted READ isAudioMuted WRITE setIsAudioMuted NOTIFY isAudioMutedChanged)
+ Q_PROPERTY(bool isLowPowerMode READ isLowPowerMode WRITE setIsLowPowerMode NOTIFY isLowPowerModeChanged)
+ Q_PROPERTY(bool isSaveLogPrompt READ isSaveLogPrompt WRITE setIsSaveLogPrompt NOTIFY isSaveLogPromptChanged)
+ Q_PROPERTY(bool isSaveLogPromptNotArmed READ isSaveLogPromptNotArmed WRITE setIsSaveLogPromptNotArmed NOTIFY isSaveLogPromptNotArmedChanged)
+ Q_PROPERTY(bool isHeartBeatEnabled READ isHeartBeatEnabled WRITE setIsHeartBeatEnabled NOTIFY isHeartBeatEnabledChanged)
+ Q_PROPERTY(bool isMultiplexingEnabled READ isMultiplexingEnabled WRITE setIsMultiplexingEnabled NOTIFY isMultiplexingEnabledChanged)
+ Q_PROPERTY(bool isVersionCheckEnabled READ isVersionCheckEnabled WRITE setIsVersionCheckEnabled NOTIFY isVersionCheckEnabledChanged)
Q_INVOKABLE void saveGlobalSetting (const QString& key, const QString& value);
Q_INVOKABLE QString loadGlobalSetting (const QString& key, const QString& defaultValue);
Q_INVOKABLE void saveBoolGlobalSetting (const QString& key, bool value);
Q_INVOKABLE bool loadBoolGlobalSetting (const QString& key, bool defaultValue);
+ Q_INVOKABLE void deleteAllSettingsNextBoot () { qgcApp()->deleteAllSettingsNextBoot(); }
+ Q_INVOKABLE void clearDeleteAllSettingsNextBoot () { qgcApp()->clearDeleteAllSettingsNextBoot(); }
+
Q_INVOKABLE void startPX4MockLink (bool sendStatusText);
Q_INVOKABLE void startGenericMockLink (bool sendStatusText);
Q_INVOKABLE void startAPMArduCopterMockLink (bool sendStatusText);
@@ -77,57 +88,33 @@ public:
qreal zOrderWidgets () { return 100; }
qreal zOrderMapItems () { return 50; }
- //-- TODO: This should be in ScreenTools but I don't understand the changes done there (ScreenToolsController versus ScreenTools)
- Q_PROPERTY(bool isDarkStyle READ isDarkStyle WRITE setIsDarkStyle NOTIFY isDarkStyleChanged)
- bool isDarkStyle () { return qgcApp()->styleIsDark(); }
- void setIsDarkStyle (bool dark) { qgcApp()->setStyle(dark); }
-
- //-- Audio Muting
- Q_PROPERTY(bool isAudioMuted READ isAudioMuted WRITE setIsAudioMuted NOTIFY isAudioMutedChanged)
- bool isAudioMuted () { return qgcApp()->toolbox()->audioOutput()->isMuted(); }
- void setIsAudioMuted (bool muted) { qgcApp()->toolbox()->audioOutput()->mute(muted); }
-
- //-- Low power mode
- Q_PROPERTY(bool isLowPowerMode READ isLowPowerMode WRITE setIsLowPowerMode NOTIFY isLowPowerModeChanged)
- bool isLowPowerMode () { return MainWindow::instance()->lowPowerModeEnabled(); }
- void setIsLowPowerMode (bool low) { MainWindow::instance()->enableLowPowerMode(low); }
-
- //-- Prompt save log
- Q_PROPERTY(bool isSaveLogPrompt READ isSaveLogPrompt WRITE setIsSaveLogPrompt NOTIFY isSaveLogPromptChanged)
- bool isSaveLogPrompt () { return qgcApp()->promptFlightDataSave(); }
- void setIsSaveLogPrompt (bool prompt) { qgcApp()->setPromptFlightDataSave(prompt); }
-
- //-- ClearSettings
- Q_INVOKABLE void deleteAllSettingsNextBoot () { qgcApp()->deleteAllSettingsNextBoot(); }
- Q_INVOKABLE void clearDeleteAllSettingsNextBoot () { qgcApp()->clearDeleteAllSettingsNextBoot(); }
+ bool isDarkStyle () { return qgcApp()->styleIsDark(); }
+ bool isAudioMuted () { return qgcApp()->toolbox()->audioOutput()->isMuted(); }
+ bool isLowPowerMode () { return MainWindow::instance()->lowPowerModeEnabled(); }
+ bool isSaveLogPrompt () { return qgcApp()->promptFlightDataSave(); }
+ bool isSaveLogPromptNotArmed () { return qgcApp()->promptFlightDataSaveNotArmed(); }
+ bool isHeartBeatEnabled () { return qgcApp()->toolbox()->mavlinkProtocol()->heartbeatsEnabled(); }
+ bool isMultiplexingEnabled () { return qgcApp()->toolbox()->mavlinkProtocol()->multiplexingEnabled(); }
+ bool isVersionCheckEnabled () { return qgcApp()->toolbox()->mavlinkProtocol()->versionCheckEnabled(); }
//-- TODO: Make this into an actual preference.
- bool isAdvancedMode () { return false; }
-
- //
- //-- Mavlink Protocol
- //
-
- //-- Emit heartbeat
- Q_PROPERTY(bool isHeartBeatEnabled READ isHeartBeatEnabled WRITE setIsHeartBeatEnabled NOTIFY isHeartBeatEnabledChanged)
- bool isHeartBeatEnabled () { return qgcApp()->toolbox()->mavlinkProtocol()->heartbeatsEnabled(); }
- void setIsHeartBeatEnabled (bool enable) { qgcApp()->toolbox()->mavlinkProtocol()->enableHeartbeats(enable); }
-
- //-- Multiplexing
- Q_PROPERTY(bool isMultiplexingEnabled READ isMultiplexingEnabled WRITE setIsMultiplexingEnabled NOTIFY isMultiplexingEnabledChanged)
- bool isMultiplexingEnabled () { return qgcApp()->toolbox()->mavlinkProtocol()->multiplexingEnabled(); }
- void setIsMultiplexingEnabled(bool enable) { qgcApp()->toolbox()->mavlinkProtocol()->enableMultiplexing(enable); }
+ bool isAdvancedMode () { return false; }
- //-- Version Check
- Q_PROPERTY(bool isVersionCheckEnabled READ isVersionCheckEnabled WRITE setIsVersionCheckEnabled NOTIFY isVersionCheckEnabledChanged)
- bool isVersionCheckEnabled () { return qgcApp()->toolbox()->mavlinkProtocol()->versionCheckEnabled(); }
- void setIsVersionCheckEnabled(bool enable) { qgcApp()->toolbox()->mavlinkProtocol()->enableVersionCheck(enable); }
+ void setIsDarkStyle (bool dark);
+ void setIsAudioMuted (bool muted);
+ void setIsLowPowerMode (bool low);
+ void setIsSaveLogPrompt (bool prompt);
+ void setIsSaveLogPromptNotArmed (bool prompt);
+ void setIsHeartBeatEnabled (bool enable);
+ void setIsMultiplexingEnabled (bool enable);
+ void setIsVersionCheckEnabled (bool enable);
signals:
void isDarkStyleChanged (bool dark);
void isAudioMutedChanged (bool muted);
void isLowPowerModeChanged (bool lowPower);
void isSaveLogPromptChanged (bool prompt);
+ void isSaveLogPromptNotArmedChanged (bool prompt);
void isHeartBeatEnabledChanged (bool enabled);
void isMultiplexingEnabledChanged (bool enabled);
void isVersionCheckEnabledChanged (bool enabled);
diff --git a/src/comm/MAVLinkProtocol.cc b/src/comm/MAVLinkProtocol.cc
index af6b42128508fdc6f354cfcff86fca3611302ac0..37cb0135eaeeafd996cfd0da557dac5cb70d793d 100644
--- a/src/comm/MAVLinkProtocol.cc
+++ b/src/comm/MAVLinkProtocol.cc
@@ -57,7 +57,7 @@ MAVLinkProtocol::MAVLinkProtocol(QGCApplication* app)
#ifndef __mobile__
, _logSuspendError(false)
, _logSuspendReplay(false)
- , _logWasArmed(false)
+ , _logPromptForSave(false)
, _tempLogFile(QString("%2.%3").arg(_tempLogFileTemplate).arg(_logFileExtension))
#endif
, _heartbeatRate(MAVLINK_HEARTBEAT_DEFAULT_RATE)
@@ -343,11 +343,11 @@ void MAVLinkProtocol::receiveBytes(LinkInterface* link, QByteArray b)
}
// Check for the vehicle arming going by. This is used to trigger log save.
- if (!_logWasArmed && message.msgid == MAVLINK_MSG_ID_HEARTBEAT) {
+ if (!_logPromptForSave && message.msgid == MAVLINK_MSG_ID_HEARTBEAT) {
mavlink_heartbeat_t state;
mavlink_msg_heartbeat_decode(&message, &state);
if (state.base_mode & MAV_MODE_FLAG_DECODE_POSITION_SAFETY) {
- _logWasArmed = true;
+ _logPromptForSave = true;
}
}
}
@@ -674,7 +674,11 @@ void MAVLinkProtocol::_startLogging(void)
return;
}
- qDebug() << "Temp log" << _tempLogFile.fileName();
+ if (_app->promptFlightDataSaveNotArmed()) {
+ _logPromptForSave = true;
+ }
+
+ qDebug() << "Temp log" << _tempLogFile.fileName() << _logPromptForSave;
_logSuspendError = false;
}
@@ -685,13 +689,13 @@ void MAVLinkProtocol::_stopLogging(void)
{
if (_closeLogFile()) {
// If the signals are not connected it means we are running a unit test. In that case just delete log files
- if (_logWasArmed && _app->promptFlightDataSave()) {
+ if (_logPromptForSave && _app->promptFlightDataSave()) {
emit saveTempFlightDataLog(_tempLogFile.fileName());
} else {
QFile::remove(_tempLogFile.fileName());
}
}
- _logWasArmed = false;
+ _logPromptForSave = false;
}
/// @brief Checks the temp directory for log files which may have been left there.
diff --git a/src/comm/MAVLinkProtocol.h b/src/comm/MAVLinkProtocol.h
index 02964a994b916cd938c5d933d857ec548fb9a6ce..5e0d1f7ae9414cb876422654cea1ecda1fef551d 100644
--- a/src/comm/MAVLinkProtocol.h
+++ b/src/comm/MAVLinkProtocol.h
@@ -297,7 +297,7 @@ private:
bool _logSuspendError; ///< true: Logging suspended due to error
bool _logSuspendReplay; ///< true: Logging suspended due to replay
- bool _logWasArmed; ///< true: vehicle was armed during logging
+ bool _logPromptForSave; ///< true: Prompt for log save when appropriate
QGCTemporaryFile _tempLogFile; ///< File to log to
static const char* _tempLogFileTemplate; ///< Template for temporary log file
diff --git a/src/ui/MainWindow.cc b/src/ui/MainWindow.cc
index db4a8509cfbd61e18c6522c9c9626cf04d0de8df..de6acff1ae3ff47bc3799d70d97f3be04cd813a4 100644
--- a/src/ui/MainWindow.cc
+++ b/src/ui/MainWindow.cc
@@ -596,7 +596,7 @@ void MainWindow::_openUrl(const QString& url, const QString& errorMessage)
void MainWindow::showSettings()
{
- SettingsDialog settings(qgcApp()->toolbox()->audioOutput(), qgcApp()->toolbox()->flightMapSettings(), this);
+ SettingsDialog settings(this);
settings.exec();
}
@@ -619,7 +619,7 @@ void MainWindow::_storeCurrentViewState(void)
void MainWindow::manageLinks()
{
- SettingsDialog settings(qgcApp()->toolbox()->audioOutput(), qgcApp()->toolbox()->flightMapSettings(), this, SettingsDialog::ShowCommLinks);
+ SettingsDialog settings(this, SettingsDialog::ShowCommLinks);
settings.exec();
}
diff --git a/src/ui/SettingsDialog.cc b/src/ui/SettingsDialog.cc
index f6a8db6770ed20a9c2eb6ed0f8f418660c146fa7..0d9bc946ad97c5cf62dbdf2d7351399985f8aa3b 100644
--- a/src/ui/SettingsDialog.cc
+++ b/src/ui/SettingsDialog.cc
@@ -39,11 +39,8 @@
#include "MainToolBarController.h"
#include "FlightMapSettings.h"
-SettingsDialog::SettingsDialog(GAudioOutput* audioOutput, FlightMapSettings* flightMapSettings, QWidget *parent, int showTab, Qt::WindowFlags flags)
+SettingsDialog::SettingsDialog(QWidget *parent, int showTab, Qt::WindowFlags flags)
: QDialog(parent, flags)
- , _mainWindow(MainWindow::instance())
- , _audioOutput(audioOutput)
- , _flightMapSettings(flightMapSettings)
, _ui(new Ui::SettingsDialog)
{
_ui->setupUi(this);
@@ -66,43 +63,12 @@ SettingsDialog::SettingsDialog(GAudioOutput* audioOutput, FlightMapSettings* fli
this->window()->setWindowTitle(tr("QGroundControl Settings"));
- // Audio preferences
- _ui->audioMuteCheckBox->setChecked(_audioOutput->isMuted());
- connect(_ui->audioMuteCheckBox, SIGNAL(toggled(bool)), _audioOutput, SLOT(mute(bool)));
- connect(_audioOutput, SIGNAL(mutedChanged(bool)), _ui->audioMuteCheckBox, SLOT(setChecked(bool)));
-
- // Reconnect
- _ui->reconnectCheckBox->setChecked(_mainWindow->autoReconnectEnabled());
- connect(_ui->reconnectCheckBox, SIGNAL(clicked(bool)), _mainWindow, SLOT(enableAutoReconnect(bool)));
-
- // Low power mode
- _ui->lowPowerCheckBox->setChecked(_mainWindow->lowPowerModeEnabled());
- connect(_ui->lowPowerCheckBox, SIGNAL(clicked(bool)), _mainWindow, SLOT(enableLowPowerMode(bool)));
-
- connect(_ui->deleteSettings, &QAbstractButton::toggled, this, &SettingsDialog::_deleteSettingsToggled);
-
- // Application color style
- _ui->styleChooser->setCurrentIndex(qgcApp()->styleIsDark() ? 0 : 1);
-
_ui->savedFilesLocation->setText(qgcApp()->savedFilesLocation());
- _ui->promptFlightDataSave->setChecked(qgcApp()->promptFlightDataSave());
// Connect signals
- 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;
- _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);
@@ -118,29 +84,6 @@ SettingsDialog::~SettingsDialog()
delete _ui;
}
-void SettingsDialog::styleChanged(int index)
-{
- qgcApp()->setStyle(index == 0);
-}
-
-void SettingsDialog::_deleteSettingsToggled(bool checked)
-{
- if (checked){
- QGCMessageBox::StandardButton answer =
- QGCMessageBox::question(tr("Delete Settings"),
- tr("All saved settings will be deleted the next time you start QGroundControl. Is this really what you want?"),
- QMessageBox::Yes | QMessageBox::No,
- QMessageBox::No);
- if (answer == QMessageBox::Yes) {
- qgcApp()->deleteAllSettingsNextBoot();
- } else {
- _ui->deleteSettings->setChecked(false);
- }
- } else {
- qgcApp()->clearDeleteAllSettingsNextBoot();
- }
-}
-
/// @brief Validates the settings before closing
void SettingsDialog::_validateBeforeClose(void)
{
@@ -155,7 +98,7 @@ void SettingsDialog::_validateBeforeClose(void)
}
// Locations is valid, save
app->setSavedFilesLocation(saveLocation);
- qgcApp()->setPromptFlightDataSave(_ui->promptFlightDataSave->checkState() == Qt::Checked);
+
// Close dialog
accept();
}
@@ -170,30 +113,4 @@ void SettingsDialog::_selectSavedFilesDirectory(void)
if (!newLocation.isEmpty()) {
_ui->savedFilesLocation->setText(newLocation);
}
-
- // TODO:
- // Once a directory is selected, we need to display the various subdirectories used underneath:
- // * Flight data logs
- // * Parameters
-}
-
-void SettingsDialog::_bingMapRadioClicked(bool checked)
-{
- if (checked) {
- _flightMapSettings->setMapProvider("Bing");
- }
-}
-
-void SettingsDialog::_googleMapRadioClicked(bool checked)
-{
- if (checked) {
- _flightMapSettings->setMapProvider("Google");
- }
-}
-
-void SettingsDialog::_openMapRadioClicked(bool checked)
-{
- if (checked) {
- _flightMapSettings->setMapProvider("Open");
- }
}
diff --git a/src/ui/SettingsDialog.h b/src/ui/SettingsDialog.h
index 6878cff62941748c2e6c036111d036d04463a43c..cd7647103aae5c304a632c93257e935f9859d934 100644
--- a/src/ui/SettingsDialog.h
+++ b/src/ui/SettingsDialog.h
@@ -48,25 +48,14 @@ public:
ShowMavlink
};
- SettingsDialog(GAudioOutput* audioOuput, FlightMapSettings* flightMapSettings, QWidget *parent = 0, int showTab = ShowDefault, Qt::WindowFlags flags = Qt::Sheet);
+ SettingsDialog(QWidget *parent = 0, int showTab = ShowDefault, Qt::WindowFlags flags = Qt::Sheet);
~SettingsDialog();
-public slots:
- void styleChanged(int index);
-
private slots:
- void _deleteSettingsToggled(bool checked);
void _selectSavedFilesDirectory(void);
void _validateBeforeClose(void);
-
- void _bingMapRadioClicked(bool checked);
- void _googleMapRadioClicked(bool checked);
- void _openMapRadioClicked(bool checked);
private:
- MainWindow* _mainWindow;
- GAudioOutput* _audioOutput;
- FlightMapSettings* _flightMapSettings;
Ui::SettingsDialog* _ui;
};
diff --git a/src/ui/SettingsDialog.ui b/src/ui/SettingsDialog.ui
index 35bd7c87141645bd9280d95027184313bdc0b2df..d304d06bee1cfb4494e1c101570aa6b7650cf49a 100644
--- a/src/ui/SettingsDialog.ui
+++ b/src/ui/SettingsDialog.ui
@@ -36,184 +36,6 @@
General Settings
- -
-
-
-
- 0
- 0
-
-
-
- Mute all audio output
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Automatically reconnect last link on application startup
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Lowers all update rates to save battery power
-
-
- Enable low power mode
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Prompt to save Flight Data Log after each flight
-
-
-
- 0
- 0
-
-
-
-
- -
-
-
- Map Provider
-
-
-
-
-
-
- Bing
-
-
-
- -
-
-
- Google
-
-
-
- -
-
-
- Open Streets
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Style
-
-
- false
-
-
- false
-
-
-
- 8
-
-
- 8
-
-
-
-
-
- 0
-
-
- QLayout::SetDefaultConstraint
-
-
- 0
-
-
- 80
-
-
-
-
-
-
- 0
- 0
-
-
-
-
- 200
- 0
-
-
-
-
-
- Dark (for indoor use)
-
-
- -
-
- Light (for outdoor use)
-
-
-
-
-
-
-
-
-
-
@@ -281,37 +103,6 @@
- -
-
-
- Reset All Settings to Default
-
-
-
-
-
-
- Delete all saved settings on next boot
-
-
-
- -
-
-
-
- 11
-
-
-
- Note: You can also use --clear-settings as a command line option to accomplish this.
-
-
- true
-
-
-
-
-
-
diff --git a/src/ui/preferences/GeneralSettings.qml b/src/ui/preferences/GeneralSettings.qml
index dd3aef9d0f9e8bfb0faa2d37df6f70d52eec23ed..aea269f9fb82d90e9eff3d38b001f7ae3f9022ca 100644
--- a/src/ui/preferences/GeneralSettings.qml
+++ b/src/ui/preferences/GeneralSettings.qml
@@ -86,6 +86,7 @@ Rectangle {
//-----------------------------------------------------------------
//-- Prompt Save Log
QGCCheckBox {
+ id: promptSaveLog
text: "Prompt to save Flight Data Log after each flight"
checked: QGroundControl.isSaveLogPrompt
visible: !ScreenTools.isMobile
@@ -94,6 +95,17 @@ Rectangle {
}
}
//-----------------------------------------------------------------
+ //-- Prompt Save even if not armed
+ QGCCheckBox {
+ text: "Prompt to save Flight Data Log even if vehicle was not armed"
+ checked: QGroundControl.isSaveLogPromptNotArmed
+ visible: !ScreenTools.isMobile
+ enabled: promptSaveLog.checked
+ onClicked: {
+ QGroundControl.isSaveLogPromptNotArmed = checked
+ }
+ }
+ //-----------------------------------------------------------------
//-- Clear settings
QGCCheckBox {
id: clearCheck