Warning, /network/tokodon/src/content/ui/ConversationDelegate.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu> 0002 // SPDX-License-Identifier: LGPL-2.1-or-later 0003 0004 import QtQuick 2.15 0005 import org.kde.kirigami 2.20 as Kirigami 0006 import QtQuick.Controls 2.15 as QQC2 0007 import QtQuick.Layouts 1.15 0008 import org.kde.kirigamiaddons.delegates 1.0 as Delegates 0009 import org.kde.kmasto 1.0 0010 0011 Delegates.IndicatorItemDelegate { 0012 id: root 0013 0014 required property string id 0015 required property string content 0016 required property var authorIdentity 0017 required property string relativeTime 0018 required property int conversationsCount 0019 required property string conversationId 0020 0021 readonly property bool showSeparator: root.index !== conversationsCount - 1 0022 0023 signal markAsRead(conversationId: string) 0024 0025 onClicked: { 0026 Navigation.openThread(root.id) 0027 if (root.unread) { 0028 root.markAsRead(root.conversationId); 0029 } 0030 } 0031 0032 contentItem: RowLayout { 0033 id: rowLayout 0034 0035 Kirigami.Avatar { 0036 name: root.authorIdentity.displayName 0037 source: root.authorIdentity.avatarUrl 0038 Layout.rightMargin: Kirigami.Units.largeSpacing 0039 sourceSize.width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0040 sourceSize.height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0041 Layout.preferredWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0042 Layout.preferredHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0043 } 0044 0045 ColumnLayout { 0046 Layout.fillWidth: true 0047 spacing: Kirigami.Units.smallSpacing 0048 0049 RowLayout { 0050 Layout.fillWidth: true 0051 QQC2.Label { 0052 Layout.fillWidth: true 0053 text: root.authorIdentity.displayNameHtml 0054 elide: Text.ElideRight 0055 font.weight: root.unread ? Font.Bold : Font.Normal 0056 } 0057 QQC2.Label { 0058 text: root.relativeTime 0059 color: Kirigami.Theme.disabledTextColor 0060 } 0061 } 0062 0063 QQC2.Label { 0064 color: Kirigami.Theme.disabledTextColor 0065 Layout.fillWidth: true 0066 maximumLineCount: 1 0067 elide: Text.ElideRight 0068 text: root.content 0069 } 0070 } 0071 } 0072 }