Warning, /multimedia/plasmatube/src/ui/components/Comments.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2023 Joshua Goins <josh@redstrate.com> 0002 // SPDX-License-Identifier: GPL-3.0-or-later 0003 0004 import QtQuick 0005 import QtQuick.Layouts 0006 import QtQuick.Controls as QQC2 0007 0008 import org.kde.kirigami as Kirigami 0009 import org.kde.kirigamiaddons.components as KirigamiComponents 0010 0011 import org.kde.plasmatube 0012 0013 ColumnLayout { 0014 id: root 0015 0016 spacing: Kirigami.Units.mediumSpacing 0017 0018 function loadComments(vid) { 0019 commentsModel.fillComments(vid) 0020 } 0021 0022 Repeater { 0023 id: commentsRepeater 0024 0025 Layout.fillWidth: true 0026 Layout.fillHeight: true 0027 0028 model: CommentsModel { 0029 id: commentsModel 0030 } 0031 0032 delegate: RowLayout { 0033 width: commentsRepeater.width 0034 0035 required property string author 0036 required property string authorAvatar 0037 required property string content 0038 0039 KirigamiComponents.Avatar { 0040 source: authorAvatar 0041 cache: true 0042 name: author 0043 0044 Layout.alignment: Qt.AlignTop 0045 } 0046 0047 ColumnLayout { 0048 id: layout 0049 0050 Layout.fillWidth: true 0051 0052 spacing: Kirigami.Units.mediumSpacing 0053 clip: true 0054 0055 Kirigami.Heading { 0056 level: 4 0057 text: author 0058 type: Kirigami.Heading.Type.Primary 0059 color: root.secondary ? Kirigami.Theme.disabledTextColor : Kirigami.Theme.textColor 0060 verticalAlignment: Text.AlignTop 0061 elide: Text.ElideRight 0062 textFormat: Text.RichText 0063 0064 Layout.fillWidth: true 0065 } 0066 0067 QQC2.Label { 0068 color: Kirigami.Theme.disabledTextColor 0069 text: content 0070 verticalAlignment: Text.AlignTop 0071 wrapMode: Text.WordWrap 0072 textFormat: Text.RichText 0073 0074 onHoveredLinkChanged: if (hoveredLink.length > 0 && hoveredLink !== "1") { 0075 applicationWindow().hoverLinkIndicator.text = hoveredLink; 0076 } else { 0077 applicationWindow().hoverLinkIndicator.text = ""; 0078 } 0079 0080 onLinkActivated: (link) => Qt.openUrlExternally(link) 0081 0082 HoverHandler { 0083 cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.IBeamCursor 0084 } 0085 0086 Layout.fillWidth: true 0087 } 0088 } 0089 } 0090 } 0091 0092 QQC2.Button { 0093 text: i18nc("@action:button Load more comments", "Load more") 0094 onClicked: commentsModel.loadMore() 0095 } 0096 }