diff --git a/qgroundcontrol.qrc b/qgroundcontrol.qrc
index fbf9bcf2ecb092eaaa5afc4c5a4680a4730a1d1b..aa36354606c5fa37d483b1e61dd0b826ddc16024 100644
--- a/qgroundcontrol.qrc
+++ b/qgroundcontrol.qrc
@@ -40,7 +40,6 @@
src/AutoPilotPlugins/Common/MixersComponent.qml
src/ui/preferences/MockLink.qml
src/ui/preferences/MockLinkSettings.qml
- src/MultiVehicle/MultiVehicleView.qml
src/AutoPilotPlugins/Common/MotorComponent.qml
src/QtLocationPlugin/QMLControl/OfflineMap.qml
src/AutoPilotPlugins/PX4/PowerComponent.qml
@@ -58,7 +57,6 @@
src/MissionEditor/FWLandingPatternMapVisual.qml
src/MissionEditor/GeoFenceEditor.qml
src/MissionEditor/GeoFenceMapVisuals.qml
- src/QmlControls/GuidedBar.qml
src/QmlControls/IndicatorButton.qml
src/QmlControls/JoystickThumbPad.qml
src/ui/toolbar/MainToolBar.qml
diff --git a/src/FlightDisplay/FlightDisplayViewMap.qml b/src/FlightDisplay/FlightDisplayViewMap.qml
index 602b9057eab3b0d881e569775ae52442d27c1ce1..f6958b02b5afcc8780503233dc906c1755bdea3f 100644
--- a/src/FlightDisplay/FlightDisplayViewMap.qml
+++ b/src/FlightDisplay/FlightDisplayViewMap.qml
@@ -257,7 +257,12 @@ FlightMap {
model: _mainIsMap ? missionController.visualItems : 0
delegate: MissionItemMapVisual {
- map: flightMap
+ map: flightMap
+
+ onClicked: {
+ _retaskSequence = object.sequenceNumber
+ flightWidgets.guidedModeBar.confirmAction(parent.flightWidgets.guidedModeBar.confirmRetask)
+ }
}
}
diff --git a/src/FlightDisplay/FlightDisplayViewWidgets.qml b/src/FlightDisplay/FlightDisplayViewWidgets.qml
index 520a1bcb15ccb54f2e622e01da98bb9ada354c1b..a9167c1f3704ed0593620b2ec17e42e3a52caec1 100644
--- a/src/FlightDisplay/FlightDisplayViewWidgets.qml
+++ b/src/FlightDisplay/FlightDisplayViewWidgets.qml
@@ -318,7 +318,7 @@ Item {
guidedModeConfirm.confirmText = qsTr("move vehicle")
break;
case confirmRetask:
- guidedModeConfirm.confirmText = qsTr("active waypoint change")
+ guidedModeConfirm.confirmText = qsTr("activate waypoint change")
break;
case confirmOrbit:
guidedModeConfirm.confirmText = qsTr("enter orbit mode")
diff --git a/src/MissionEditor/FWLandingPatternMapVisual.qml b/src/MissionEditor/FWLandingPatternMapVisual.qml
index 1434a9150466c53276527dfcca07be7d86e69f53..97178e5977c574894701daa5e970c4b0851e8a36 100644
--- a/src/MissionEditor/FWLandingPatternMapVisual.qml
+++ b/src/MissionEditor/FWLandingPatternMapVisual.qml
@@ -20,8 +20,12 @@ import QGroundControl.FlightMap 1.0
/// Fixed Wing Landing Pattern map visuals
Item {
+ id: _root
+
property var map ///< Map control to place item in
+ signal clicked(int sequenceNumber)
+
property var _missionItem: object
property var _itemVisuals: [ ]
property var _mouseArea
@@ -207,7 +211,7 @@ Item {
label: "Loiter"
checked: _missionItem.isCurrentItem
- onClicked: setCurrentItem(_missionItem.sequenceNumber)
+ onClicked: _root.clicked(_missionItem.sequenceNumber)
}
}
}
@@ -241,7 +245,7 @@ Item {
label: "Land"
checked: _missionItem.isCurrentItem
- onClicked: setCurrentItem(_missionItem.sequenceNumber)
+ onClicked: _root.clicked(_missionItem.sequenceNumber)
}
}
}
diff --git a/src/MissionEditor/MissionEditor.qml b/src/MissionEditor/MissionEditor.qml
index 89168723c38fc673d6d2da00a1dbe7af31a35f84..069895f2b11d5fccfd8936654652c44939a7ee45 100644
--- a/src/MissionEditor/MissionEditor.qml
+++ b/src/MissionEditor/MissionEditor.qml
@@ -49,7 +49,7 @@ QGCView {
property var activeVehiclePosition: _activeVehicle ? _activeVehicle.coordinate : QtPositioning.coordinate()
property bool _lightWidgetBorders: editorMap.isSatelliteMap
property bool _addWaypointOnClick: false
- property bool _singleComplexItem: missionController.complexMissionItemNames.length == 1
+ property bool _singleComplexItem: missionController.complexMissionItemNames.length === 1
/// The controller which should be called for load/save, send to/from vehicle calls
property var _syncDropDownController: missionController
@@ -459,7 +459,8 @@ QGCView {
model: missionController.visualItems
delegate: MissionItemMapVisual {
- map: editorMap
+ map: editorMap
+ onClicked: setCurrentItem(sequenceNumber)
}
}
@@ -702,6 +703,10 @@ QGCView {
property bool _showZoom: !ScreenTools.isMobile
+ property bool mySingleComplexItem: _singleComplexItem
+
+ onMySingleComplexItemChanged: console.log(model[1].dropPanelComponent)
+
model: [
{
name: "Waypoint",
diff --git a/src/MissionEditor/MissionItemMapVisual.qml b/src/MissionEditor/MissionItemMapVisual.qml
index b86111a5657c5b988c241d70525b81d31e106a3e..c5c6d4c8dc0520303a5197e7082273e1d2dd916b 100644
--- a/src/MissionEditor/MissionItemMapVisual.qml
+++ b/src/MissionEditor/MissionItemMapVisual.qml
@@ -17,12 +17,14 @@ import QGroundControl.Palette 1.0
import QGroundControl.Controls 1.0
-/// Mission item edit control
+/// Mission item map visual
Item {
id: _root
property var map ///< Map control to place item in
+ signal clicked(int sequenceNumber)
+
property var _visualItem
Component.onCompleted: {
@@ -32,6 +34,7 @@ Item {
console.log("Error loading Qml: ", object.mapVisualQML, component.errorString())
}
_visualItem = component.createObject(map, { "map": _root.map })
+ _visualItem.clicked.connect(_root.clicked)
}
}
diff --git a/src/MissionEditor/MissionSettingsMapVisual.qml b/src/MissionEditor/MissionSettingsMapVisual.qml
index 21fea1d8f973271227433c622faa3c3b71d2d6b3..48ab49d0e90e6bf6e6e771c16e55da6004792ad3 100644
--- a/src/MissionEditor/MissionSettingsMapVisual.qml
+++ b/src/MissionEditor/MissionSettingsMapVisual.qml
@@ -20,8 +20,12 @@ import QGroundControl.FlightMap 1.0
/// Mission Settings map visuals
Item {
+ id: _root
+
property var map ///< Map control to place item in
+ signal clicked(int sequenceNumber)
+
property var _missionItem: object
property var _itemVisual
property var _dragArea
@@ -103,7 +107,7 @@ Item {
z: QGroundControl.zOrderMapItems
missionItem: _missionItem
- onClicked: setCurrentItem(_missionItem.sequenceNumber)
+ onClicked: _root.clicked(_missionItem.sequenceNumber)
// These are the non-coordinate child mission items attached to this item
Row {
@@ -119,7 +123,7 @@ Item {
z: 2
specifiesCoordinate: false
- onClicked: setCurrentItem(object.sequenceNumber)
+ onClicked: _root.Clicked(object.sequenceNumber)
}
}
}
diff --git a/src/MissionEditor/SimpleItemMapVisual.qml b/src/MissionEditor/SimpleItemMapVisual.qml
index e875006e0eb0e320d22c063233da93008481338e..9e15e1eef29f118ab89ba30c06c67478a50ac138 100644
--- a/src/MissionEditor/SimpleItemMapVisual.qml
+++ b/src/MissionEditor/SimpleItemMapVisual.qml
@@ -20,6 +20,7 @@ import QGroundControl.FlightMap 1.0
/// Simple Mission Item visuals
Item {
+ id: _root
property var map ///< Map control to place item in
property var _missionItem: object
@@ -28,6 +29,8 @@ Item {
property bool _itemVisualShowing: false
property bool _dragAreaShowing: false
+ signal clicked(int sequenceNumber)
+
function hideItemVisuals() {
if (_itemVisualShowing) {
_itemVisual.destroy()
@@ -104,7 +107,7 @@ Item {
missionItem: _missionItem
sequenceNumber: _missionItem.sequenceNumber
- onClicked: setCurrentItem(_missionItem.sequenceNumber)
+ onClicked: _root.clicked(_missionItem.sequenceNumber)
// These are the non-coordinate child mission items attached to this item
Row {
@@ -120,7 +123,7 @@ Item {
checked: object.isCurrentItem
specifiesCoordinate: false
- onClicked: setCurrentItem(object.sequenceNumber)
+ onClicked: _root.clicked(object.sequenceNumber)
}
}
}
diff --git a/src/MissionEditor/SurveyMapVisual.qml b/src/MissionEditor/SurveyMapVisual.qml
index 5abbef78d855dfa3c635a0d24f4afcaa3209e848..edff6af42a740e7133ca95eb90c31e1047e1dc73 100644
--- a/src/MissionEditor/SurveyMapVisual.qml
+++ b/src/MissionEditor/SurveyMapVisual.qml
@@ -20,6 +20,8 @@ import QGroundControl.FlightMap 1.0
/// Survey Complex Mission Item visuals
Item {
+ id: _root
+
property var map ///< Map control to place item in
property var _missionItem: object
@@ -30,6 +32,8 @@ Item {
property var _dragHandles
property var _splitHandles
+ signal clicked(int sequenceNumber)
+
function _addVisualElements() {
_polygon = polygonComponent.createObject(map)
_grid = gridComponent.createObject(map)
@@ -148,12 +152,10 @@ Item {
coordinate: _missionItem.coordinate
visible: _missionItem.exitCoordinate.isValid
- sourceItem:
- MissionItemIndexLabel {
+ sourceItem: MissionItemIndexLabel {
label: "Entry"
checked: _missionItem.isCurrentItem
-
- onClicked: setCurrentItem(_missionItem.sequenceNumber)
+ onClicked: _root.clicked(_missionItem.sequenceNumber)
}
}
}
@@ -169,12 +171,10 @@ Item {
coordinate: _missionItem.exitCoordinate
visible: _missionItem.exitCoordinate.isValid
- sourceItem:
- MissionItemIndexLabel {
+ sourceItem: MissionItemIndexLabel {
label: "Exit"
checked: _missionItem.isCurrentItem
-
- onClicked: setCurrentItem(_missionItem.sequenceNumber)
+ onClicked: _root.clicked(_missionItem.sequenceNumber)
}
}
}
diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc
index 518527976438d02ae398f21c0f2b5fc69d2017b8..6e459a867b8d68216b421a1cfaa6e2a686c61d32 100644
--- a/src/MissionManager/MissionController.cc
+++ b/src/MissionManager/MissionController.cc
@@ -1279,6 +1279,7 @@ void MissionController::_activeVehicleSet(void)
connect(_activeVehicle, &Vehicle::homePositionChanged, this, &MissionController::_activeVehicleHomePositionChanged);
connect(_activeVehicle, &Vehicle::defaultCruiseSpeedChanged, this, &MissionController::_recalcMissionFlightStatus);
connect(_activeVehicle, &Vehicle::defaultHoverSpeedChanged, this, &MissionController::_recalcMissionFlightStatus);
+ connect(_activeVehicle, &Vehicle::vehicleTypeChanged, this, &MissionController::complexMissionItemNamesChanged);
if (_activeVehicle->parameterManager()->parametersReady() && !syncInProgress()) {
// We are switching between two previously existing vehicles. We have to manually ask for the items from the Vehicle.