11#include <QtCore/QCborMap>
12#include <QtCore/QSettings>
38 return settings.childKeys();
44 qgcApp()->showAppMessage(tr(
"This Pattern does not support Presets."));
50 qgcApp()->showAppMessage(tr(
"This Pattern does not support Presets."));
55 if (QGCCorePlugin::instance()->options()->surveyBuiltInPresetNames().contains(name)) {
56 qgcApp()->showAppMessage(tr(
"'%1' is a built-in preset which cannot be deleted.").arg(name));
63 settings.remove(name);
72 settings.setValue(name, QCborMap::fromJsonObject(presetObject).toCborValue().toVariant());
77 QString savePath = SettingsManager::instance()->appSettings()->missionSavePath();
78 QDir saveDir(savePath);
80 QString fileName = saveDir.absoluteFilePath(name);
81 fileName.append(
".json");
82 QFile jsonFile(fileName);
84 if (!jsonFile.open(QIODevice::WriteOnly)) {
85 qDebug() <<
"Couldn't open .json file.";
88 qDebug() <<
"Saving survey preset to JSON";
89 auto jsonDoc = QJsonDocument(jsonObj);
90 jsonFile.write(jsonDoc.toJson());
101 return QCborValue::fromVariant(settings.value(name)).toMap().toJsonObject();
void _savePresetJson(const QString &name, QJsonObject &presetObject)
void presetNamesChanged(void)
void deletePreset(const QString &name)
QJsonObject _loadPresetJson(const QString &name)
void _appendFlightPathSegment(FlightPathSegment::SegmentType segmentType, const QGeoCoordinate &coord1, double coord1AMSLAlt, const QGeoCoordinate &coord2, double coord2AMSLAlt)
QmlObjectListModel _flightPathSegments
virtual void loadPreset(const QString &name)
int _cTerrainCollisionSegments
virtual QString presetsSettingsGroup(void)
void maxAMSLAltitudeChanged(void)
const ComplexMissionItem & operator=(const ComplexMissionItem &other)
virtual QStringList presetNames(void)
virtual bool terrainCollision(void) const
void minAMSLAltitudeChanged(void)
virtual void savePreset(const QString &name)
ComplexMissionItem(PlanMasterController *masterController, bool flyView)
void terrainCollisionChanged(bool terrainCollision)
virtual void addKMLVisuals(KMLPlanDomDocument &domDocument)
virtual void _segmentTerrainCollisionChanged(bool terrainCollision)
static constexpr const char * _presetSettingsKey
void terrainCollisionChanged(bool terrainCollision)
const QVariantList & amslTerrainHeights(void) const
void amslTerrainHeightsChanged(void)
bool terrainCollision(void) const
Used to convert a Plan to a KML document.
void recalcTerrainProfile(void)
void plannedHomePositionChanged(QGeoCoordinate plannedHomePosition)
Master controller for mission, fence, rally.
void append(QObject *object)
Caller maintains responsibility for object ownership and deletion.
void _amslExitAltChanged(void)
MissionController * _missionController
void _amslEntryAltChanged(void)
const VisualMissionItem & operator=(const VisualMissionItem &other)