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 {
id: openLogFile id: openLogFile
title: qsTr("Select log file") title: qsTr("Select log file")
folder: shortcuts.home 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" defaultSuffix: "ulg"
selectExisting: true selectExisting: true
onAccepted: { onAccepted: {

32
src/MissionManager/PlanMasterController.cc

@ -370,7 +370,19 @@ void PlanMasterController::loadFromFile(const QString& filename)
} }
bool success = false; 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; QJsonDocument jsonDoc;
QByteArray bytes = file.readAll(); QByteArray bytes = file.readAll();
@ -408,20 +420,6 @@ void PlanMasterController::loadFromFile(const QString& filename)
qgcApp()->toolbox()->corePlugin()->postLoadFromJson(this, json); qgcApp()->toolbox()->corePlugin()->postLoadFromJson(this, json);
success = true; 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){ if(success){
@ -584,7 +582,7 @@ QStringList PlanMasterController::loadNameFilters(void) const
QStringList filters; QStringList filters;
filters << tr("Supported types (*.%1 *.%2 *.%3 *.%4)").arg(AppSettings::planFileExtension).arg(AppSettings::missionFileExtension).arg(AppSettings::waypointsFileExtension).arg("txt") << 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; return filters;
} }
@ -593,7 +591,7 @@ QStringList PlanMasterController::saveNameFilters(void) const
{ {
QStringList filters; QStringList filters;
filters << tr("Plan Files (*.%1)").arg(fileExtension()) << tr("All Files (*.*)"); filters << tr("Plan Files (*.%1)").arg(fileExtension()) << tr("All Files (*)");
return filters; return filters;
} }

2
src/QmlControls/ParameterEditor.qml

@ -281,7 +281,7 @@ Item {
QGCFileDialog { QGCFileDialog {
id: fileDialog id: fileDialog
folder: _appSettings.parameterSavePath 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: { onAcceptedForSave: {
controller.saveToFile(file) controller.saveToFile(file)

Loading…
Cancel
Save