diff --git a/src/FlightDisplay/FlightDisplayView.qml b/src/FlightDisplay/FlightDisplayView.qml index efe9ec0ab1a9f8abbae56606924fc7349a186662..edd47a0f8fee53f8b486d6a465ba3663e1f29a2c 100644 --- a/src/FlightDisplay/FlightDisplayView.qml +++ b/src/FlightDisplay/FlightDisplayView.qml @@ -512,6 +512,22 @@ QGCView { FlightDisplayViewWidgets { id: flightDisplayViewWidgets +<<<<<<< HEAD +======= + z: _panel.z + 4 + height: ScreenTools.availableHeight - (singleMultiSelector.visible ? singleMultiSelector.height + _margins : 0) + anchors.left: parent.left + anchors.right: altitudeSlider.visible ? altitudeSlider.left : parent.right + anchors.bottom: parent.bottom + qgcView: root + useLightColors: isBackgroundDark + missionController: _missionController + visible: singleVehicleView.checked && !QGroundControl.videoManager.fullScreen + } + + FlightDisplayWimaMenu { + id: wimaMenu +>>>>>>> ea04fc44a33fa7111877cdbdc2644ae4a9db9d2c z: _panel.z + 4 height: ScreenTools.availableHeight - (singleMultiSelector.visible ? singleMultiSelector.height + _margins : 0) anchors.left: parent.left diff --git a/src/PlanView/CircularSurveyItemEditor.qml b/src/PlanView/CircularSurveyItemEditor.qml index 4e2efaeb5be28ba49460b9f03fcceed1914bd6b5..a5e30c37aaf42520de2186fc2a3881d8dda723c0 100644 --- a/src/PlanView/CircularSurveyItemEditor.qml +++ b/src/PlanView/CircularSurveyItemEditor.qml @@ -151,6 +151,11 @@ Rectangle { spacing: _margin visible: transectsHeader.checked + QGCButton { + text: qsTr("Reset Reference") + onClicked: missionItem.resetReference(); + } + QGCButton { text: qsTr("Rotate Entry Point") onClicked: missionItem.rotateEntryPoint(); diff --git a/src/Wima/CircularSurveyComplexItem.cc b/src/Wima/CircularSurveyComplexItem.cc index 2af3f9b671faac577e175e8243c28b14ae80b646..c8a6616fdb54d5e629dd9551a12872cd38216b2b 100644 --- a/src/Wima/CircularSurveyComplexItem.cc +++ b/src/Wima/CircularSurveyComplexItem.cc @@ -34,13 +34,17 @@ CircularSurveyComplexItem::CircularSurveyComplexItem(Vehicle *vehicle, bool flyV } +void CircularSurveyComplexItem::resetReference() +{ + setRefPoint(_surveyAreaPolygon.center()); +} + void CircularSurveyComplexItem::setRefPoint(const QGeoCoordinate &refPt) { if (refPt != _referencePoint){ _referencePoint = refPt; emit refPointChanged(); - //qDebug() << _referencePoint.toString(); } } diff --git a/src/Wima/CircularSurveyComplexItem.h b/src/Wima/CircularSurveyComplexItem.h index 593ce63b636ed199d5849e19fcef3c55c660999e..920b172f6b8ca466acd05d8c604a9fe049012c17 100644 --- a/src/Wima/CircularSurveyComplexItem.h +++ b/src/Wima/CircularSurveyComplexItem.h @@ -24,6 +24,8 @@ public: Q_PROPERTY(Fact* transectMinLength READ transectMinLength CONSTANT) Q_PROPERTY(bool autoGenerated READ autoGenerated NOTIFY autoGeneratedChanged) + Q_INVOKABLE void resetReference(void); + // Property setters void setRefPoint(const QGeoCoordinate &refPt); // Set this to true if survey was automatically generated, prevents initialisation from gui. diff --git a/src/Wima/WimaController.cc b/src/Wima/WimaController.cc index 1124b98bddefa91a5094957725fcdd8d144f6dcb..f5da60a8c1e988ff6c5218318d8e9fc097ae6334 100644 --- a/src/Wima/WimaController.cc +++ b/src/Wima/WimaController.cc @@ -343,9 +343,15 @@ void WimaController::containerDataValidChanged(bool valid) _missionController->insertSimpleMissionItem(*missionItem, missionControllerVisualItems->count()); if ( missionItem->command() == MAV_CMD_NAV_VTOL_LAND +<<<<<<< HEAD || missionItem->command() == MAV_CMD_NAV_LAND) break; +======= + || missionItem->command() == MAV_CMD_NAV_LAND) + _missionController->insertSimpleMissionItem(*missionItem, missionControllerVisualItems->count()); + break; +>>>>>>> ea04fc44a33fa7111877cdbdc2644ae4a9db9d2c } @@ -392,9 +398,14 @@ void WimaController::containerDataValidChanged(bool valid) void WimaController::updateCurrentMissionItems() { +<<<<<<< HEAD if (_missionItems.count() < 1 || !_localPlanDataValid) return; +======= + if (_missionItems.count() < 0 || !_localPlanDataValid) + return; +>>>>>>> ea04fc44a33fa7111877cdbdc2644ae4a9db9d2c int numberWaypoints = 30; // the number of waypoints currentMissionItems must not exceed int overlapping = 2; // number of overlapping waypoints of consecutive mission phases diff --git a/src/Wima/WimaPlaner.cc b/src/Wima/WimaPlaner.cc index bb4daaa55ae8fe40d513704fb32d181fba064ae6..f1f7f19824973619641d849a05e9da89a8dfff28 100644 --- a/src/Wima/WimaPlaner.cc +++ b/src/Wima/WimaPlaner.cc @@ -100,6 +100,7 @@ void WimaPlaner::removeArea(int index) if (_visualItems.count() == 0) { // this branch is reached if all items are removed // to guarentee proper behavior, _currentAreaIndex must be set to a invalid value, as on constructor init. + resetAllInteractive(); _currentAreaIndex = -1; return; } diff --git a/src/WimaView/SphericalSurveyMapVisual.qml b/src/WimaView/SphericalSurveyMapVisual.qml index 907afa6e80b7caddb7d329dc0d4a6a4b06d13648..55f70acff908cc081f20cf1735e49879f2ee68e4 100644 --- a/src/WimaView/SphericalSurveyMapVisual.qml +++ b/src/WimaView/SphericalSurveyMapVisual.qml @@ -172,11 +172,19 @@ Item { DragCoordinate { map: _root.map qgcView: _root.qgcView - z: QGroundControl.zOrderMapItems + z: QGroundControl.zOrderMapItems checked: _missionItem.isCurrentItem coordinate: _missionItem.refPoint - onCoordinateChanged: _missionItem.refPoint = coordinate + property var refPoint: _missionItem.refPoint + + onCoordinateChanged: _missionItem.refPoint = coordinate + onRefPointChanged: { + if (refPoint !== coordinate) { + coordinate = refPoint + } + } + onClicked: _root.clicked(_missionItem.sequenceNumber) } }