9import QtQuick.Controls as QQC2
10import org.kde.kirigami as Kirigami
11import org.kde.kosmindoormap
12import org.kde.osm.editorcontroller
14Kirigami.OverlaySheet {
15 id: elementDetailsSheet
21 text: elementDetailsSheet.model.name
24 text: elementDetailsSheet.model.category
32 model: elementDetailsSheet.model
34 Layout.preferredWidth: Kirigami.Units.gridUnit * 25
37 id: infoStringDelegate
39 x: Kirigami.Units.largeSpacing
40 width: parent.ListView.view.width - 2 * x
42 visible: row && row.keyLabel != "
"
43 text: row ? row.keyLabel + ":
" : ""
44 color: (row && row.category == OSMElementInformationModel.DebugCategory) ? Kirigami.Theme.disabledTextColor : Kirigami.Theme.textColor
45 Layout.alignment: Qt.AlignTop
48 text: row ? row.value : ""
49 color: (row && row.category == OSMElementInformationModel.DebugCategory) ? Kirigami.Theme.disabledTextColor : Kirigami.Theme.textColor
50 wrapMode: Text.WordWrap
51 Layout.fillWidth: true
59 x: Kirigami.Units.largeSpacing
60 width: parent.ListView.view.width - 2 * x
62 visible: row && row.keyLabel != ""
63 text: row ? row.keyLabel + ":
" : ""
64 color: (row && row.category == OSMElementInformationModel.DebugCategory) ? Kirigami.Theme.disabledTextColor : Kirigami.Theme.textColor
65 Layout.alignment: Qt.AlignTop
68 text: row ? "<a href=\
"" + row.url +
"\">" + row.value +
"</a>" :
""
69 color: (row && row.category == OSMElementInformationModel.DebugCategory) ?
Kirigami.Theme.disabledTextColor :
Kirigami.Theme.textColor
70 onLinkActivated:
Qt.openUrlExternally(
link)
71 wrapMode:
Text.WordWrap
72 Layout.fillWidth: true
78 id: infoAddressDelegate
81 width: parent.ListView.view.width - 2 * x
82 text: (row.value.street +
" " + row.value.houseNumber +
"\n" + row.value.postalCode +
" " + row.value.city +
"\n" + row.value.
country).trim()
87 id: infoOpeningHoursDelegate
88 IndoorMapInfoSheetOpeningHoursDelegate {
90 width: parent.ListView.view.width - 2 * x
91 mapData: elementDetailsSheet.mapData
96 section.property:
"categoryLabel"
101 color: section ==
"Debug" ?
Kirigami.Theme.disabledTextColor :
Kirigami.Theme.textColor
105 section.criteria: ViewSection.FullString
106 section.labelPositioning: ViewSection.InlineLabels
109 property var row: model
112 case OSMElementInformationModel.Link:
113 return infoLinkDelegate;
114 case OSMElementInformationModel.PostalAddress:
115 return infoAddressDelegate;
116 case OSMElementInformationModel.OpeningHoursType:
117 return infoOpeningHoursDelegate;
118 case OSMElementInformationModel.String:
120 return infoStringDelegate;
127 Item { Layout.fillWidth:
true }
129 icon.name:
"document-edit"
131 onClicked: EditorController.editElement(elementDetailsSheet.model.element.element, Editor.ID)
134 icon.name:
"org.openstreetmap.josm"
135 text:
"Edit with JOSM"
136 visible: EditorController.hasEditor(Editor.JOSM)
137 onClicked: EditorController.editElement(elementDetailsSheet.model.element.element, Editor.JOSM)
140 icon.name:
"document-edit"
141 text:
"Edit with Vespucci"
142 visible: EditorController.hasEditor(Editor.Vespucci)
143 onClicked: EditorController.editElement(elementDetailsSheet.model.element.element, Editor.Vespucci)
147 onClosed: elementDetailsSheet.model.clear()
KIOCORE_EXPORT CopyJob * link(const QList< QUrl > &src, const QUrl &destDir, JobFlags flags=DefaultFlags)
@ Text
maximum width before wrapping
QStringView level(QStringView ifopt)
KI18NLOCALEDATA_EXPORT KCountry country(const char *ianaId)