From 153a139ea4fe42bb31a647f16da0c4234abdf6d3 Mon Sep 17 00:00:00 2001 From: DoinLakeFlyer Date: Wed, 19 Feb 2020 11:59:40 -0800 Subject: [PATCH] Fix current item updating after delete --- src/MissionManager/MissionController.cc | 10 ++++++++++ src/PlanView/PlanView.qml | 9 ++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/MissionManager/MissionController.cc b/src/MissionManager/MissionController.cc index 55d5c8196..0b4d6b4c0 100644 --- a/src/MissionManager/MissionController.cc +++ b/src/MissionManager/MissionController.cc @@ -598,6 +598,16 @@ void MissionController::removeMissionItem(int viIndex) } _recalcAll(); + + // Adjust current item + int newVIIndex; + if (viIndex >= _visualItems->count()) { + newVIIndex = _visualItems->count() - 1; + } else { + newVIIndex = viIndex; + } + setCurrentPlanViewSeqNum(_visualItems->value(newVIIndex)->sequenceNumber(), true); + setDirty(true); } diff --git a/src/PlanView/PlanView.qml b/src/PlanView/PlanView.qml index 372a042a3..4388433f7 100644 --- a/src/PlanView/PlanView.qml +++ b/src/PlanView/PlanView.qml @@ -846,12 +846,11 @@ Item { readOnly: false onClicked: _missionController.setCurrentPlanViewSeqNum(object.sequenceNumber, false) onRemove: { - var removeIndex = index - _missionController.removeMissionItem(removeIndex) - if (removeIndex >= _missionController.visualItems.count) { - removeIndex-- + var removeVIIndex = index + _missionController.removeMissionItem(removeVIIndex) + if (removeVIIndex >= _missionController.visualItems.count) { + removeVIIndex-- } - _missionController.setCurrentPlanViewSeqNum(removeIndex, true) } onSelectNextNotReadyItem: selectNextNotReady() } -- 2.22.0