FirmwareUpgrade.qml 3.87 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*=====================================================================

 QGroundControl Open Source Ground Control Station

 (c) 2009 - 2015 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org>

 This file is part of the QGROUNDCONTROL project

 QGROUNDCONTROL is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation, either version 3 of the License, or
 (at your option) any later version.

 QGROUNDCONTROL is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.

 You should have received a copy of the GNU General Public License
 along with QGROUNDCONTROL. If not, see <http://www.gnu.org/licenses/>.

 ======================================================================*/

Don Gagne's avatar
Don Gagne committed
24
import QtQuick 2.3
25 26 27 28 29 30
import QtQuick.Controls 1.2
import QtQuick.Controls.Styles 1.2

import QGroundControl.Controls 1.0
import QGroundControl.FactControls 1.0
import QGroundControl.Palette 1.0
31
import QGroundControl.Controllers 1.0
32
import QGroundControl.ScreenTools 1.0
33 34 35

Rectangle {
    width: 600
36
    height: 600
37

38
    property var qgcPal: QGCPalette { colorGroupEnabled: true }
39 40
    property FirmwareUpgradeController controller: FirmwareUpgradeController {
        upgradeButton: upgradeButton
41
        progressBar: progressBar
42 43 44
        statusLog: statusTextArea
        firmwareType: FirmwareUpgradeController.StableFirmware
    }
45 46 47 48

    color: qgcPal.window

    Column {
49 50
        anchors.fill:parent

Don Gagne's avatar
Don Gagne committed
51
        QGCLabel {
52
            text: "FIRMWARE UPDATE"
53
            font.pointSize: ScreenTools.fontPointFactor * (20);
54 55 56 57 58 59 60 61
        }

        Item {
            // Just used as a spacer
            height: 20
            width: 10
        }

62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
        Row {
            spacing: 10

            ListModel {
                id: firmwareItems
                ListElement {
                    text: qsTr("Standard Version (stable)");
                    firmwareType: FirmwareUpgradeController.StableFirmware
                }
                ListElement {
                    text: qsTr("Beta Testing (beta)");
                    firmwareType: FirmwareUpgradeController.BetaFirmware
                }
                ListElement {
                    text: qsTr("Developer Build (master)");
                    firmwareType: FirmwareUpgradeController.DeveloperFirmware
                }
                ListElement {
                    text: qsTr("Custom firmware file...");
                    firmwareType: FirmwareUpgradeController.CustomFirmware
                }
83 84
            }

85 86 87 88 89 90
            QGCComboBox {
                id: firmwareCombo
                width: 200
                height: upgradeButton.height
                model: firmwareItems
            }
91

92 93 94 95 96 97 98 99
            QGCButton {
                id: upgradeButton
                text: "UPGRADE"
                primary: true
                onClicked: {
                    controller.firmwareType = firmwareItems.get(firmwareCombo.currentIndex).firmwareType
                    controller.doFirmwareUpgrade();
                }
100 101 102 103 104 105 106 107 108
            }
        }

        Item {
            // Just used as a spacer
            height: 20
            width: 10
        }

109 110 111 112 113
        ProgressBar {
            id: progressBar
            width: parent.width
        }

114 115
        TextArea {
            id: statusTextArea
116 117 118 119 120

            width:			parent.width
            height:			300
            readOnly:		true
            frameVisible:	false
121
            font.pointSize: ScreenTools.defaultFontPointSize
122
            
Don Gagne's avatar
Don Gagne committed
123
			text: qsTr("Please disconnect all vehicles from QGroundControl before selecting Upgrade.")
124

125
            style: TextAreaStyle {
126
                textColor: qgcPal.text
127
                backgroundColor: qgcPal.windowShade
128
            }
129 130 131
        }
    }
}