Warning, /network/tokodon/src/content/ui/StatusDelegate/InlineIdentityInfo.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2021 Carl Schwan <carl@carlschwan.eu>
0002 // SPDX-License-Identifier: LGPL-2.0-or-later
0003
0004 import QtQuick
0005 import org.kde.kirigami 2 as Kirigami
0006 import QtQuick.Controls 2 as QQC2
0007 import QtQuick.Layouts
0008 import org.kde.kirigamiaddons.components 1 as KirigamiComponents
0009
0010 import org.kde.tokodon
0011 import org.kde.tokodon.private
0012
0013 // Used everywhere, is a component with an Avatar, some labels and such smashed together
0014 RowLayout {
0015 id: root
0016
0017 required property var identity
0018 required property bool secondary
0019 property bool admin: false
0020 property string ip
0021 readonly property alias avatar: avatar
0022
0023 spacing: Kirigami.Units.mediumSpacing
0024
0025 signal clicked()
0026
0027 KirigamiComponents.AvatarButton {
0028 id: avatar
0029
0030 Layout.alignment: admin ? Qt.AlignCenter : Qt.AlignTop
0031 Layout.rowSpan: 5
0032
0033 source: root.identity.avatarUrl
0034 cache: true
0035 text: i18n("View Profile")
0036 onClicked: if (!admin) {
0037 Navigation.openAccount(root.identity.id);
0038 root.clicked();
0039 }
0040 name: root.identity.displayName
0041 }
0042
0043 ColumnLayout {
0044 id: layout
0045
0046 Layout.fillWidth: true
0047
0048 spacing: 0
0049 clip: true
0050
0051 Kirigami.Heading {
0052 level: 4
0053 font.pixelSize: Config.defaultFont.pixelSize + 2
0054 font.pointSize: -1
0055 text: root.identity.displayNameHtml
0056 type: Kirigami.Heading.Type.Primary
0057 color: root.secondary ? Kirigami.Theme.disabledTextColor : Kirigami.Theme.textColor
0058 verticalAlignment: Text.AlignTop
0059 elide: Text.ElideRight
0060 textFormat: Text.RichText
0061 maximumLineCount: 1
0062
0063 Layout.fillWidth: true
0064
0065 MouseArea {
0066 anchors.fill: parent
0067 cursorShape: Qt.PointingHandCursor
0068 onClicked: avatar.clicked()
0069 }
0070 }
0071
0072 QQC2.Label {
0073 font.pixelSize: Config.defaultFont.pixelSize + 1
0074 elide: Text.ElideRight
0075 color: Kirigami.Theme.disabledTextColor
0076 text: `@${root.identity.account}`
0077 verticalAlignment: Text.AlignTop
0078 maximumLineCount: 1
0079
0080 Layout.fillWidth: true
0081
0082 MouseArea {
0083 anchors.fill: parent
0084 cursorShape: Qt.PointingHandCursor
0085 onClicked: avatar.clicked()
0086 }
0087 }
0088 Kirigami.Heading {
0089 id: emailHeading
0090 level: 4
0091 text: root.ip ? root.ip : ""
0092 visible: admin && root.ip
0093 type: Kirigami.Heading.Type.Secondary
0094 verticalAlignment: Text.AlignTop
0095 elide: Text.ElideRight
0096 maximumLineCount: 1
0097
0098 Layout.fillWidth: true
0099 }
0100 }
0101 }