Warning, /pim/itinerary/src/app/WeatherForecastDelegate.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2018 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Layouts 0009 import QtQuick.Controls as QQC2 0010 import org.kde.kirigami as Kirigami 0011 import org.kde.kirigamiaddons.formcard as FormCard 0012 import org.kde.itinerary 0013 0014 FormCard.FormCard { 0015 id: root 0016 width: ListView.view.width 0017 required property var weatherInformation 0018 readonly property var weatherForecast: weatherInformation.forecast 0019 0020 visible: weatherForecast.valid 0021 FormCard.AbstractFormDelegate { 0022 id: content 0023 onClicked: if (weatherForecast.range > 1) { applicationWindow().pageStack.push(weatherForecastPage, {weatherInformation: root.weatherInformation}); } 0024 contentItem: RowLayout { 0025 spacing: 0 0026 0027 Kirigami.Icon { 0028 source: weatherForecast.symbolIconName 0029 Layout.preferredHeight: Kirigami.Units.iconSizes.medium 0030 Layout.preferredWidth: Kirigami.Units.iconSizes.medium 0031 Layout.rightMargin: Kirigami.Units.largeSpacing 0032 } 0033 0034 Kirigami.Icon { 0035 Layout.preferredHeight: Kirigami.Units.iconSizes.small 0036 Layout.preferredWidth: Kirigami.Units.iconSizes.small 0037 source: { 0038 if (weatherForecast.maximumTemperature > 35.0) 0039 return "temperature-warm"; 0040 if (weatherForecast.minimumTemperature < -20.0) 0041 return "temperature-cold"; 0042 return "temperature-normal" 0043 } 0044 } 0045 QQC2.Label { 0046 text: weatherForecast.minimumTemperature == weatherForecast.maximumTemperature ? 0047 Localizer.formatTemperature(weatherForecast.maximumTemperature) : 0048 i18nc("temperature range", "%1 / %2", Localizer.formatTemperature(weatherForecast.minimumTemperature), 0049 Localizer.formatTemperature(weatherForecast.maximumTemperature)) 0050 Layout.rightMargin: Kirigami.Units.largeSpacing 0051 } 0052 0053 Kirigami.Icon { 0054 Layout.preferredHeight: Kirigami.Units.iconSizes.small 0055 Layout.preferredWidth: Kirigami.Units.iconSizes.small 0056 source: "raindrop" 0057 color: weatherForecast.precipitation > 25.0 ? Kirigami.Theme.negativeTextColor : Kirigami.Theme.textColor 0058 visible: weatherForecast.precipitation > 0 0059 } 0060 QQC2.Label { 0061 text: i18nc("precipitation", "%1 mm", weatherForecast.precipitation) 0062 visible: weatherForecast.precipitation > 0 0063 Layout.rightMargin: Kirigami.Units.largeSpacing 0064 } 0065 0066 Kirigami.Icon { 0067 Layout.preferredHeight: Kirigami.Units.iconSizes.small 0068 Layout.preferredWidth: Kirigami.Units.iconSizes.small 0069 source: "flag" 0070 color: weatherForecast.windSpeed > 17.5 ? Kirigami.Theme.negativeTextColor : Kirigami.Theme.textColor 0071 visible: weatherForecast.windSpeed > 3.5 0072 } 0073 QQC2.Label { 0074 text: i18nc("windSpeed", "%1 m/s", weatherForecast.windSpeed) 0075 visible: weatherForecast.windSpeed > 3.5 0076 } 0077 0078 Item { Layout.fillWidth: true } 0079 } 0080 } 0081 0082 0083 Accessible.name: i18n("Weather Forecast") 0084 Accessible.onPressAction: content.clicked() 0085 }