From dcdcc96a45270c47b96dc21326a19ff7eac33825 Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Wed, 15 Mar 2017 09:39:22 -0700 Subject: [PATCH] Clear current item before adding new one This closes out all value editing before the new item is added. Fixes the bug where you enter a new altitude in last waypoint, don't press enter and then add a new one. In that case altitude would be set after new item was added. Hence it would not carry to new item. --- src/MissionEditor/MissionEditor.qml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/MissionEditor/MissionEditor.qml b/src/MissionEditor/MissionEditor.qml index 5ceeba0b1..9dddb5cef 100644 --- a/src/MissionEditor/MissionEditor.qml +++ b/src/MissionEditor/MissionEditor.qml @@ -246,6 +246,8 @@ QGCView { id: _mapTypeButtonsExclusiveGroup } + /// Sets a new current mission item + /// @param sequenceNumber - index for new item, -1 to clear current item function setCurrentItem(sequenceNumber) { if (sequenceNumber !== _currentMissionIndex) { _currentMissionItem = undefined @@ -263,6 +265,15 @@ QGCView { } } + /// Inserts a new simple mission item + /// @param coordinate Location to insert item + /// @param index Insert item at this index + function insertSimpleMissionItem(coordinate, index) { + setCurrentItem(-1) + var sequenceNumber = missionController.insertSimpleMissionItem(coordinate, index) + setCurrentItem(sequenceNumber) + } + property int _moveDialogMissionItemIndex Component { @@ -379,8 +390,7 @@ QGCView { switch (_editingLayer) { case _layerMission: if (_addWaypointOnClick) { - var sequenceNumber = missionController.insertSimpleMissionItem(coordinate, missionController.visualItems.count) - setCurrentItem(sequenceNumber) + insertSimpleMissionItem(coordinate, missionController.visualItems.count) } break case _layerGeoFence: @@ -591,12 +601,8 @@ QGCView { setCurrentItem(removeIndex) } - onInsert: { - var sequenceNumber = missionController.insertSimpleMissionItem(editorMap.center, index) - setCurrentItem(sequenceNumber) - } - - onMoveHomeToMapCenter: _visualItems.get(0).coordinate = editorMap.center + onInsert: insertSimpleMissionItem(editorMap.center, index) + onMoveHomeToMapCenter: _visualItems.get(0).coordinate = editorMap.center } } // QGCListView } // Item - Mission Item editor -- 2.22.0