From 65ec484a11c93cd3d7bc87b9703b5df04cf246b9 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Mon, 30 Apr 2018 01:14:44 -0700 Subject: [PATCH] Different visuals for Planne Home in Plan View --- src/MissionManager/MissionController.cc | 6 +++--- src/MissionManager/MissionSettingsItem.cc | 8 +++++++- src/MissionManager/MissionSettingsItem.h | 10 +++++----- src/MissionManager/MissionSettingsTest.cc | 2 +- src/PlanView/MissionItemEditor.qml | 2 +- src/QmlControls/MissionItemIndexLabel.qml | 2 +- 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc index bc774f7f4..d8fd6782f 100644 --- a/src/MissionManager/MissionController.cc +++ b/src/MissionManager/MissionController.cc @@ -640,7 +640,7 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec if (!JsonHelper::loadGeoCoordinate(json[_jsonPlannedHomePositionKey], true /* altitudeRequired */, homeCoordinate, errorString)) { return false; } - MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, visualItems); + MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, _editMode, visualItems); settingsItem->setCoordinate(homeCoordinate); visualItems->insert(0, settingsItem); qCDebug(MissionControllerLog) << "plannedHomePosition" << homeCoordinate; @@ -724,7 +724,7 @@ bool MissionController::_loadJsonMissionFileV2(const QJsonObject& json, QmlObjec visualItems->append(corridorItem); } else if (complexItemType == MissionSettingsItem::jsonComplexItemTypeValue) { qCDebug(MissionControllerLog) << "Loading Mission Settings: nextSequenceNumber" << nextSequenceNumber; - MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, visualItems); + MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, _editMode, visualItems); if (!settingsItem->load(itemObject, nextSequenceNumber++, errorString)) { return false; } @@ -1717,7 +1717,7 @@ double MissionController::_normalizeLon(double lon) /// Add the Mission Settings complex item to the front of the items void MissionController::_addMissionSettings(QmlObjectListModel* visualItems, bool addToCenter) { - MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, visualItems); + MissionSettingsItem* settingsItem = new MissionSettingsItem(_controllerVehicle, _editMode, visualItems); qCDebug(MissionControllerLog) << "_addMissionSettings addToCenter" << addToCenter; diff --git a/src/MissionManager/MissionSettingsItem.cc b/src/MissionManager/MissionSettingsItem.cc index abe14a452..c0c482c61 100644 --- a/src/MissionManager/MissionSettingsItem.cc +++ b/src/MissionManager/MissionSettingsItem.cc @@ -27,8 +27,9 @@ const char* MissionSettingsItem::_plannedHomePositionAltitudeName = "PlannedHome QMap MissionSettingsItem::_metaDataMap; -MissionSettingsItem::MissionSettingsItem(Vehicle* vehicle, QObject* parent) +MissionSettingsItem::MissionSettingsItem(Vehicle* vehicle, bool planView, QObject* parent) : ComplexMissionItem (vehicle, parent) + , _planView (planView) , _plannedHomePositionAltitudeFact (0, _plannedHomePositionAltitudeName, FactMetaData::valueTypeDouble) , _plannedHomePositionFromVehicle (false) , _missionEndRTL (false) @@ -299,3 +300,8 @@ void MissionSettingsItem::_setHomeAltFromTerrain(double terrainAltitude) _plannedHomePositionAltitudeFact.setRawValue(terrainAltitude); } } + +QString MissionSettingsItem::abbreviation(void) const +{ + return _planView ? tr("Planned Home") : tr("H"); +} diff --git a/src/MissionManager/MissionSettingsItem.h b/src/MissionManager/MissionSettingsItem.h index d20410917..d4935d1db 100644 --- a/src/MissionManager/MissionSettingsItem.h +++ b/src/MissionManager/MissionSettingsItem.h @@ -24,7 +24,7 @@ class MissionSettingsItem : public ComplexMissionItem Q_OBJECT public: - MissionSettingsItem(Vehicle* vehicle, QObject* parent = NULL); + MissionSettingsItem(Vehicle* vehicle, bool planView, QObject* parent = NULL); Q_PROPERTY(Fact* plannedHomePositionAltitude READ plannedHomePositionAltitude CONSTANT) Q_PROPERTY(bool missionEndRTL READ missionEndRTL WRITE setMissionEndRTL NOTIFY missionEndRTLChanged) @@ -68,7 +68,7 @@ public: bool specifiesAltitudeOnly (void) const final { return false; } QString commandDescription (void) const final { return "Mission Start"; } QString commandName (void) const final { return "Mission Start"; } - QString abbreviation (void) const final { return "H"; } + QString abbreviation (void) const final; QGeoCoordinate coordinate (void) const final { return _plannedHomePositionCoordinate; } QGeoCoordinate exitCoordinate (void) const final { return _plannedHomePositionCoordinate; } int sequenceNumber (void) const final { return _sequenceNumber; } @@ -101,15 +101,15 @@ private slots: void _setHomeAltFromTerrain (double terrainAltitude); private: + bool _planView; QGeoCoordinate _plannedHomePositionCoordinate; // Does not include altitude Fact _plannedHomePositionAltitudeFact; bool _plannedHomePositionFromVehicle; bool _missionEndRTL; CameraSection _cameraSection; SpeedSection _speedSection; - - int _sequenceNumber; - bool _dirty; + int _sequenceNumber; + bool _dirty; static QMap _metaDataMap; diff --git a/src/MissionManager/MissionSettingsTest.cc b/src/MissionManager/MissionSettingsTest.cc index 26b3a342e..df6cd8f5e 100644 --- a/src/MissionManager/MissionSettingsTest.cc +++ b/src/MissionManager/MissionSettingsTest.cc @@ -22,7 +22,7 @@ void MissionSettingsTest::init(void) { VisualMissionItemTest::init(); - _settingsItem = new MissionSettingsItem(_offlineVehicle, this); + _settingsItem = new MissionSettingsItem(_offlineVehicle, true /* planView */, this); } void MissionSettingsTest::cleanup(void) diff --git a/src/PlanView/MissionItemEditor.qml b/src/PlanView/MissionItemEditor.qml index 18083de52..26dee4bed 100644 --- a/src/PlanView/MissionItemEditor.qml +++ b/src/PlanView/MissionItemEditor.qml @@ -76,7 +76,7 @@ Rectangle { anchors.verticalCenter: commandPicker.verticalCenter anchors.leftMargin: _margin anchors.left: parent.left - text: missionItem.homePosition ? "H" : missionItem.sequenceNumber + text: missionItem.homePosition ? "P" : missionItem.sequenceNumber color: _outerTextColor } diff --git a/src/QmlControls/MissionItemIndexLabel.qml b/src/QmlControls/MissionItemIndexLabel.qml index 5b0e662f5..ff88b1f56 100644 --- a/src/QmlControls/MissionItemIndexLabel.qml +++ b/src/QmlControls/MissionItemIndexLabel.qml @@ -33,7 +33,7 @@ Canvas { property real _gimbalRadians: degreesToRadians(vehicleYaw + gimbalYaw - 90) property real _labelMargin: 2 property real _labelRadius: _indicatorRadius + _labelMargin - property string _label: index === 0 ? "" : label + property string _label: label.length > 1 ? label : "" property string _index: index === 0 || index === -1 ? label.charAt(0) : index onColorChanged: requestPaint() -- 2.22.0