/**************************************************************************** * * (c) 2009-2016 QGROUNDCONTROL PROJECT * * QGroundControl is licensed according to the terms in the file * COPYING.md in the root of the source code directory. * ****************************************************************************/ import QtQuick 2.5 import QtQuick.Controls 1.2 import QtQuick.Dialogs 1.2 import QtQuick.Layouts 1.2 import QGroundControl.FactSystem 1.0 import QGroundControl.Palette 1.0 import QGroundControl.Controls 1.0 import QGroundControl.Controllers 1.0 import QGroundControl.ScreenTools 1.0 SetupPage { id: airframePage pageComponent: airframePageComponent property real _margins: ScreenTools.defaultFontPixelWidth property Fact _frame: controller.getParameterFact(-1, "FRAME") APMAirframeComponentController { id: controller factPanel: airframePage.viewPanel } ExclusiveGroup { id: airframeTypeExclusive } Component { id: applyRestartDialogComponent QGCViewDialog { id: applyRestartDialog Connections { target: controller onCurrentAirframeTypeChanged: { airframePicker.model = controller.currentAirframeType.airframes; } } 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: controller.currentAirframeType.airframes; delegate: QGCButton { id: btnParams width: parent.width / 2.1 height: (ScreenTools.defaultFontPixelHeight * 14) / 5 text: controller.currentAirframeType.airframes[index].name; onClicked : { controller.loadParameters(controller.currentAirframeType.airframes[index].params) hideDialog() } } } } } } Component { id: airframePageComponent Column { width: availableWidth height: 1000 spacing: _margins RowLayout { anchors.left: parent.left anchors.right: parent.right spacing: _margins QGCLabel { font.pointSize: ScreenTools.mediumFontPointSize wrapMode: Text.WordWrap text: qsTr("Please select your airframe type") Layout.fillWidth: true } QGCButton { text: qsTr("Load common parameters") onClicked: showDialog(applyRestartDialogComponent, qsTr("Load common parameters"), qgcView.showDialogDefaultWidth, StandardButton.Close) } } Repeater { model: controller.airframeTypesModel QGCRadioButton { text: object.name checked: controller.currentAirframeType == object exclusiveGroup: airframeTypeExclusive onCheckedChanged: { if (checked) { controller.currentAirframeType = object } } } } } // Column } // Component - pageComponent } // SetupPage