MockLinkSettings.qml 3.9 KB
Newer Older
1 2 3 4 5 6 7 8
/****************************************************************************
 *
 *   (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>
 *
 * QGroundControl is licensed according to the terms in the file
 * COPYING.md in the root of the source code directory.
 *
 ****************************************************************************/
9 10


11 12 13
import QtQuick          2.3
import QtQuick.Controls 1.2
import QtQuick.Layouts  1.2
14 15 16 17 18 19 20 21 22 23 24 25 26

import QGroundControl                       1.0
import QGroundControl.Controls              1.0
import QGroundControl.ScreenTools           1.0
import QGroundControl.Palette               1.0

Item {
    id:     mockLinkSettings
    width:  parent ? parent.width : 0
    height: mockColumn.height

    function saveSettings() {
        if(px4Firmware.checked)
27 28
            subEditConfig.firmware = 12         // Hardcoded MAV_AUTOPILOT_PX4
        else if(apmFirmware.checked) {
29
            subEditConfig.firmware = 3
30 31 32 33 34
            if(planeVehicle.checked)
                subEditConfig.vehicle = 1       // Hardcoded MAV_TYPE_FIXED_WING
            else
                subEditConfig.vehicle = 2       // Hardcoded MAV_TYPE_QUADROTOR
        }
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
        else
            subEditConfig.firmware = 0
        subEditConfig.sendStatus = sendStatus.checked
    }

    Component.onCompleted: {
        if(subEditConfig.firmware === 12)       // Hardcoded MAV_AUTOPILOT_PX4
            px4Firmware.checked = true
        else if(subEditConfig.firmware === 3)   // Hardcoded MAV_AUTOPILOT_ARDUPILOTMEGA
            apmFirmware.checked = true
        else
            genericFirmware.checked = true
        if(subEditConfig.vehicle === 1)         // Hardcoded MAV_TYPE_FIXED_WING
            planeVehicle.checked = true
        else
            copterVehicle.checked = true
        sendStatus.checked = subEditConfig.sendStatus
    }

    Column {
        id:         mockColumn
        width:      mockLinkSettings.width
        spacing:    ScreenTools.defaultFontPixelHeight / 2
        QGCLabel {
Tomaz Canabrava's avatar
Tomaz Canabrava committed
59
            text:   qsTr("Mock Link Settings")
60 61 62 63 64 65 66
        }
        Item {
            height: ScreenTools.defaultFontPixelHeight / 2
            width:  parent.width
        }
        QGCCheckBox {
            id:         sendStatus
Tomaz Canabrava's avatar
Tomaz Canabrava committed
67
            text:       qsTr("Send Status Text and Voice")
68 69 70 71 72 73 74 75 76 77
            checked:    false
        }
        Item {
            height: ScreenTools.defaultFontPixelHeight / 2
            width:  parent.width
        }
        ColumnLayout {
            ExclusiveGroup { id: autoPilotGroup }
            QGCRadioButton {
                id:         px4Firmware
Tomaz Canabrava's avatar
Tomaz Canabrava committed
78
                text:       qsTr("PX4 Firmware")
79 80 81 82 83
                checked:    false
                exclusiveGroup: autoPilotGroup
            }
            QGCRadioButton {
                id:         apmFirmware
Tomaz Canabrava's avatar
Tomaz Canabrava committed
84
                text:       qsTr("APM Firmware")
85 86 87 88 89
                checked:    false
                exclusiveGroup: autoPilotGroup
            }
            QGCRadioButton {
                id:         genericFirmware
Tomaz Canabrava's avatar
Tomaz Canabrava committed
90
                text:       qsTr("Generic Firmware")
91 92 93 94 95 96 97 98 99
                checked:    false
                exclusiveGroup: autoPilotGroup
            }
        }
        Item {
            height: ScreenTools.defaultFontPixelHeight / 2
            width:  parent.width
        }
        QGCLabel {
Tomaz Canabrava's avatar
Tomaz Canabrava committed
100
            text:       qsTr("APM Vehicle Type")
101 102 103 104 105 106 107
            visible:    apmFirmware.checked
        }
        ColumnLayout {
            visible:    apmFirmware.checked
            ExclusiveGroup { id: apmVehicleGroup }
            QGCRadioButton {
                id:     copterVehicle
Tomaz Canabrava's avatar
Tomaz Canabrava committed
108
                text:   qsTr("ArduCopter")
109 110 111 112 113
                checked:    false
                exclusiveGroup: apmVehicleGroup
            }
            QGCRadioButton {
                id:     planeVehicle
Tomaz Canabrava's avatar
Tomaz Canabrava committed
114
                text:   qsTr("ArduPlane")
115 116 117 118 119 120
                checked:    false
                exclusiveGroup: apmVehicleGroup
            }
        }
    }
}