From 27aa9098d1d8e4c836d685660611739317160feb Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Mon, 9 Apr 2018 18:05:00 -0700 Subject: [PATCH] Change position to vehicle position --- src/QmlControls/EditPositionDialog.qml | 11 +++++++++++ src/QmlControls/EditPositionDialogController.cc | 8 ++++++++ src/QmlControls/EditPositionDialogController.h | 1 + 3 files changed, 20 insertions(+) diff --git a/src/QmlControls/EditPositionDialog.qml b/src/QmlControls/EditPositionDialog.qml index bd20d0b51..c64669ef4 100644 --- a/src/QmlControls/EditPositionDialog.qml +++ b/src/QmlControls/EditPositionDialog.qml @@ -112,6 +112,17 @@ QGCViewDialog { reject() } } + + QGCButton { + anchors.right: parent.right + text: qsTr("Set From Vehicle Position") + visible: QGroundControl.multiVehicleManager.activeVehicle && QGroundControl.multiVehicleManager.activeVehicle.coordinate.isValid + + onClicked: { + controller.setFromVehicle() + reject() + } + } } // Column } // QGCFlickable } // QGCViewDialog diff --git a/src/QmlControls/EditPositionDialogController.cc b/src/QmlControls/EditPositionDialogController.cc index 1ad11b5c9..9a1f604f2 100644 --- a/src/QmlControls/EditPositionDialogController.cc +++ b/src/QmlControls/EditPositionDialogController.cc @@ -9,6 +9,7 @@ #include "EditPositionDialogController.h" #include "QGCGeo.h" +#include "QGCApplication.h" const char* EditPositionDialogController::_latitudeFactName = "Latitude"; const char* EditPositionDialogController::_longitudeFactName = "Longitude"; @@ -74,3 +75,10 @@ void EditPositionDialogController::setFromUTM(void) qDebug() << _eastingFact.rawValue().toDouble() << _northingFact.rawValue().toDouble() << _zoneFact.rawValue().toInt() << (_hemisphereFact.rawValue().toInt() == 1) << _coordinate; emit coordinateChanged(_coordinate); } + +void EditPositionDialogController::setFromVehicle(void) +{ + _coordinate = qgcApp()->toolbox()->multiVehicleManager()->activeVehicle()->coordinate(); + emit coordinateChanged(_coordinate); +} + diff --git a/src/QmlControls/EditPositionDialogController.h b/src/QmlControls/EditPositionDialogController.h index 99ecd44dd..ed8d90be9 100644 --- a/src/QmlControls/EditPositionDialogController.h +++ b/src/QmlControls/EditPositionDialogController.h @@ -42,6 +42,7 @@ public: Q_INVOKABLE void initValues(void); Q_INVOKABLE void setFromGeo(void); Q_INVOKABLE void setFromUTM(void); + Q_INVOKABLE void setFromVehicle(void); signals: void coordinateChanged(QGeoCoordinate coordinate); -- 2.22.0