Warning, /utilities/ktrip/src/qml/QueryPage.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.0 as Kirigami
0011 import org.kde.ktrip 1.0
0012 
0013 Kirigami.Page {
0014     id: root
0015 
0016     title: departures ? i18nc("@title", "Query Departures") : i18nc("@title", "Start Journey")
0017 
0018     property bool departures: false
0019 
0020     actions: [
0021         Kirigami.Action {
0022             icon.name: "system-search-symbolic"
0023             text: i18nc("@action", "Search")
0024             enabled: Controller.start.name != "" && (Controller.destination.name != "" || root.departures)
0025             onTriggered: pageStack.push(root.departures ? Qt.resolvedUrl("DeparturesPage.qml") : Qt.resolvedUrl("ConnectionsPage.qml"))
0026         }
0027     ]
0028 
0029     function startPicked(data) {
0030         Controller.start = data;
0031     }
0032 
0033     function destinationPicked(data) {
0034         Controller.destination = data;
0035     }
0036 
0037     ColumnLayout {
0038 
0039         width: parent.width
0040 
0041         Label {
0042             text: i18n("From:")
0043         }
0044         Button {
0045             Layout.fillWidth: true
0046             text: Controller.start.name ? Controller.start.name : i18nc("@action:button", "Pick Start")
0047             onClicked: pageStack.push(Qt.resolvedUrl("LocationQueryPage.qml"), {
0048                 title: i18nc("@title", "Search for Start Location"),
0049                 callback: root.startPicked
0050             })
0051         }
0052 
0053         Label {
0054             text: i18n("To:")
0055             visible: !root.departures
0056         }
0057         Button {
0058             Layout.fillWidth: true
0059             visible: !root.departures
0060             text: Controller.destination.name ? Controller.destination.name : i18nc("@action:button", "Pick Destination")
0061             onClicked: pageStack.push(Qt.resolvedUrl("LocationQueryPage.qml"), {
0062                 title: i18nc("@title", "Search for Destination Location"),
0063                 callback: root.destinationPicked
0064             })
0065         }
0066 
0067         Label {
0068             text: i18n("Departure date:")
0069         }
0070 
0071         DatePickerButton {
0072             text: Qt.formatDate(Controller.departureDate, Qt.DefaultLocaleShortDate)
0073             Layout.fillWidth: true
0074             onDatePicked: theDate => {
0075                 if (theDate != "") {
0076                     Controller.departureDate = theDate;
0077                 }
0078             }
0079         }
0080 
0081         Label {
0082             text: i18n("Departure time:")
0083         }
0084 
0085         TimePickerButton {
0086             text: Qt.formatTime(Controller.departureTime, Qt.DefaultLocaleShortDate)
0087             Layout.fillWidth: true
0088             onTimePicked: theTime => {
0089                 if (theTime != "") {
0090                     Controller.departureTime = theTime;
0091                 }
0092             }
0093         }
0094     }
0095 }