Commit 71ec36ee authored by Don Gagne's avatar Don Gagne

Validate saves files location

Also check for writable settings in unit test runes
parent bc71d49d
...@@ -217,7 +217,10 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) : ...@@ -217,7 +217,10 @@ QGCApplication::QGCApplication(int &argc, char* argv[], bool unitTesting) :
ParseCmdLineOptions(argc, argv, rgCmdLineOptions, sizeof(rgCmdLineOptions)/sizeof(rgCmdLineOptions[0]), false); ParseCmdLineOptions(argc, argv, rgCmdLineOptions, sizeof(rgCmdLineOptions)/sizeof(rgCmdLineOptions[0]), false);
QSettings settings; QSettings settings;
#ifdef UNITTEST_BUILD
qDebug() << "Settings location" << settings.fileName();
Q_ASSERT(settings.isWritable());
#endif
// The setting will delete all settings on this boot // The setting will delete all settings on this boot
fClearSettingsOptions |= settings.contains(_deleteAllSettingsKey); fClearSettingsOptions |= settings.contains(_deleteAllSettingsKey);
...@@ -269,8 +272,13 @@ void QGCApplication::_initCommon(void) ...@@ -269,8 +272,13 @@ void QGCApplication::_initCommon(void)
QString savedFilesLocation; QString savedFilesLocation;
if (settings.contains(_savedFilesLocationKey)) { if (settings.contains(_savedFilesLocationKey)) {
savedFilesLocation = settings.value(_savedFilesLocationKey).toString(); savedFilesLocation = settings.value(_savedFilesLocationKey).toString();
} else { if (!validatePossibleSavedFilesLocation(savedFilesLocation)) {
// No location set. Create a default one in Documents standard location. savedFilesLocation.clear();
}
}
if (savedFilesLocation.isEmpty()) {
// No location set (or invalid). Create a default one in Documents standard location.
QString documentsLocation = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); QString documentsLocation = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation);
...@@ -288,6 +296,7 @@ void QGCApplication::_initCommon(void) ...@@ -288,6 +296,7 @@ void QGCApplication::_initCommon(void)
savedFilesLocation.clear(); savedFilesLocation.clear();
} }
} }
qDebug() << "Saved files location" << savedFilesLocation;
settings.setValue(_savedFilesLocationKey, savedFilesLocation); settings.setValue(_savedFilesLocationKey, savedFilesLocation);
// Load application font // Load application font
...@@ -401,7 +410,6 @@ QString QGCApplication::savedFilesLocation(void) ...@@ -401,7 +410,6 @@ QString QGCApplication::savedFilesLocation(void)
{ {
QSettings settings; QSettings settings;
Q_ASSERT(settings.contains(_savedFilesLocationKey));
return settings.value(_savedFilesLocationKey).toString(); return settings.value(_savedFilesLocationKey).toString();
} }
......
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