From 3480f76e140e3a0cbe441d167d1c3385c94e0a74 Mon Sep 17 00:00:00 2001 From: Don Gagne Date: Wed, 15 Feb 2017 16:03:36 -0800 Subject: [PATCH] Add param loading to new airframe page --- src/AutoPilotPlugins/APM/APMAirframeComponent.qml | 114 ++++++++++++++++++++++ src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc | 1 - 2 files changed, 114 insertions(+), 1 deletion(-) diff --git a/src/AutoPilotPlugins/APM/APMAirframeComponent.qml b/src/AutoPilotPlugins/APM/APMAirframeComponent.qml index 7c1cde3..bcf4cef 100644 --- a/src/AutoPilotPlugins/APM/APMAirframeComponent.qml +++ b/src/AutoPilotPlugins/APM/APMAirframeComponent.qml @@ -29,6 +29,73 @@ SetupPage { property Fact _oldFrameParam: controller.getParameterFact(-1, "FRAME", false) property Fact _newFrameParam: controller.getParameterFact(-1, "FRAME_CLASS", false) property Fact _frameTypeParam: controller.getParameterFact(-1, "FRAME_TYPE", false) + property var _flatParamList: ListModel { + ListElement { + name: "3DR Aero M" + file: "3DR_AERO_M.param" + } + ListElement { + name: "3DR Aero RTF" + file: "3DR_Aero_RTF.param" + } + ListElement { + name: "3DR Rover" + file: "3DR_Rover.param" + } + ListElement { + name: "3DR Tarot" + file: "3DR_Tarot.bgsc" + } + ListElement { + name: "Parrot Bebop" + file: "Parrot_Bebop.param" + } + ListElement { + name: "Storm32" + file: "SToRM32-MAVLink.param" + } + ListElement { + name: "3DR X8-M RTF" + file: "3DR_X8-M_RTF.param" + } + ListElement { + name: "3DR Y6A" + file: "3DR_Y6A_RTF.param" + } + ListElement { + name: "3DR X8+ RTF" + file: "3DR_X8+_RTF.param" + } + ListElement { + name: "3DR QUAD X4 RTF" + file: "3DR_QUAD_X4_RTF.param" + } + ListElement { + name: "3DR X8" + file: "3DR_X8_RTF.param" + } + ListElement { + name: "Iris with GoPro" + file: "Iris with Front Mount Go Pro.param" + } + ListElement { + name: "Iris with Tarot" + file: "Iris with Tarot Gimbal.param" + } + ListElement { + name: "3DR Iris+" + file: "3DR_Iris+.param" + } + ListElement { + name: "Iris" + file: "Iris.param" + } + ListElement { + name: "3DR Y6B" + file: "3DR_Y6B_RTF.param" + } + } + APMAirframeComponentController { id: controller @@ -92,6 +159,48 @@ SetupPage { } Component { + id: selectParamFileDialogComponent + + QGCViewDialog { + QGCLabel { + id: applyParamsText + anchors.top: parent.top + anchors.left: parent.left + anchors.right: parent.right + anchors.margins: _margins + wrapMode: Text.WordWrap + text: qsTr("Select your drone to load the default parameters for it. ") + } + + Flow { + anchors.margins: _margins + anchors.top: applyParamsText.bottom + anchors.left: parent.left + anchors.right: parent.right + anchors.bottom: parent.bottom + spacing : _margins + layoutDirection: Qt.Vertical; + + Repeater { + id: airframePicker + model: _flatParamList + + delegate: QGCButton { + width: parent.width / 2.1 + height: (ScreenTools.defaultFontPixelHeight * 14) / 5 + text: name + + onClicked : { + controller.loadParameters(file) + hideDialog() + } + } + } + } + } + } + + Component { id: oldFramePageComponent Column { @@ -163,6 +272,11 @@ SetupPage { indexModel: false width: ScreenTools.defaultFontPixelWidth * 15 } + + QGCButton { + text: qsTr("Load common parameters") + onClicked: showDialog(selectParamFileDialogComponent, qsTr("Load common parameters"), qgcView.showDialogDefaultWidth, StandardButton.Close) + } } } } // SetupPage diff --git a/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc b/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc index 23e5daa..200b04d 100644 --- a/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc +++ b/src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc @@ -16,7 +16,6 @@ #include "VehicleComponent.h" #include "APMAirframeComponent.h" #include "APMAirframeComponentAirframes.h" -#include "APMAirframeComponentController.h" #include "APMAirframeLoader.h" #include "APMFlightModesComponent.h" #include "APMRadioComponent.h"