Warning, /network/neochat/src/qml/GroupChatDrawerHeader.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2020 Carl Schwan <carl@carlschwan.eu> 0002 // SPDX-FileCopyrightText: 2023 Tobias Fella <tobias.fella@kde.org> 0003 // SPDX-License-Identifier: GPL-2.0-or-later 0004 0005 import QtQuick 0006 import QtQuick.Layouts 0007 import org.kde.kirigami as Kirigami 0008 import org.kde.kirigamiaddons.labs.components as KirigamiComponents 0009 0010 import org.kde.neochat 0011 0012 ColumnLayout { 0013 id: root 0014 /** 0015 * @brief The current room that user is viewing. 0016 */ 0017 required property NeoChatRoom room 0018 0019 Layout.fillWidth: true 0020 0021 RowLayout { 0022 Layout.fillWidth: true 0023 Layout.leftMargin: Kirigami.Units.largeSpacing 0024 Layout.topMargin: Kirigami.Units.largeSpacing 0025 Layout.bottomMargin: Kirigami.Units.largeSpacing 0026 0027 spacing: Kirigami.Units.largeSpacing 0028 0029 KirigamiComponents.Avatar { 0030 Layout.preferredWidth: Kirigami.Units.iconSizes.large 0031 Layout.preferredHeight: Kirigami.Units.iconSizes.large 0032 0033 name: root.room ? root.room.displayName : "" 0034 source: root.room && root.room.avatarMediaId ? ("image://mxc/" + root.room.avatarMediaId) : "" 0035 0036 Rectangle { 0037 visible: room.usesEncryption 0038 color: Kirigami.Theme.backgroundColor 0039 0040 width: Kirigami.Units.gridUnit 0041 height: Kirigami.Units.gridUnit 0042 0043 anchors { 0044 bottom: parent.bottom 0045 right: parent.right 0046 } 0047 0048 radius: Math.round(width / 2) 0049 0050 Kirigami.Icon { 0051 source: "channel-secure-symbolic" 0052 anchors.fill: parent 0053 } 0054 } 0055 } 0056 0057 0058 ColumnLayout { 0059 Layout.fillWidth: true 0060 Layout.alignment: Qt.AlignVCenter 0061 spacing: 0 0062 0063 Kirigami.Heading { 0064 Layout.fillWidth: true 0065 text: root.room ? root.room.displayName : i18n("No name") 0066 textFormat: Text.PlainText 0067 wrapMode: Text.Wrap 0068 } 0069 0070 Kirigami.SelectableLabel { 0071 Layout.fillWidth: true 0072 font: Kirigami.Theme.smallFont 0073 textFormat: TextEdit.PlainText 0074 visible: root.room && root.room.canonicalAlias 0075 text: root.room && root.room.canonicalAlias ? root.room.canonicalAlias : "" 0076 } 0077 } 0078 } 0079 0080 Kirigami.SelectableLabel { 0081 Layout.fillWidth: true 0082 Layout.leftMargin: Kirigami.Units.largeSpacing 0083 Layout.rightMargin: Kirigami.Units.largeSpacing 0084 0085 visible: text.length > 0 0086 0087 text: root.room && root.room.topic ? root.room.topic.replace(replaceLinks, "<a href=\"$1\">$1</a>") : "" 0088 readonly property var replaceLinks: /(http[s]?:\/\/[^ \r\n]*)/g 0089 textFormat: TextEdit.MarkdownText 0090 wrapMode: Text.Wrap 0091 onLinkActivated: link => UrlHelper.openUrl(link) 0092 } 0093 }