From d28bafba58d332db58d20dc9fa16cc8af83fbc58 Mon Sep 17 00:00:00 2001 From: Gus Grubba Date: Wed, 30 May 2018 17:59:55 -0400 Subject: [PATCH] Double click to delete a vertex --- .../MapItems/MissionItemIndicatorDrag.qml | 6 ++++ src/MissionManager/QGCMapPolygonVisuals.qml | 2 +- src/MissionManager/QGCMapPolylineVisuals.qml | 29 +++++++++---------- src/PlanView/CorridorScanEditor.qml | 13 ++++----- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/src/FlightMap/MapItems/MissionItemIndicatorDrag.qml b/src/FlightMap/MapItems/MissionItemIndicatorDrag.qml index 720e5fd25..3d49c2140 100644 --- a/src/FlightMap/MapItems/MissionItemIndicatorDrag.qml +++ b/src/FlightMap/MapItems/MissionItemIndicatorDrag.qml @@ -29,6 +29,7 @@ Rectangle { property var itemCoordinate ///< Coordinate we are updating during drag signal clicked + signal doubleClicked signal dragStart signal dragStop @@ -76,6 +77,11 @@ Rectangle { itemDragger.clicked() } + onDoubleClicked: { + focus = true + itemDragger.doubleClicked() + } + property bool dragActive: drag.active onDragActiveChanged: { if (dragActive) { diff --git a/src/MissionManager/QGCMapPolygonVisuals.qml b/src/MissionManager/QGCMapPolygonVisuals.qml index f72a4ab4b..01e57ba45 100644 --- a/src/MissionManager/QGCMapPolygonVisuals.qml +++ b/src/MissionManager/QGCMapPolygonVisuals.qml @@ -291,7 +291,7 @@ Item { } } - onClicked: mapPolygon.removeVertex(polygonVertex) + onDoubleClicked: mapPolygon.removeVertex(polygonVertex) } } diff --git a/src/MissionManager/QGCMapPolylineVisuals.qml b/src/MissionManager/QGCMapPolylineVisuals.qml index 07a25aee0..848f1ec60 100644 --- a/src/MissionManager/QGCMapPolylineVisuals.qml +++ b/src/MissionManager/QGCMapPolylineVisuals.qml @@ -128,10 +128,10 @@ Item { Menu { id: menu - property int removeVertex MenuItem { + id: removeVertexItem text: qsTr("Remove vertex" ) onTriggered: mapPolyline.removeVertex(parent.removeVertex) } @@ -140,6 +140,10 @@ Item { text: qsTr("Load KML...") onTriggered: kmlLoadDialog.openForLoad() } + + function resetMenu() { + removeVertexItem.visible = mapPolyline.count > 2 + } } Component { @@ -167,7 +171,7 @@ Item { width: ScreenTools.defaultFontPixelHeight * 1.5 height: width radius: width / 2 - border.color: "white" + border.color: "white" color: "transparent" opacity: .50 z: _zorderSplitHandle @@ -243,10 +247,13 @@ Item { } onClicked: { - if (polylineVertex == 0) { - menu.removeVertex = polylineVertex - menu.popup() - } else { + menu.resetMenu() + menu.removeVertex = polylineVertex + menu.popup() + } + + onDoubleClicked: { + if (polylineVertex != 0) { mapPolyline.removeVertex(polylineVertex) } } @@ -271,15 +278,7 @@ Item { height: width radius: width / 2 color: "white" - opacity: .90 - - QGCLabel { - anchors.horizontalCenter: parent.horizontalCenter - anchors.verticalCenter: parent.verticalCenter - text: "..." - color: "black" - visible: polylineVertex == 0 - } + opacity: 0.9 } } } diff --git a/src/PlanView/CorridorScanEditor.qml b/src/PlanView/CorridorScanEditor.qml index 9bd97bb8a..54235e272 100644 --- a/src/PlanView/CorridorScanEditor.qml +++ b/src/PlanView/CorridorScanEditor.qml @@ -106,11 +106,11 @@ Rectangle { QGCCheckBox { id: relAlt - anchors.left: parent.left text: qsTr("Relative altitude") checked: missionItem.cameraCalc.distanceToSurfaceRelative enabled: missionItem.cameraCalc.isManualCamera && !missionItem.followTerrain visible: QGroundControl.corePlugin.options.showMissionAbsoluteAltitude || (!missionItem.cameraCalc.distanceToSurfaceRelative && !missionItem.followTerrain) + Layout.alignment: Qt.AlignLeft Layout.columnSpan: 2 onClicked: missionItem.cameraCalc.distanceToSurfaceRelative = checked @@ -146,12 +146,11 @@ Rectangle { } GridLayout { - anchors.left: parent.left - anchors.right: parent.right - columnSpacing: _margin - rowSpacing: _margin - columns: 2 - visible: followsTerrainCheckBox.checked + Layout.fillWidth: true + columnSpacing: _margin + rowSpacing: _margin + columns: 2 + visible: followsTerrainCheckBox.checked QGCLabel { text: qsTr("Tolerance") } FactTextField { -- 2.22.0