summary refs log tree commit diff
path: root/resources/qml/delegates/Reply.qml
blob: f9fd3f111b34d26e421aa0f37cd21e1ddfdbac62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import QtQuick 2.6
import QtQuick.Controls 2.3
import QtQuick.Layouts 1.2
import QtQuick.Window 2.2

Item {
	id: replyComponent

	property alias modelData: reply.modelData
	property color userColor: "red"

	width: parent.width
	height: replyContainer.height

	MouseArea {
		anchors.fill: parent
		preventStealing: true
		onClicked: chat.positionViewAtIndex(chat.model.idToIndex(modelData.id), ListView.Contain)
		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: chat.model ? chat.model.escapeEmoji(reply.modelData.userName) : ""
			color: replyComponent.userColor
			textFormat: Text.RichText

			MouseArea {
				anchors.fill: parent
				onClicked: chat.model.openUserProfile(reply.modelData.userId)
				cursorShape: Qt.PointingHandCursor
			}
		}

		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.2)
	}
}