Skip to content
AirspaceWeather.qml 1.99 KiB
Newer Older
Gus Grubba's avatar
Gus Grubba committed
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
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

Item {
Gus Grubba's avatar
Gus Grubba committed
    height: _valid ? weatherRow.height : 0
    width:  _valid ? weatherRow.width  : 0
    property color  contentColor:       "#ffffff"
Gus Grubba's avatar
Gus Grubba committed
    property var    iconHeight:         ScreenTools.defaultFontPixelWidth * 4
Gus Grubba's avatar
Gus Grubba committed
    property bool   _valid:             _activeVehicle && _activeVehicle.airspaceController.weatherInfo.valid
Gus Grubba's avatar
Gus Grubba committed
    property var    _activeVehicle:     QGroundControl.multiVehicleManager.activeVehicle
Gus Grubba's avatar
Gus Grubba committed
    property bool   _celcius:           QGroundControl.settingsManager.unitsSettings.temperatureUnits.rawValue === UnitsSettings.TemperatureUnitsCelsius
Gus Grubba's avatar
Gus Grubba committed
    property int    _tempC:             _valid ? _activeVehicle.airspaceController.weatherInfo.temperature : 0
Gus Grubba's avatar
Gus Grubba committed
    property string _tempS:             (_celcius ? _tempC : _tempC * 1.8 + 32).toFixed(0) + (_celcius ? "°C" : "°F")
Gus Grubba's avatar
Gus Grubba committed
    Row {
Gus Grubba's avatar
Gus Grubba committed
        id:                         weatherRow
        spacing:                    ScreenTools.defaultFontPixelHeight * 0.5
Gus Grubba's avatar
Gus Grubba committed
        QGCColoredImage {
            width:                  height
            height:                 iconHeight
            sourceSize.height:      height
Gus Grubba's avatar
Gus Grubba committed
            source:                 _valid ? _activeVehicle.airspaceController.weatherInfo.icon : ""
            color:                  contentColor
Gus Grubba's avatar
Gus Grubba committed
            visible:                _valid
Gus Grubba's avatar
Gus Grubba committed
            anchors.verticalCenter: parent.verticalCenter
        }
        QGCLabel {
Gus Grubba's avatar
Gus Grubba committed
            text:                   _tempS
            color:                  contentColor
Gus Grubba's avatar
Gus Grubba committed
            visible:                _valid
Gus Grubba's avatar
Gus Grubba committed
            anchors.verticalCenter: parent.verticalCenter
        }
    }
}