|
|
|
@ -12,6 +12,7 @@ import QtQuick.Controls 2.4
@@ -12,6 +12,7 @@ import QtQuick.Controls 2.4
|
|
|
|
|
import QtLocation 5.3 |
|
|
|
|
import QtPositioning 5.3 |
|
|
|
|
import QtQuick.Dialogs 1.2 |
|
|
|
|
import QtQuick.Layouts 1.11 |
|
|
|
|
|
|
|
|
|
import QGroundControl 1.0 |
|
|
|
|
import QGroundControl.Airspace 1.0 |
|
|
|
@ -511,38 +512,81 @@ FlightMap {
@@ -511,38 +512,81 @@ FlightMap {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Handle guided mode clicks |
|
|
|
|
MouseArea { |
|
|
|
|
anchors.fill: parent |
|
|
|
|
|
|
|
|
|
QGCMenu { |
|
|
|
|
Popup { |
|
|
|
|
id: clickMenu |
|
|
|
|
modal: true |
|
|
|
|
|
|
|
|
|
property var coord |
|
|
|
|
QGCMenuItem { |
|
|
|
|
text: qsTr("Go to location") |
|
|
|
|
visible: globals.guidedControllerFlyView.showGotoLocation |
|
|
|
|
|
|
|
|
|
onTriggered: { |
|
|
|
|
gotoLocationItem.show(clickMenu.coord) |
|
|
|
|
globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionGoto, clickMenu.coord, gotoLocationItem) |
|
|
|
|
function setCoordinates(mouseX, mouseY) { |
|
|
|
|
var newX = mouseX |
|
|
|
|
var newY = mouseY |
|
|
|
|
|
|
|
|
|
// Filtering coordinates |
|
|
|
|
if (newX + clickMenu.width > _root.width) { |
|
|
|
|
newX = _root.width - clickMenu.width |
|
|
|
|
} |
|
|
|
|
if (newY + clickMenu.height > _root.height) { |
|
|
|
|
newY = _root.height - clickMenu.height |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Set coordiantes |
|
|
|
|
x = newX |
|
|
|
|
y = newY |
|
|
|
|
} |
|
|
|
|
QGCMenuItem { |
|
|
|
|
text: qsTr("Orbit at location") |
|
|
|
|
visible: globals.guidedControllerFlyView.showOrbit |
|
|
|
|
|
|
|
|
|
onTriggered: { |
|
|
|
|
orbitMapCircle.show(clickMenu.coord) |
|
|
|
|
globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionOrbit, clickMenu.coord, orbitMapCircle) |
|
|
|
|
} |
|
|
|
|
background: Rectangle { |
|
|
|
|
radius: ScreenTools.defaultFontPixelHeight * 0.5 |
|
|
|
|
color: qgcPal.window |
|
|
|
|
border.color: qgcPal.text |
|
|
|
|
} |
|
|
|
|
QGCMenuItem { |
|
|
|
|
text: qsTr("ROI at location") |
|
|
|
|
visible: globals.guidedControllerFlyView.showROI |
|
|
|
|
|
|
|
|
|
onTriggered: { |
|
|
|
|
roiLocationItem.show(clickMenu.coord) |
|
|
|
|
globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionROI, clickMenu.coord, roiLocationItem) |
|
|
|
|
ColumnLayout { |
|
|
|
|
id: mainLayout |
|
|
|
|
spacing: ScreenTools.defaultFontPixelWidth / 2 |
|
|
|
|
|
|
|
|
|
QGCButton { |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
text: "Go to location" |
|
|
|
|
visible: globals.guidedControllerFlyView.showGotoLocation |
|
|
|
|
onClicked: { |
|
|
|
|
if (clickMenu.opened) { |
|
|
|
|
clickMenu.close() |
|
|
|
|
} |
|
|
|
|
gotoLocationItem.show(clickMenu.coord) |
|
|
|
|
globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionGoto, clickMenu.coord, gotoLocationItem) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCButton { |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
text: "Orbit at location" |
|
|
|
|
visible: globals.guidedControllerFlyView.showOrbit |
|
|
|
|
onClicked: { |
|
|
|
|
if (clickMenu.opened) { |
|
|
|
|
clickMenu.close() |
|
|
|
|
} |
|
|
|
|
orbitMapCircle.show(clickMenu.coord) |
|
|
|
|
globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionOrbit, clickMenu.coord, orbitMapCircle) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QGCButton { |
|
|
|
|
Layout.fillWidth: true |
|
|
|
|
text: "ROI at location" |
|
|
|
|
visible: globals.guidedControllerFlyView.showROI |
|
|
|
|
onClicked: { |
|
|
|
|
if (clickMenu.opened) { |
|
|
|
|
clickMenu.close() |
|
|
|
|
} |
|
|
|
|
roiLocationItem.show(clickMenu.coord) |
|
|
|
|
globals.guidedControllerFlyView.confirmAction(globals.guidedControllerFlyView.actionROI, clickMenu.coord, roiLocationItem) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -553,7 +597,8 @@ FlightMap {
@@ -553,7 +597,8 @@ FlightMap {
|
|
|
|
|
gotoLocationItem.hide() |
|
|
|
|
var clickCoord = _root.toCoordinate(Qt.point(mouse.x, mouse.y), false /* clipToViewPort */) |
|
|
|
|
clickMenu.coord = clickCoord |
|
|
|
|
clickMenu.popup() |
|
|
|
|
clickMenu.setCoordinates(mouse.x, mouse.y) |
|
|
|
|
clickMenu.open() |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|