From 2e6ab5ddad0187b91a685499491f5521754da634 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Sat, 7 Sep 2019 15:55:40 -0700 Subject: [PATCH] Use new SplitIndicator control --- src/FlightMap/MapItems/SplitIndicator.qml | 1 + src/MissionManager/QGCMapPolygonVisuals.qml | 26 ++++-------------------- src/MissionManager/QGCMapPolylineVisuals.qml | 30 ++++++---------------------- src/PlanView/CorridorScanMapVisual.qml | 4 +++- src/PlanView/SurveyMapVisual.qml | 2 ++ src/PlanView/TransectStyleMapVisuals.qml | 5 +++-- 6 files changed, 19 insertions(+), 49 deletions(-) diff --git a/src/FlightMap/MapItems/SplitIndicator.qml b/src/FlightMap/MapItems/SplitIndicator.qml index a094617..a317482 100644 --- a/src/FlightMap/MapItems/SplitIndicator.qml +++ b/src/FlightMap/MapItems/SplitIndicator.qml @@ -20,6 +20,7 @@ Rectangle { radius: width / 2 border.color: indicatorColor color: "transparent" + opacity: 0.75 property color indicatorColor: "white" diff --git a/src/MissionManager/QGCMapPolygonVisuals.qml b/src/MissionManager/QGCMapPolygonVisuals.qml index 6355eec..898d146 100644 --- a/src/MissionManager/QGCMapPolygonVisuals.qml +++ b/src/MissionManager/QGCMapPolygonVisuals.qml @@ -267,32 +267,14 @@ Item { MapQuickItem { id: mapQuickItem - anchorPoint.x: dragHandle.width / 2 - anchorPoint.y: dragHandle.height / 2 + anchorPoint.x: sourceItem.width / 2 + anchorPoint.y: sourceItem.height / 2 visible: !_circle property int vertexIndex - sourceItem: Rectangle { - id: dragHandle - width: ScreenTools.defaultFontPixelHeight * 1.5 - height: width - radius: width / 2 - border.color: "white" - color: "transparent" - opacity: .50 - z: _zorderSplitHandle - - QGCLabel { - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - text: "+" - } - - QGCMouseArea { - fillItem: parent - onClicked: mapPolygon.splitPolygonSegment(mapQuickItem.vertexIndex) - } + sourceItem: SplitIndicator { + z: _zorderSplitHandle } } } diff --git a/src/MissionManager/QGCMapPolylineVisuals.qml b/src/MissionManager/QGCMapPolylineVisuals.qml index 2fa3993..57010c1 100644 --- a/src/MissionManager/QGCMapPolylineVisuals.qml +++ b/src/MissionManager/QGCMapPolylineVisuals.qml @@ -98,8 +98,6 @@ Item { } } - onVisibleChanged: _polylineComponent.visible = visible - Component.onCompleted: { addVisuals() if (interactive) { @@ -175,6 +173,7 @@ Item { line.width: lineWidth line.color: lineColor path: mapPolyline.path + visible: _root.visible } } @@ -183,31 +182,14 @@ Item { MapQuickItem { id: mapQuickItem - anchorPoint.x: splitHandle.width / 2 - anchorPoint.y: splitHandle.height / 2 + anchorPoint.x: sourceItem.width / 2 + anchorPoint.y: sourceItem.height / 2 + z: _zorderSplitHandle property int vertexIndex - sourceItem: Rectangle { - id: splitHandle - width: ScreenTools.defaultFontPixelHeight * 1.5 - height: width - radius: width / 2 - border.color: "white" - color: "transparent" - opacity: .50 - z: _zorderSplitHandle - - QGCLabel { - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - text: "+" - } - - QGCMouseArea { - fillItem: parent - onClicked: mapPolyline.splitSegment(mapQuickItem.vertexIndex) - } + sourceItem: SplitIndicator { + onClicked: mapPolyline.splitSegment(mapQuickItem.vertexIndex) } } } diff --git a/src/PlanView/CorridorScanMapVisual.qml b/src/PlanView/CorridorScanMapVisual.qml index d674a61..22a98a0 100644 --- a/src/PlanView/CorridorScanMapVisual.qml +++ b/src/PlanView/CorridorScanMapVisual.qml @@ -17,7 +17,9 @@ import QGroundControl.Controls 1.0 /// Corridor Scan Complex Mission Item visuals TransectStyleMapVisuals { - property bool _currentItem: object.isCurrentItem + polygonInteractive: false + + property bool _currentItem: object.isCurrentItem Component.onCompleted: mapPolylineVisuals.addInitialPolyline() diff --git a/src/PlanView/SurveyMapVisual.qml b/src/PlanView/SurveyMapVisual.qml index ec4e4cb..6315223 100644 --- a/src/PlanView/SurveyMapVisual.qml +++ b/src/PlanView/SurveyMapVisual.qml @@ -20,6 +20,8 @@ import QGroundControl.FlightMap 1.0 /// Survey Complex Mission Item visuals TransectStyleMapVisuals { + polygonInteractive: true + property var _mapPolygon: object.surveyAreaPolygon /// Add an initial 4 sided polygon if there is none diff --git a/src/PlanView/TransectStyleMapVisuals.qml b/src/PlanView/TransectStyleMapVisuals.qml index daee2fd..fe85176 100644 --- a/src/PlanView/TransectStyleMapVisuals.qml +++ b/src/PlanView/TransectStyleMapVisuals.qml @@ -22,7 +22,8 @@ import QGroundControl.FlightMap 1.0 Item { id: _root - property var map ///< Map control to place item in + property var map ///< Map control to place item in + property bool polygonInteractive: true property var _missionItem: object property var _mapPolygon: object.surveyAreaPolygon @@ -69,7 +70,7 @@ Item { id: mapPolygonVisuals mapControl: map mapPolygon: _mapPolygon - interactive: _missionItem.isCurrentItem + interactive: polygonInteractive && _missionItem.isCurrentItem borderWidth: 1 borderColor: "black" interiorColor: "green"