9import QtQuick.Controls as QQC2
10import org.kde.kirigami as Kirigami
11import org.kde.kosmindoormap
14 title: map.floorLevels.hasName(map.view.floorLevel) ? map.floorLevels.name(map.view.floorLevel) : ("Floor " +
map.floorLevels.name(
map.view.floorLevel));
15 property point coordinate
17 property alias debug: infoModel.debug
18 property alias mapHoverEnabled: hoverHandler.enabled
27 Kirigami.ColumnView.preventStealing:
true
31 icon.name:
"go-down-symbolic"
32 enabled:
map.floorLevels.hasFloorLevelBelow(
map.view.floorLevel)
33 onTriggered:
map.view.floorLevel =
map.floorLevels.floorLevelBelow(
map.view.floorLevel)
36 icon.name:
"go-up-symbolic"
37 enabled:
map.floorLevels.hasFloorLevelAbove(
map.view.floorLevel)
38 onTriggered:
map.view.floorLevel =
map.floorLevels.floorLevelAbove(
map.view.floorLevel)
42 OSMElementInformationModel {
48 id: elementDetailsSheet
50 mapData: page.map.mapData
53 FloorLevelChangeModel {
54 id: floorLevelChangeModel
55 currentFloorLevel:
map.view.floorLevel
56 floorLevelModel:
map.floorLevels
62 text: floorLevelChangeModel.title
65 model: floorLevelChangeModel
66 Layout.preferredWidth:
Kirigami.Units.gridUnit * 10
67 delegate: QQC2.ItemDelegate {
69 width: ListView.view.width
70 contentItem:
Kirigami.TitleSubtitle {
72 font.bold: model.isCurrentFloor
75 elevatorSheet.close();
76 map.view.floorLevel = model.floorLevel;
85 hoveredElement:
map.elementAt(
map.mapEventPointToScreen(hoverHandler.point))
89 anchors.left:
map.left
90 anchors.bottom:
map.bottom
91 width: 0.3 *
map.width
94 IndoorMapAttributionLabel {
95 anchors.right:
map.right
96 anchors.bottom:
map.bottom
100 floorLevelChangeModel.element = element;
101 if (floorLevelChangeModel.hasSingleLevelChange) {
102 showPassiveNotification(
"Switched to floor " + floorLevelChangeModel.destinationLevelName,
"short");
103 map.view.floorLevel = floorLevelChangeModel.destinationLevel;
105 }
else if (floorLevelChangeModel.hasMultipleLevelChanges) {
106 elevatorSheet.open();
110 infoModel.element = element;
111 if (infoModel.name !=
"" || infoModel.debug) {
112 elementDetailsSheet.open();
115 onElementLongPressed: {
117 infoModel.element = element;
118 if (infoModel.name !=
"" || infoModel.debug) {
119 elementDetailsSheet.open();
126 acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
130 onCoordinateChanged:
map.mapLoader.loadForCoordinate(coordinate.y, coordinate.x);
QML item for displaying a train station or airport map.
QFuture< void > map(Iterator begin, Iterator end, MapFunctor &&function)