9import QtQuick.Controls as QQC2
10import org.kde.kirigami as Kirigami
11import org.kde.kpublictransport as PublicTransport
12import org.kde.kosmindoormap
13import org.kde.kosmindoormap.kpublictransport
15Kirigami.OverlaySheet {
17 property point coordinate;
18 property var publicTransportManager
20 signal coordinateSelected()
23 text:
"Select Location"
32 ExampleLocationModel { id: exampleModel }
36 Layout.fillWidth:
true
40 onCurrentIndexChanged: {
41 var obj = exampleModel.get(currentIndex);
42 root.coordinate.y = obj.lat;
43 root.coordinate.x = obj.lon;
55 placeholderText:
"<latitude>, <longitude>"
56 Layout.fillWidth:
true
57 onEditingFinished: function() {
60 function parseCoordinate() {
61 var c = coordField.text.match(/([\d\.-]+)[,;/ ]+([\d\.-]*)/);
63 root.coordinate.y = c[1];
64 root.coordinate.x = c[2];
69 icon.name:
"edit-clear-symbolic"
70 onClicked: function() {
72 coordField.parseCoordinate();
76 icon.name:
"edit-paste-symbolic"
77 onClicked: function() {
80 coordField.parseCoordinate();
92 placeholderText:
"train station name"
93 Layout.fillWidth:
true
94 onEditingFinished: function() {
95 locationModel.request.name = nameField.text;
96 locationModel.request.backends = [
"un_navitia",
"de_db" ];
97 locationModel.request.maximumResults = 10;
98 locationModel.request.types = PublicTransport.Location.Stop;
101 PublicTransport.LocationQueryModel {
103 manager: root.publicTransportManager
106 id: nameSearchResultView
107 Layout.fillWidth:
true
109 implicitHeight: contentHeight
111 delegate: QQC2.ItemDelegate {
112 width: ListView.view.width
113 contentItem:
Kirigami.TitleSubtitle {
117 onCurrentIndexChanged: function() {
118 var loc = locationModel.
data(locationModel.index(nameSearchResultView.currentIndex, 0), PublicTransport.LocationQueryModel.LocationRole);
119 if (loc != undefined) {
120 root.coordinate.x = loc.longitude;
121 root.coordinate.y = loc.latitude;
127 footer: QQC2.Button {
129 enabled: root.coordinate.x != 0.0 && root.coordinate.x != NaN && root.coordinate.y != 0.0 && root.coordinate != NaN
131 console.log(root.coordinate);
133 coordinateSelected();
QVariant location(const QVariant &res)
QStringView level(QStringView ifopt)