AirspaceWeather.qml 2.22 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 15 16 17 18 19

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