Warning, /network/neochat/src/qml/FullScreenMap.qml is written in an unsupported language. File is not indexed.

0001 // SPDX-FileCopyrightText: 2021 Tobias Fella <fella@posteo.de>
0002 // SPDX-License-Identifier: GPL-2.0-or-later
0003 
0004 import QtQuick
0005 import QtQuick.Controls
0006 import QtLocation
0007 import QtPositioning
0008 
0009 import org.kde.kirigami as Kirigami
0010 
0011 ApplicationWindow {
0012     id: root
0013 
0014     property real latitude: NaN
0015     property real longitude: NaN
0016     property string asset
0017     property var author
0018     property QtObject liveLocationModel: null
0019 
0020     flags: Qt.FramelessWindowHint | Qt.WA_TranslucentBackground
0021     visibility: Qt.WindowFullScreen
0022 
0023     title: i18n("View Location")
0024 
0025     Shortcut {
0026         sequence: "Escape"
0027         onActivated: root.destroy()
0028     }
0029 
0030     color: Kirigami.Theme.backgroundColor
0031 
0032     background: AbstractButton {
0033         onClicked: root.destroy()
0034     }
0035 
0036     MapView {
0037         id: mapView
0038         anchors.fill: parent
0039         map.center: root.liveLocationModel ?  QtPositioning.coordinate(root.liveLocationModel.boundingBox.y, root.liveLocationModel.boundingBox.x)
0040             : QtPositioning.coordinate(root.latitude, root.longitude)
0041         map.zoomLevel: 15
0042         map.plugin: OsmLocationPlugin.plugin
0043         LocationMapItem {
0044             latitude: root.latitude
0045             longitude: root.longitude
0046             asset: root.asset
0047             author: root.author
0048             isLive: true
0049             heading: NaN
0050             visible: !isNaN(root.latitude) && !isNaN(root.longitude)
0051         }
0052         MapItemView {
0053             model: root.liveLocationModel
0054             delegate: LocationMapItem {}
0055         }
0056 
0057         Connections {
0058             target: mapView.map
0059             function onCopyrightLinkActivated() {
0060                 Qt.openUrlExternally(link)
0061             }
0062         }
0063     }
0064 
0065     Button {
0066         anchors.top: parent.top
0067         anchors.right: parent.right
0068 
0069         text: i18n("Close")
0070         icon.name: "dialog-close"
0071         display: AbstractButton.IconOnly
0072 
0073         width: Kirigami.Units.gridUnit * 2
0074         height: Kirigami.Units.gridUnit * 2
0075 
0076         onClicked: root.destroy()
0077     }
0078 }