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 0005 import org.kde.kirigami 2 as Kirigami 0006 import QtQuick.Controls 2 as QQC2 0007 import QtQuick.Layouts 0008 import org.kde.kirigamiaddons.delegates 1 as Delegates 0009 import org.kde.kirigamiaddons.components 1 as KirigamiComponents 0010 import org.kde.tokodon 0011 0012 Delegates.IndicatorItemDelegate { 0013 id: root 0014 0015 required property string id 0016 required property string content 0017 required property var authorIdentity 0018 required property string relativeTime 0019 required property int conversationsCount 0020 required property string conversationId 0021 0022 readonly property bool showSeparator: root.index !== conversationsCount - 1 0023 0024 signal markAsRead(conversationId: string) 0025 0026 onClicked: { 0027 Navigation.openThread(root.id) 0028 if (root.unread) { 0029 root.markAsRead(root.conversationId); 0030 } 0031 } 0032 0033 contentItem: RowLayout { 0034 id: rowLayout 0035 0036 KirigamiComponents.Avatar { 0037 name: root.authorIdentity.displayName 0038 source: root.authorIdentity.avatarUrl 0039 Layout.rightMargin: Kirigami.Units.largeSpacing 0040 sourceSize.width: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0041 sourceSize.height: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0042 Layout.preferredWidth: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0043 Layout.preferredHeight: Kirigami.Units.gridUnit + Kirigami.Units.largeSpacing * 2 0044 } 0045 0046 ColumnLayout { 0047 Layout.fillWidth: true 0048 spacing: Kirigami.Units.smallSpacing 0049 0050 RowLayout { 0051 Layout.fillWidth: true 0052 QQC2.Label { 0053 Layout.fillWidth: true 0054 text: root.authorIdentity.displayNameHtml 0055 elide: Text.ElideRight 0056 font.weight: root.unread ? Font.Bold : Font.Normal 0057 } 0058 QQC2.Label { 0059 text: root.relativeTime 0060 color: Kirigami.Theme.disabledTextColor 0061 } 0062 } 0063 0064 QQC2.Label { 0065 color: Kirigami.Theme.disabledTextColor 0066 Layout.fillWidth: true 0067 maximumLineCount: 1 0068 elide: Text.ElideRight 0069 text: root.content 0070 } 0071 } 0072 } 0073 }