From 24ae7b64da71ed34f053c666440095658cc34b48 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 14 Oct 2015 16:43:41 -0700 Subject: [PATCH] Better home position handling Also remove Move Up and Move Down support --- src/MissionEditor/MissionEditor.cc | 46 --------------------------- src/MissionEditor/MissionEditor.h | 2 -- src/MissionEditor/MissionEditor.qml | 4 +-- src/QmlControls/MissionItemEditor.qml | 42 +++++++++++------------- 4 files changed, 19 insertions(+), 75 deletions(-) diff --git a/src/MissionEditor/MissionEditor.cc b/src/MissionEditor/MissionEditor.cc index 7df567aaf..96397f7ea 100644 --- a/src/MissionEditor/MissionEditor.cc +++ b/src/MissionEditor/MissionEditor.cc @@ -142,52 +142,6 @@ void MissionEditor::removeMissionItem(int index) _recalcAll(); } -void MissionEditor::moveUp(int index) -{ - if (!_canEdit) { - qWarning() << "addMissionItem called with _canEdit == false"; - return; - } - - if (_missionItems->count() < 2 || index <= 0 || index >= _missionItems->count()) { - return; - } - - MissionItem item1 = *qobject_cast(_missionItems->get(index - 1)); - MissionItem item2 = *qobject_cast(_missionItems->get(index)); - - _missionItems->removeAt(index - 1); - _missionItems->removeAt(index - 1); - - _missionItems->insert(index - 1, new MissionItem(item2, _missionItems)); - _missionItems->insert(index, new MissionItem(item1, _missionItems)); - - _recalcAll(); -} - -void MissionEditor::moveDown(int index) -{ - if (!_canEdit) { - qWarning() << "addMissionItem called with _canEdit == false"; - return; - } - - if (_missionItems->count() < 2 || index >= _missionItems->count() - 1) { - return; - } - - MissionItem item1 = *qobject_cast(_missionItems->get(index)); - MissionItem item2 = *qobject_cast(_missionItems->get(index + 1)); - - _missionItems->removeAt(index); - _missionItems->removeAt(index); - - _missionItems->insert(index, new MissionItem(item2, _missionItems)); - _missionItems->insert(index + 1, new MissionItem(item1, _missionItems)); - - _recalcAll(); -} - void MissionEditor::loadMissionFromFile(void) { QString errorString; diff --git a/src/MissionEditor/MissionEditor.h b/src/MissionEditor/MissionEditor.h index 3f6e7564e..c195cbe91 100644 --- a/src/MissionEditor/MissionEditor.h +++ b/src/MissionEditor/MissionEditor.h @@ -48,8 +48,6 @@ public: Q_INVOKABLE void loadMissionFromFile(void); Q_INVOKABLE void saveMissionToFile(void); Q_INVOKABLE void removeMissionItem(int index); - Q_INVOKABLE void moveUp(int index); - Q_INVOKABLE void moveDown(int index); // Property accessors diff --git a/src/MissionEditor/MissionEditor.qml b/src/MissionEditor/MissionEditor.qml index 5bdba7784..dc6216676 100644 --- a/src/MissionEditor/MissionEditor.qml +++ b/src/MissionEditor/MissionEditor.qml @@ -440,6 +440,7 @@ QGCView { MissionItemEditor { missionItem: object width: parent.width + readOnly: object.sequenceNumber == 0 && liveHomePositionAvailable onClicked: setCurrentItem(object.sequenceNumber) @@ -451,9 +452,6 @@ QGCView { setCurrentItem(newCurrentItem) } } - - onMoveUp: controller.moveUp(object.sequenceNumber) - onMoveDown: controller.moveDown(object.sequenceNumber) } } // ListView diff --git a/src/QmlControls/MissionItemEditor.qml b/src/QmlControls/MissionItemEditor.qml index 723a43762..b4c6f0e82 100644 --- a/src/QmlControls/MissionItemEditor.qml +++ b/src/QmlControls/MissionItemEditor.qml @@ -13,17 +13,16 @@ import QGroundControl.Palette 1.0 Rectangle { id: _root - property var missionItem + property var missionItem ///< MissionItem associated with this editor + property bool readOnly ///< true: read only view, false: full editing view signal clicked signal remove - signal moveUp - signal moveDown height: missionItem.isCurrentItem ? (missionItem.textFieldFacts.count * (measureTextField.height + _margin)) + (missionItem.checkboxFacts.count * (measureCheckbox.height + _margin)) + - commandPicker.height + deleteButton.height + (_margin * 9) : + commandPicker.height + (deleteButton.visible ? deleteButton.height : 0) + (_margin * 9) : commandPicker.height + (_margin * 2) color: missionItem.isCurrentItem ? qgcPal.buttonHighlight : qgcPal.windowShade @@ -63,7 +62,6 @@ Rectangle { onClicked: _root.clicked() } - QGCComboBox { id: commandPicker anchors.leftMargin: ScreenTools.defaultFontPixelWidth * 10 @@ -71,7 +69,7 @@ Rectangle { anchors.right: parent.right currentIndex: missionItem.commandByIndex model: missionItem.commandNames - visible: missionItem.sequenceNumber != 0 + visible: missionItem.sequenceNumber != 0 // Item 0 is home position, can't change item type onActivated: missionItem.commandByIndex = index } @@ -79,7 +77,7 @@ Rectangle { Rectangle { anchors.fill: commandPicker color: qgcPal.button - visible: missionItem.sequenceNumber == 0 + visible: missionItem.sequenceNumber == 0 // Item 0 is home position, can't change item type QGCLabel { id: homeLabel @@ -119,6 +117,7 @@ Rectangle { height: textField.height QGCLabel { + id: textFieldLabel anchors.baseline: textField.baseline text: object.name } @@ -129,6 +128,14 @@ Rectangle { width: _editFieldWidth showUnits: true fact: object + visible: !_root.readOnly + } + + FactLabel { + anchors.baseline: textFieldLabel.baseline + anchors.right: parent.right + fact: object + visible: _root.readOnly } } } @@ -160,26 +167,13 @@ Rectangle { readonly property real buttonWidth: (width - (_margin * 2)) / 3 QGCButton { - id: deleteButton - width: parent.buttonWidth - text: "Delete" + id: deleteButton + width: parent.buttonWidth + text: "Delete" + visible: !readOnly onClicked: _root.remove() } - - QGCButton { - width: parent.buttonWidth - text: "Up" - - onClicked: _root.moveUp() - } - - QGCButton { - width: parent.buttonWidth - text: "Down" - - onClicked: _root.moveDown() - } } } // Column -- 2.22.0