Commit 741ec708 authored by Valentin Platzgummer's avatar Valentin Platzgummer

editing loading of MeasurementComplexItem

parent fc4a64de
...@@ -143,35 +143,47 @@ bool MeasurementComplexItem::load(const QJsonObject &complexObject, ...@@ -143,35 +143,47 @@ bool MeasurementComplexItem::load(const QJsonObject &complexObject,
return false; return false;
} }
QList<JsonHelper::KeyValidateInfo> keyInfoList = { {
{VisualMissionItem::jsonTypeKey, QJsonValue::String, true}, QList<JsonHelper::KeyValidateInfo> keyInfoList = {
{ComplexMissionItem::jsonComplexItemTypeKey, QJsonValue::String, true}, {VisualMissionItem::jsonTypeKey, QJsonValue::String, true},
{variantName, QJsonValue::Double, false}, {ComplexMissionItem::jsonComplexItemTypeKey, QJsonValue::String, true},
{altitudeName, QJsonValue::Double, true}, };
};
if (!JsonHelper::validateKeys(complexObject, keyInfoList, errorString)) {
if (!JsonHelper::validateKeys(complexObject, keyInfoList, errorString)) { return false;
return false; }
}
QString itemType = complexObject[VisualMissionItem::jsonTypeKey].toString(); QString itemType = complexObject[VisualMissionItem::jsonTypeKey].toString();
QString complexType = QString complexType =
complexObject[ComplexMissionItem::jsonComplexItemTypeKey].toString(); complexObject[ComplexMissionItem::jsonComplexItemTypeKey].toString();
if (itemType != VisualMissionItem::jsonTypeComplexItemValue || if (itemType != VisualMissionItem::jsonTypeComplexItemValue ||
complexType != jsonComplexItemTypeValue) { complexType != jsonComplexItemTypeValue) {
errorString = tr("%1 does not support loading this complex mission item " errorString = tr("%1 does not support loading this complex mission item "
"type: %2:%3") "type: %2:%3")
.arg(qgcApp()->applicationName()) .arg(qgcApp()->applicationName())
.arg(itemType) .arg(itemType)
.arg(complexType); .arg(complexType);
return false; return false;
}
} }
setSequenceNumber(sequenceNumber); setSequenceNumber(sequenceNumber);
static_assert(false, "continue here"); // load variant
_variant.setRawValue(complexObject[variantName].toInt()); if (complexObject.contains(variantName) &&
_altitude.setRawValue(complexObject[altitudeName].toDouble()); complexObject[variantName].isDouble()) {
_variant.setRawValue(complexObject[variantName].toInt());
} else {
errorString.append(tr("Not able to load route variant number."));
}
// load altitude
if (complexObject.contains(altitudeName) &&
complexObject[altitudeName].isDouble()) {
_altitude.setRawValue(complexObject[altitudeName].toDouble());
} else {
errorString.append(tr("Not able to load altitude."));
}
return true; return true;
} }
......
...@@ -64,10 +64,10 @@ size_t TileData::size() const { ...@@ -64,10 +64,10 @@ size_t TileData::size() const {
} }
const char *MeasurementArea::settingsGroup = "MeasurementArea"; const char *MeasurementArea::settingsGroup = "MeasurementArea";
const char *MeasurementArea::tileHeightKey = "TileHeight"; const char *tileHeightKey = "TileHeight";
const char *MeasurementArea::tileWidthName = "TileWidth"; const char *tileWidthName = "TileWidth";
const char *MeasurementArea::minTileAreaKey = "MinTileAreaPercent"; const char *minTileAreaKey = "MinTileAreaPercent";
const char *MeasurementArea::showTilesKey = "ShowTiles"; const char *showTilesKey = "ShowTiles";
const char *MeasurementArea::name = "Measurement Area"; const char *MeasurementArea::name = "Measurement Area";
MeasurementArea::MeasurementArea(QObject *parent) MeasurementArea::MeasurementArea(QObject *parent)
...@@ -186,12 +186,6 @@ int MeasurementArea::maxTiles() const { return SNAKE_MAX_TILES; } ...@@ -186,12 +186,6 @@ int MeasurementArea::maxTiles() const { return SNAKE_MAX_TILES; }
bool MeasurementArea::ready() const { return this->_state == STATE::IDLE; } bool MeasurementArea::ready() const { return this->_state == STATE::IDLE; }
const char *MeasurementArea::getTileWidthName() { return tileWidthName; }
void MeasurementArea::setTileWidthName(const char *value) {
tileWidthName = value;
}
bool MeasurementArea::saveToJson(QJsonObject &json) { bool MeasurementArea::saveToJson(QJsonObject &json) {
if (ready()) { if (ready()) {
if (this->GeoArea::saveToJson(json)) { if (this->GeoArea::saveToJson(json)) {
......
...@@ -70,9 +70,6 @@ public: ...@@ -70,9 +70,6 @@ public:
static const char *settingsGroup; static const char *settingsGroup;
static const char *name; static const char *name;
static const char *getTileWidthName();
static void setTileWidthName(const char *value);
signals: signals:
void tilesChanged(); void tilesChanged();
void maxTilesChanged(); void maxTilesChanged();
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
QGC_LOGGING_CATEGORY(SafeAreaLog, "SafeAreaLog") QGC_LOGGING_CATEGORY(SafeAreaLog, "SafeAreaLog")
const char *SafeArea::name = "Safe Area"; const char *SafeArea::name = "Safe Area";
const char *SafeArea::depotKey = "Depot Point"; const char *depotKey = "Depot Point";
SafeArea::SafeArea(QObject *parent) : GeoArea(parent) { init(); } SafeArea::SafeArea(QObject *parent) : GeoArea(parent) { init(); }
...@@ -107,8 +107,7 @@ bool SafeArea::loadFromJson(const QJsonObject &json, QString &errorString) { ...@@ -107,8 +107,7 @@ bool SafeArea::loadFromJson(const QJsonObject &json, QString &errorString) {
QList<JsonHelper::KeyValidateInfo> versionKeyInfoList = { QList<JsonHelper::KeyValidateInfo> versionKeyInfoList = {
{depotKey, QJsonValue::Array, true}, {depotKey, QJsonValue::Array, true},
}; };
if (!JsonHelper::validateKeys(complexObject, versionKeyInfoList, if (!JsonHelper::validateKeys(json, versionKeyInfoList, errorString)) {
errorString)) {
returnValue = false; returnValue = false;
} else { } else {
const auto &jsonDepot = json[depotKey]; const auto &jsonDepot = json[depotKey];
......
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