matrixion/resources/qml/delegates/Reply.qml

76 lines
1.7 KiB
QML
Raw Normal View History

2021-03-05 02:35:15 +03:00
// SPDX-FileCopyrightText: 2021 Nheko Contributors
// SPDX-License-Identifier: GPL-3.0-or-later
2021-02-14 03:28:28 +03:00
import QtQuick 2.12
2020-01-28 21:08:16 +03:00
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.2
import QtQuick.Window 2.2
2020-06-24 17:24:22 +03:00
import im.nheko 1.0
2020-04-09 01:10:08 +03:00
Item {
2020-10-08 22:11:21 +03:00
id: replyComponent
property alias modelData: reply.modelData
property color userColor: "red"
width: parent.width
height: replyContainer.height
2021-02-14 03:28:28 +03:00
TapHandler {
onSingleTapped: chat.positionViewAtIndex(chat.model.idToIndex(modelData.id), ListView.Contain)
}
CursorShape {
2020-10-08 22:11:21 +03:00
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
}
Rectangle {
id: colorLine
anchors.top: replyContainer.top
anchors.bottom: replyContainer.bottom
width: 4
color: TimelineManager.userColor(reply.modelData.userId, colors.window)
}
Column {
id: replyContainer
anchors.left: colorLine.right
anchors.leftMargin: 4
width: parent.width - 8
Text {
id: userName
text: TimelineManager.escapeEmoji(reply.modelData.userName)
color: replyComponent.userColor
textFormat: Text.RichText
2021-02-14 03:28:28 +03:00
TapHandler {
onSingleTapped: chat.model.openUserProfile(reply.modelData.userId)
2020-10-08 22:11:21 +03:00
}
}
MessageDelegate {
id: reply
width: parent.width
isReply: true
}
}
Rectangle {
id: backgroundItem
z: -1
height: replyContainer.height
width: Math.min(Math.max(reply.implicitWidth, userName.implicitWidth) + 8 + 4, parent.width)
color: Qt.rgba(userColor.r, userColor.g, userColor.b, 0.1)
2020-10-08 22:11:21 +03:00
}
2020-01-28 21:08:16 +03:00
}