Warning, /network/neochat/src/qml/LocationMapItem.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2021 Tobias Fella <fella@posteo.de> 0002 // SPDX-FileCopyrightText: 2023 Volker Krause <vkrause@kde.org> 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 import QtQuick 0006 import QtQuick.Controls 0007 import QtQuick.Layouts 0008 import QtLocation 0009 import QtPositioning 0010 0011 import org.kde.kirigami as Kirigami 0012 import org.kde.kirigamiaddons.labs.components as KirigamiComponents 0013 0014 import org.kde.neochat 0015 0016 /** Location marker for any of the shared location maps. */ 0017 MapQuickItem { 0018 id: root 0019 required property real latitude 0020 required property real longitude 0021 0022 required property string asset 0023 required property var author 0024 0025 required property bool isLive 0026 0027 required property real heading 0028 0029 anchorPoint.x: sourceItem.width / 2 0030 anchorPoint.y: sourceItem.height 0031 coordinate: QtPositioning.coordinate(root.latitude, root.longitude) 0032 autoFadeIn: false 0033 sourceItem: Kirigami.Icon { 0034 id: mainIcon 0035 width: height 0036 height: Kirigami.Units.iconSizes.huge 0037 source: "gps" 0038 isMask: true 0039 color: root.isLive ? Kirigami.Theme.highlightColor : Kirigami.Theme.disabledTextColor 0040 0041 Kirigami.Icon { 0042 anchors.centerIn: parent 0043 anchors.verticalCenterOffset: -parent.height / 8 0044 visible: root.asset === "m.pin" 0045 width: height 0046 height: parent.height / 3 + 1 0047 source: "pin" 0048 isMask: true 0049 color: parent.color 0050 } 0051 KirigamiComponents.Avatar { 0052 anchors.centerIn: parent 0053 anchors.verticalCenterOffset: -parent.height / 8 0054 visible: root.asset === "m.self" 0055 width: height 0056 height: parent.height / 3 + 1 0057 name: root.author.displayName 0058 source: root.author.avatarSource 0059 color: root.author.color 0060 } 0061 0062 Kirigami.Icon { 0063 id: headingIcon 0064 source: "go-up-symbolic" 0065 color: parent.color 0066 visible: !isNaN(root.heading) && root.isLive 0067 anchors.bottom: mainIcon.top 0068 anchors.horizontalCenter: mainIcon.horizontalCenter 0069 transform: Rotation { 0070 origin.x: headingIcon.width / 2 0071 origin.y: headingIcon.height + mainIcon.height / 2 0072 angle: root.heading 0073 } 0074 } 0075 } 0076 }