diff --git a/src/MissionManager/ComplexMissionItem.cc b/src/MissionManager/ComplexMissionItem.cc index c525a28..9cb0898 100644 --- a/src/MissionManager/ComplexMissionItem.cc +++ b/src/MissionManager/ComplexMissionItem.cc @@ -20,6 +20,8 @@ const char* ComplexMissionItem::_presetSettingsKey = "_presets"; ComplexMissionItem::ComplexMissionItem(Vehicle* vehicle, bool flyView, QObject* parent) : VisualMissionItem (vehicle, flyView, parent) + , _toolbox(qgcApp()->toolbox()) + , _settingsManager(_toolbox->settingsManager()) { } @@ -74,6 +76,26 @@ void ComplexMissionItem::_savePresetJson(const QString& name, QJsonObject& prese settings.beginGroup(presetsSettingsGroup()); settings.beginGroup(_presetSettingsKey); settings.setValue(name, QJsonDocument(presetObject).toBinaryData()); + + // Use this to save a survey preset as a JSON file to be included in the build + // as a built-in survey preset that cannot be deleted. + #if 0 + QString savePath = _settingsManager->appSettings()->missionSavePath(); + QDir saveDir(savePath); + + QString fileName = saveDir.absoluteFilePath(name); + fileName.append(".json"); + QFile jsonFile(fileName); + + if (!jsonFile.open(QIODevice::WriteOnly)) { + qDebug() << "Couldn't open .json file."; + } + + qDebug() << "Saving survey preset to JSON"; + auto jsonDoc = QJsonDocument(jsonObj); + jsonFile.write(jsonDoc.toJson()); + #endif + emit presetNamesChanged(); } diff --git a/src/MissionManager/ComplexMissionItem.h b/src/MissionManager/ComplexMissionItem.h index 53b0ba6..259d011 100644 --- a/src/MissionManager/ComplexMissionItem.h +++ b/src/MissionManager/ComplexMissionItem.h @@ -15,6 +15,10 @@ #include +#include +#include + + class ComplexMissionItem : public VisualMissionItem { Q_OBJECT @@ -87,6 +91,9 @@ protected: QMap _metaDataMap; static const char* _presetSettingsKey; + + QGCToolbox* _toolbox; + SettingsManager* _settingsManager; }; #endif