Warning, /pim/itinerary/src/app/VehicleLoadIndicator.qml is written in an unsupported language. File is not indexed.
0001 /* 0002 SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 import QtQuick 0008 import QtQuick.Controls as QQC2 0009 import org.kde.kirigami as Kirigami 0010 import org.kde.kpublictransport 0011 0012 Item { 0013 property var loadInformation 0014 implicitWidth: loadIcon.visible ? loadIcon.width : fullMarker.visible ? fullMarker.implicitWidth : 0 0015 implicitHeight: childrenRect.height 0016 0017 // TODO specify filter criteria like class 0018 0019 readonly property var maxLoad: { 0020 var load = Load.Unknown; 0021 for (var i = 0; loadInformation != undefined && i < loadInformation.length; ++i) { 0022 load = Math.max(load, loadInformation[i].load); 0023 } 0024 return load; 0025 } 0026 0027 QQC2.Label { 0028 id: fullMarker 0029 text: i18nc("vehicle load", "FULL") 0030 color: Kirigami.Theme.negativeTextColor 0031 visible: maxLoad == Load.Full 0032 Accessible.ignored: !visible 0033 } 0034 0035 Kirigami.Icon { 0036 id: loadIcon 0037 visible: maxLoad != Load.Full && maxLoad != Load.Unknown 0038 source: "qrc:///images/seat.svg" 0039 isMask: true 0040 height: Kirigami.Units.iconSizes.small 0041 width: height 0042 color: { 0043 switch (maxLoad) { 0044 case Load.Low: return Kirigami.Theme.positiveTextColor; 0045 case Load.Medium: return Kirigami.Theme.neutralTextColor; 0046 case Load.High: return Kirigami.Theme.negativeTextColor; 0047 } 0048 return Kirigami.Theme.textColor; 0049 } 0050 Accessible.name: { 0051 switch (maxLoad) { 0052 case Load.Low: return i18nc("vehicle load", "Low"); 0053 case Load.Medium: return i18nc("vehicle load", "Medium") 0054 case Load.High: return i18nc("vehicle load", "High") 0055 } 0056 return null; 0057 } 0058 Accessible.ignored: !visible 0059 } 0060 }