Commit bb5ad4c1 authored by Don Gagne's avatar Don Gagne

Added --clear-settings command line option

Clears the persisted settings for the QGC
parent 6b2dc5d6
...@@ -47,6 +47,7 @@ This file is part of the QGROUNDCONTROL project ...@@ -47,6 +47,7 @@ This file is part of the QGROUNDCONTROL project
#include "MainWindow.h" #include "MainWindow.h"
#include "QGCWelcomeMainWindow.h" #include "QGCWelcomeMainWindow.h"
#include "GAudioOutput.h" #include "GAudioOutput.h"
#include "CmdLineOptParser.h"
#ifdef QGC_RTLAB_ENABLED #ifdef QGC_RTLAB_ENABLED
#include "OpalLink.h" #include "OpalLink.h"
...@@ -83,11 +84,24 @@ QGCCore::QGCCore(bool firstStart, int &argc, char* argv[]) : QApplication(argc, ...@@ -83,11 +84,24 @@ QGCCore::QGCCore(bool firstStart, int &argc, char* argv[]) : QApplication(argc,
// Set settings format // Set settings format
QSettings::setDefaultFormat(QSettings::IniFormat); QSettings::setDefaultFormat(QSettings::IniFormat);
// Check application settings // Parse command line options
// clear them if they mismatch
// QGC then falls back to default bool fClearSettingsOptions = false; // Clear stored settings
CmdLineOpt_t rgCmdLineOptions[] = {
{ "--clear-settings", &fClearSettingsOptions },
// Add additional command line option flags here
};
ParseCmdLineOptions(argc, argv, rgCmdLineOptions, sizeof(rgCmdLineOptions)/sizeof(rgCmdLineOptions[0]), false);
QSettings settings; QSettings settings;
if (fClearSettingsOptions) {
// User requested settings to be cleared on command line
settings.clear();
}
// Show user an upgrade message if QGC got upgraded (see code below, after splash screen) // Show user an upgrade message if QGC got upgraded (see code below, after splash screen)
bool upgraded = false; bool upgraded = false;
enum MainWindow::CUSTOM_MODE mode = MainWindow::CUSTOM_MODE_NONE; enum MainWindow::CUSTOM_MODE mode = MainWindow::CUSTOM_MODE_NONE;
...@@ -98,7 +112,7 @@ QGCCore::QGCCore(bool firstStart, int &argc, char* argv[]) : QApplication(argc, ...@@ -98,7 +112,7 @@ QGCCore::QGCCore(bool firstStart, int &argc, char* argv[]) : QApplication(argc,
if (qgcVersion != QGC_APPLICATION_VERSION) if (qgcVersion != QGC_APPLICATION_VERSION)
{ {
lastApplicationVersion = qgcVersion; lastApplicationVersion = qgcVersion;
settings.clear(); settings.clear(); // Clear settings from different version
// Write current application version // Write current application version
settings.setValue("QGC_APPLICATION_VERSION", QGC_APPLICATION_VERSION); settings.setValue("QGC_APPLICATION_VERSION", QGC_APPLICATION_VERSION);
upgraded = true; upgraded = true;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment