Browse Source

Fix plan load fallback for unknown file type (#9165)

* Fix All File wildcard to really be all files

* If unknown file extension attempt json load
QGC4.4
Don Gagne 5 years ago committed by GitHub
parent
commit
2aedf26e36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/AnalyzeView/GeoTagPage.qml
  2. 32
      src/MissionManager/PlanMasterController.cc
  3. 2
      src/QmlControls/ParameterEditor.qml

2
src/AnalyzeView/GeoTagPage.qml

@ -75,7 +75,7 @@ AnalyzePage { @@ -75,7 +75,7 @@ AnalyzePage {
id: openLogFile
title: qsTr("Select log file")
folder: shortcuts.home
nameFilters: [qsTr("ULog file (*.ulg)"), qsTr("PX4 log file (*.px4log)"), qsTr("All Files (*.*)")]
nameFilters: [qsTr("ULog file (*.ulg)"), qsTr("PX4 log file (*.px4log)"), qsTr("All Files (*)")]
defaultSuffix: "ulg"
selectExisting: true
onAccepted: {

32
src/MissionManager/PlanMasterController.cc

@ -370,7 +370,19 @@ void PlanMasterController::loadFromFile(const QString& filename) @@ -370,7 +370,19 @@ void PlanMasterController::loadFromFile(const QString& filename)
}
bool success = false;
if(fileInfo.suffix() == AppSettings::planFileExtension) {
if (fileInfo.suffix() == AppSettings::missionFileExtension) {
if (!_missionController.loadJsonFile(file, errorString)) {
qgcApp()->showAppMessage(errorMessage.arg(errorString));
} else {
success = true;
}
} else if (fileInfo.suffix() == AppSettings::waypointsFileExtension || fileInfo.suffix() == QStringLiteral("txt")) {
if (!_missionController.loadTextFile(file, errorString)) {
qgcApp()->showAppMessage(errorMessage.arg(errorString));
} else {
success = true;
}
} else {
QJsonDocument jsonDoc;
QByteArray bytes = file.readAll();
@ -408,20 +420,6 @@ void PlanMasterController::loadFromFile(const QString& filename) @@ -408,20 +420,6 @@ void PlanMasterController::loadFromFile(const QString& filename)
qgcApp()->toolbox()->corePlugin()->postLoadFromJson(this, json);
success = true;
}
} else if (fileInfo.suffix() == AppSettings::missionFileExtension) {
if (!_missionController.loadJsonFile(file, errorString)) {
qgcApp()->showAppMessage(errorMessage.arg(errorString));
} else {
success = true;
}
} else if (fileInfo.suffix() == AppSettings::waypointsFileExtension || fileInfo.suffix() == QStringLiteral("txt")) {
if (!_missionController.loadTextFile(file, errorString)) {
qgcApp()->showAppMessage(errorMessage.arg(errorString));
} else {
success = true;
}
} else {
//-- TODO: What then?
}
if(success){
@ -584,7 +582,7 @@ QStringList PlanMasterController::loadNameFilters(void) const @@ -584,7 +582,7 @@ QStringList PlanMasterController::loadNameFilters(void) const
QStringList filters;
filters << tr("Supported types (*.%1 *.%2 *.%3 *.%4)").arg(AppSettings::planFileExtension).arg(AppSettings::missionFileExtension).arg(AppSettings::waypointsFileExtension).arg("txt") <<
tr("All Files (*.*)");
tr("All Files (*)");
return filters;
}
@ -593,7 +591,7 @@ QStringList PlanMasterController::saveNameFilters(void) const @@ -593,7 +591,7 @@ QStringList PlanMasterController::saveNameFilters(void) const
{
QStringList filters;
filters << tr("Plan Files (*.%1)").arg(fileExtension()) << tr("All Files (*.*)");
filters << tr("Plan Files (*.%1)").arg(fileExtension()) << tr("All Files (*)");
return filters;
}

2
src/QmlControls/ParameterEditor.qml

@ -281,7 +281,7 @@ Item { @@ -281,7 +281,7 @@ Item {
QGCFileDialog {
id: fileDialog
folder: _appSettings.parameterSavePath
nameFilters: [ qsTr("Parameter Files (*.%1)").arg(_appSettings.parameterFileExtension) , qsTr("All Files (*.*)") ]
nameFilters: [ qsTr("Parameter Files (*.%1)").arg(_appSettings.parameterFileExtension) , qsTr("All Files (*)") ]
onAcceptedForSave: {
controller.saveToFile(file)

Loading…
Cancel
Save