Warning, /network/neochat/src/qml/ReactionDelegate.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2019 Black Hat <bhat@encom.eu.org> 0002 // SPDX-FileCopyrightText: 2020 Carl Schwan <carl@carlschwan.eu> 0003 // SPDX-License-Identifier: GPL-3.0-only 0004 0005 import QtQuick 0006 import QtQuick.Controls as QQC2 0007 0008 import org.kde.kirigami as Kirigami 0009 import org.kde.neochat.config 0010 0011 Flow { 0012 id: root 0013 0014 /** 0015 * @brief The reaction model to get the reactions from. 0016 */ 0017 property alias model: reactionRepeater.model 0018 0019 /** 0020 * @brief The given reaction has been clicked. 0021 * 0022 * Thrown when one of the reaction buttons in the flow is clicked. 0023 */ 0024 signal reactionClicked(string reaction) 0025 0026 spacing: Kirigami.Units.smallSpacing 0027 0028 Repeater { 0029 id: reactionRepeater 0030 0031 delegate: QQC2.AbstractButton { 0032 id: reactionDelegate 0033 0034 required property string textContent 0035 required property string reaction 0036 required property string toolTip 0037 required property bool hasLocalUser 0038 0039 width: Math.max(contentItem.implicitWidth + leftPadding + rightPadding, height) 0040 height: Math.round(Kirigami.Units.gridUnit * 1.5) 0041 0042 contentItem: QQC2.Label { 0043 id: reactionLabel 0044 horizontalAlignment: Text.AlignHCenter 0045 verticalAlignment: Text.AlignVCenter 0046 text: reactionDelegate.textContent 0047 background: null 0048 wrapMode: TextEdit.NoWrap 0049 textFormat: Text.RichText 0050 } 0051 0052 padding: Kirigami.Units.smallSpacing 0053 0054 background: Kirigami.ShadowedRectangle { 0055 color: reactionDelegate.hasLocalUser ? Kirigami.Theme.positiveBackgroundColor : Kirigami.Theme.backgroundColor 0056 Kirigami.Theme.inherit: false 0057 Kirigami.Theme.colorSet: Config.compactLayout ? Kirigami.Theme.Window : Kirigami.Theme.View 0058 radius: height / 2 0059 shadow { 0060 size: Kirigami.Units.smallSpacing 0061 color: !reactionDelegate.hasLocalUser ? Qt.rgba(0.0, 0.0, 0.0, 0.10) : Qt.rgba(Kirigami.Theme.textColor.r, Kirigami.Theme.textColor.g, Kirigami.Theme.textColor.b, 0.10) 0062 } 0063 } 0064 0065 onClicked: reactionClicked(reactionDelegate.reaction) 0066 0067 hoverEnabled: true 0068 0069 QQC2.ToolTip.visible: hovered 0070 QQC2.ToolTip.text: reactionDelegate.toolTip 0071 } 0072 } 0073 }