From bfd6fccf73806dd0f07a7fc6ea63a2c5db13eb2f Mon Sep 17 00:00:00 2001 From: DonLakeFlyer Date: Tue, 24 Dec 2019 13:38:17 -0800 Subject: [PATCH] MissionItemStatus: Show seq nums, clickable selection --- src/PlanView/MissionItemStatus.qml | 8 ++++++-- src/PlanView/PlanView.qml | 2 ++ src/QmlControls/MissionItemIndexLabel.qml | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/PlanView/MissionItemStatus.qml b/src/PlanView/MissionItemStatus.qml index 37d5d9f..de462cf 100644 --- a/src/PlanView/MissionItemStatus.qml +++ b/src/PlanView/MissionItemStatus.qml @@ -25,9 +25,11 @@ Rectangle { opacity: 0.80 clip: true - property var missionItems ///< List of all available mission items + property var missionItems ///< List of all available mission items + property real maxWidth: parent.width + + signal setCurrentSeqNum(int seqNum) - property real maxWidth: parent.width readonly property real _margins: ScreenTools.defaultFontPixelWidth onMaxWidthChanged: { @@ -97,7 +99,9 @@ Rectangle { checked: object.isCurrentItem label: object.abbreviation.charAt(0) index: object.abbreviation.charAt(0) > 'A' && object.abbreviation.charAt(0) < 'z' ? -1 : object.sequenceNumber + showSequenceNumbers: true visible: true + onClicked: root.setCurrentSeqNum(object.sequenceNumber) } } } diff --git a/src/PlanView/PlanView.qml b/src/PlanView/PlanView.qml index 489bfd4..ca988cb 100644 --- a/src/PlanView/PlanView.qml +++ b/src/PlanView/PlanView.qml @@ -884,6 +884,8 @@ Item { missionItems: _missionController.visualItems visible: _internalVisible && _editingLayer === _layerMission && QGroundControl.corePlugin.options.showMissionStatus + onSetCurrentSeqNum: _missionController.setCurrentPlanViewSeqNum(seqNum, true) + property bool _internalVisible: false function toggleVisible() { diff --git a/src/QmlControls/MissionItemIndexLabel.qml b/src/QmlControls/MissionItemIndexLabel.qml index c3e7ed4..666b2de 100644 --- a/src/QmlControls/MissionItemIndexLabel.qml +++ b/src/QmlControls/MissionItemIndexLabel.qml @@ -25,6 +25,7 @@ Canvas { property real gimbalYaw property real vehicleYaw property bool showGimbalYaw: false + property bool showSequenceNumbers: false property real _width: showGimbalYaw ? Math.max(_gimbalYawWidth, labelControl.visible ? labelControl.width : indicator.width) : (labelControl.visible ? labelControl.width : indicator.width) property real _height: showGimbalYaw ? _gimbalYawWidth : (labelControl.visible ? labelControl.height : indicator.height) @@ -37,7 +38,7 @@ Canvas { property real _labelMargin: 2 property real _labelRadius: _indicatorRadius + _labelMargin property string _label: label.length > 1 ? label : "" - property string _index: index === 0 || index === -1 ? label.charAt(0) : "" /*index*/ + property string _index: index === 0 || index === -1 ? label.charAt(0) : (showSequenceNumbers ? index : "") onColorChanged: requestPaint() onShowGimbalYawChanged: requestPaint()