Commit ffe65c58 authored by Gus Grubba's avatar Gus Grubba

Switch back to single click but with menu instead of direct delete.

parent d28bafba
......@@ -29,7 +29,6 @@ Rectangle {
property var itemCoordinate ///< Coordinate we are updating during drag
signal clicked
signal doubleClicked
signal dragStart
signal dragStop
......@@ -77,11 +76,6 @@ Rectangle {
itemDragger.clicked()
}
onDoubleClicked: {
focus = true
itemDragger.doubleClicked()
}
property bool dragActive: drag.active
onDragActiveChanged: {
if (dragActive) {
......
......@@ -186,6 +186,59 @@ Item {
}
}
Menu {
id: menu
property int _removeVertexIndex
function popUpWithIndex(curIndex) {
_removeVertexIndex = curIndex
removeVertexItem.visible = (mapPolygon.count > 3 && _removeVertexIndex >= 0)
menu.popup()
}
MenuItem {
id: removeVertexItem
text: qsTr("Remove vertex")
onTriggered: {
if(menu._removeVertexIndex >= 0) {
mapPolygon.removeVertex(menu._removeVertexIndex)
}
}
}
MenuSeparator {
visible: removeVertexItem.visible
}
MenuItem {
text: qsTr("Circle" )
onTriggered: resetCircle()
}
MenuItem {
text: qsTr("Polygon")
onTriggered: resetPolygon()
}
MenuItem {
text: qsTr("Set radius..." )
visible: _circle
onTriggered: radiusDialog.visible = true
}
MenuItem {
text: qsTr("Edit position..." )
enabled: _circle
onTriggered: qgcView.showDialog(editPositionDialog, qsTr("Edit Position"), qgcView.showDialogDefaultWidth, StandardButton.Cancel)
}
MenuItem {
text: qsTr("Load KML...")
onTriggered: kmlLoadDialog.openForLoad()
}
}
Component {
id: polygonComponent
......@@ -291,32 +344,36 @@ Item {
}
}
onDoubleClicked: mapPolygon.removeVertex(polygonVertex)
onClicked: {
menu.popUpWithIndex(polygonVertex)
}
}
}
Component {
id: centerDragHandle
MapQuickItem {
id: mapQuickItem
anchorPoint.x: dragHandle.width / 2
anchorPoint.y: dragHandle.height / 2
anchorPoint.x: dragHandle.width * 0.5
anchorPoint.y: dragHandle.height * 0.5
z: _zorderDragHandle
sourceItem: Rectangle {
id: dragHandle
width: ScreenTools.defaultFontPixelHeight * 1.5
height: width
radius: width / 2
color: "white"
opacity: .90
QGCLabel {
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
text: "..."
color: "black"
id: dragHandle
width: ScreenTools.defaultFontPixelHeight * 1.5
height: width
radius: width * 0.5
color: Qt.rgba(1,1,1,0.8)
border.color: Qt.rgba(0,0,0,0.25)
border.width: 1
QGCColoredImage {
width: parent.width
height: width
color: Qt.rgba(0,0,0,1)
mipmap: true
fillMode: Image.PreserveAspectFit
source: "/qmlimages/MapCenter.svg"
sourceSize.height: height
anchors.centerIn: parent
}
}
}
......@@ -327,7 +384,7 @@ Item {
MapQuickItem {
id: mapQuickItem
anchorPoint.x: dragHandle.width / 2
anchorPoint.x: dragHandle.width / 2
anchorPoint.y: dragHandle.height / 2
z: _zorderDragHandle
visible: !_circle
......@@ -335,12 +392,13 @@ Item {
property int polygonVertex
sourceItem: Rectangle {
id: dragHandle
width: ScreenTools.defaultFontPixelHeight * 1.5
height: width
radius: width / 2
color: "white"
opacity: .90
id: dragHandle
width: ScreenTools.defaultFontPixelHeight * 1.5
height: width
radius: width * 0.5
color: Qt.rgba(1,1,1,0.8)
border.color: Qt.rgba(0,0,0,0.25)
border.width: 1
}
}
}
......@@ -393,44 +451,16 @@ Item {
onItemCoordinateChanged: mapPolygon.center = itemCoordinate
onDragStart: mapPolygon.centerDrag = true
onDragStop: mapPolygon.centerDrag = false
onClicked: menu.popup()
onClicked: {
menu.popUpWithIndex(-1) //-- Don't offer a choice to delete vertex (cur index == -1)
}
function setRadiusFromDialog() {
setCircleRadius(mapPolygon.center, radiusField.text)
radiusDialog.visible = false
}
Menu {
id: menu
MenuItem {
text: qsTr("Circle" )
onTriggered: resetCircle()
}
MenuItem {
text: qsTr("Polygon")
onTriggered: resetPolygon()
}
MenuItem {
text: qsTr("Set radius..." )
visible: _circle
onTriggered: radiusDialog.visible = true
}
MenuItem {
text: qsTr("Edit position..." )
enabled: _circle
onTriggered: qgcView.showDialog(editPositionDialog, qsTr("Edit Position"), qgcView.showDialogDefaultWidth, StandardButton.Cancel)
}
MenuItem {
text: qsTr("Load KML...")
onTriggered: kmlLoadDialog.openForLoad()
}
}
Rectangle {
id: radiusDialog
anchors.margins: _margin
......
......@@ -128,22 +128,28 @@ Item {
Menu {
id: menu
property int removeVertex
property int _removeVertexIndex
function popUpWithIndex(curIndex) {
_removeVertexIndex = curIndex
removeVertexItem.visible = mapPolyline.count > 2
menu.popup()
}
MenuItem {
id: removeVertexItem
text: qsTr("Remove vertex" )
onTriggered: mapPolyline.removeVertex(parent.removeVertex)
onTriggered: mapPolyline.removeVertex(menu._removeVertexIndex)
}
MenuSeparator {
visible: removeVertexItem.visible
}
MenuItem {
text: qsTr("Load KML...")
onTriggered: kmlLoadDialog.openForLoad()
}
function resetMenu() {
removeVertexItem.visible = mapPolyline.count > 2
}
}
Component {
......@@ -247,15 +253,7 @@ Item {
}
onClicked: {
menu.resetMenu()
menu.removeVertex = polylineVertex
menu.popup()
}
onDoubleClicked: {
if (polylineVertex != 0) {
mapPolyline.removeVertex(polylineVertex)
}
menu.popUpWithIndex(polylineVertex)
}
}
......@@ -273,12 +271,13 @@ Item {
property int polylineVertex
sourceItem: Rectangle {
id: dragHandle
width: ScreenTools.defaultFontPixelHeight * 1.5
height: width
radius: width / 2
color: "white"
opacity: 0.9
id: dragHandle
width: ScreenTools.defaultFontPixelHeight * 1.5
height: width
radius: width * 0.5
color: Qt.rgba(1,1,1,0.8)
border.color: Qt.rgba(0,0,0,0.25)
border.width: 1
}
}
}
......
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