AirspaceWeather.qml 1.99 KB
Newer Older
Gus Grubba's avatar
Gus Grubba committed
1 2 3 4 5 6
import QtQuick                  2.3
import QtQuick.Controls         1.2
import QtQuick.Controls.Styles  1.4
import QtQuick.Dialogs          1.2
import QtQml                    2.2

Gus Grubba's avatar
Gus Grubba committed
7 8 9 10 11 12
import QGroundControl                   1.0
import QGroundControl.ScreenTools       1.0
import QGroundControl.Controls          1.0
import QGroundControl.Palette           1.0
import QGroundControl.Airmap            1.0
import QGroundControl.SettingsManager   1.0
Gus Grubba's avatar
Gus Grubba committed
13 14

Item {
Gus Grubba's avatar
Gus Grubba committed
15 16
    height: _valid ? weatherRow.height : 0
    width:  _valid ? weatherRow.width  : 0
17
    property color  contentColor:       "#ffffff"
Gus Grubba's avatar
Gus Grubba committed
18
    property var    iconHeight:         ScreenTools.defaultFontPixelWidth * 4
Gus Grubba's avatar
Gus Grubba committed
19
    property bool   _valid:             _activeVehicle && _activeVehicle.airspaceController.weatherInfo.valid
Gus Grubba's avatar
Gus Grubba committed
20
    property var    _activeVehicle:     QGroundControl.multiVehicleManager.activeVehicle
Gus Grubba's avatar
Gus Grubba committed
21
    property bool   _celcius:           QGroundControl.settingsManager.unitsSettings.temperatureUnits.rawValue === UnitsSettings.TemperatureUnitsCelsius
Gus Grubba's avatar
Gus Grubba committed
22
    property int    _tempC:             _valid ? _activeVehicle.airspaceController.weatherInfo.temperature : 0
Gus Grubba's avatar
Gus Grubba committed
23
    property string _tempS:             (_celcius ? _tempC : _tempC * 1.8 + 32).toFixed(0) + (_celcius ? "°C" : "°F")
Gus Grubba's avatar
Gus Grubba committed
24
    Row {
Gus Grubba's avatar
Gus Grubba committed
25 26
        id:                         weatherRow
        spacing:                    ScreenTools.defaultFontPixelHeight * 0.5
Gus Grubba's avatar
Gus Grubba committed
27 28 29 30
        QGCColoredImage {
            width:                  height
            height:                 iconHeight
            sourceSize.height:      height
Gus Grubba's avatar
Gus Grubba committed
31
            source:                 _valid ? _activeVehicle.airspaceController.weatherInfo.icon : ""
32
            color:                  contentColor
Gus Grubba's avatar
Gus Grubba committed
33
            visible:                _valid
Gus Grubba's avatar
Gus Grubba committed
34 35 36
            anchors.verticalCenter: parent.verticalCenter
        }
        QGCLabel {
Gus Grubba's avatar
Gus Grubba committed
37
            text:                   _tempS
38
            color:                  contentColor
Gus Grubba's avatar
Gus Grubba committed
39
            visible:                _valid
Gus Grubba's avatar
Gus Grubba committed
40 41 42 43
            anchors.verticalCenter: parent.verticalCenter
        }
    }
}