Warning, /utilities/ktrip/src/qml/ConnectionsPage.qml is written in an unsupported language. File is not indexed.
0001 /** 0002 * SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0005 */ 0006 0007 import QtQuick 2.2 0008 import QtQuick.Layouts 1.1 0009 import QtQuick.Controls 2.4 0010 import org.kde.kirigami 2.12 as Kirigami 0011 import org.kde.kpublictransport 1.0 as KPT 0012 import org.kde.ktrip 1.0 0013 0014 Kirigami.ScrollablePage { 0015 title: i18nc("@title", "Connections") 0016 0017 header: Kirigami.InlineMessage { 0018 type: Kirigami.MessageType.Error 0019 text: theModel.errorMessage 0020 visible: theModel.errorMessage != "" 0021 } 0022 0023 ListView { 0024 id: connectionList 0025 0026 model: KPT.JourneyQueryModel { 0027 id: theModel 0028 request: Controller.createJourneyRequest() 0029 manager: Manager 0030 } 0031 0032 header: ToolButton { 0033 width: parent.width 0034 visible: theModel.canQueryPrevious 0035 onClicked: theModel.queryPrevious() 0036 icon.name: "go-up-symbolic" 0037 } 0038 0039 delegate: ItemDelegate { 0040 0041 width: ListView.view.width 0042 0043 onClicked: pageStack.push(Qt.resolvedUrl("ConnectionDetailsPage.qml"), { 0044 journey: journey 0045 }) 0046 readonly property bool cancelled: journey.disruptionEffect == KPT.Disruption.NoService 0047 readonly property var firstSection: journey.sections[0] 0048 readonly property var lastSection: journey.sections[journey.sections.length - 1] 0049 0050 contentItem: Column { 0051 0052 ConnectionHeading { 0053 journey: model.journey 0054 } 0055 0056 RowLayout { 0057 width: parent.width 0058 Label { 0059 text: i18n("%1 %2", firstSection.scheduledDepartureTime.toLocaleTimeString(Locale.ShortFormat), firstSection.from.name) 0060 font.strikeout: cancelled 0061 } 0062 0063 Label { 0064 visible: firstSection.hasExpectedDepartureTime 0065 text: i18n("+%1", firstSection.departureDelay) 0066 color: firstSection.departureDelay > 0 ? Kirigami.Theme.negativeTextColor : Kirigami.Theme.positiveTextColor 0067 font.strikeout: cancelled 0068 } 0069 0070 Item { 0071 Layout.fillWidth: true 0072 } 0073 0074 Label { 0075 text: i18np("%1 change", "%1 changes", journey.numberOfChanges) 0076 visible: journey.numberOfChanges > 0 0077 font.strikeout: cancelled 0078 Layout.alignment: Qt.AlignRight 0079 } 0080 } 0081 0082 RowLayout { 0083 width: parent.width 0084 Label { 0085 text: i18n("%1 %2", lastSection.scheduledArrivalTime.toLocaleTimeString(Locale.ShortFormat), lastSection.to.name) 0086 font.strikeout: cancelled 0087 } 0088 Label { 0089 Layout.fillWidth: true 0090 visible: lastSection.hasExpectedArrivalTime 0091 text: i18n("+%1", lastSection.arrivalDelay) 0092 color: lastSection.arrivalDelay > 0 ? Kirigami.Theme.negativeTextColor : Kirigami.Theme.positiveTextColor 0093 font.strikeout: cancelled 0094 } 0095 } 0096 } 0097 } 0098 0099 footer: ToolButton { 0100 width: parent.width 0101 visible: theModel.canQueryNext 0102 onClicked: theModel.queryNext() 0103 icon.name: "go-down-symbolic" 0104 } 0105 0106 Kirigami.PlaceholderMessage { 0107 text: i18n("No connections found") 0108 anchors.centerIn: parent 0109 visible: connectionList.count === 0 && !theModel.loading 0110 } 0111 0112 BusyIndicator { 0113 running: theModel.loading 0114 anchors.centerIn: parent 0115 } 0116 } 0117 }