diff --git a/src/ui/QGCSettingsWidget.cc b/src/ui/QGCSettingsWidget.cc index 0e1d56b7e6a92e3dddd560f7ef80c36ccc9657eb..fa61cc75db88499ca2e3299ef212940e594f8ddb 100644 --- a/src/ui/QGCSettingsWidget.cc +++ b/src/ui/QGCSettingsWidget.cc @@ -35,6 +35,9 @@ QGCSettingsWidget::QGCSettingsWidget(QWidget *parent, Qt::WindowFlags flags) : this->window()->setWindowTitle(tr("QGroundControl Settings")); + // Settings reset + connect(ui->resetSettingsButton, SIGNAL(clicked()), this, SLOT(resetSettings())); + // Audio preferences ui->audioMuteCheckBox->setChecked(GAudioOutput::instance()->isMuted()); connect(ui->audioMuteCheckBox, SIGNAL(toggled(bool)), GAudioOutput::instance(), SLOT(mute(bool))); @@ -193,3 +196,13 @@ void QGCSettingsWidget::selectCustomMode(int mode) MainWindow::instance()->setCustomMode(static_cast(ui->customModeComboBox->itemData(mode).toInt())); MainWindow::instance()->showInfoMessage(tr("Please restart QGroundControl"), tr("The optimization selection was changed. The application needs to be closed and restarted to put all optimizations into effect.")); } + +void QGCSettingsWidget::resetSettings() +{ + QSettings settings; + settings.sync(); + settings.clear(); + // Write current application version + settings.setValue("QGC_APPLICATION_VERSION", QGC_APPLICATION_VERSION); + settings.sync(); +} diff --git a/src/ui/QGCSettingsWidget.h b/src/ui/QGCSettingsWidget.h index e77bbec17002a4b2a1f882995a87e15c5a7e6158..b9fa70d7eda4157306f252281e5f7a11af39450c 100644 --- a/src/ui/QGCSettingsWidget.h +++ b/src/ui/QGCSettingsWidget.h @@ -23,6 +23,7 @@ public slots: void setDefaultStyle(); void selectStylesheet(); void selectCustomMode(int mode); + void resetSettings(); private: MainWindow* mainWindow; diff --git a/src/ui/QGCSettingsWidget.ui b/src/ui/QGCSettingsWidget.ui index e5ba63d43a0671c5d634d15cde5cc39397168252..4b0536d7dad8c545da6337642e10c7ba1d26f879 100644 --- a/src/ui/QGCSettingsWidget.ui +++ b/src/ui/QGCSettingsWidget.ui @@ -6,8 +6,8 @@ 0 0 - 528 - 455 + 534 + 517 @@ -159,11 +159,34 @@ 20 - 0 + 20 + + + + Danger Zone + + + + + + Delete all settings, layouts and restore defaults + + + + + + + Reset Settings + + + + + +