Use ItemDelegate for read receipts

This commit is contained in:
Loren Burkholder 2021-11-05 19:35:13 -04:00
parent 3758c42ed6
commit b5b5c95246
1 changed files with 46 additions and 49 deletions

View File

@ -58,7 +58,21 @@ ApplicationWindow {
boundsBehavior: Flickable.StopAtBounds
model: readReceipts
delegate: RowLayout {
delegate: ItemDelegate {
onClicked: room.openUserProfile(model.mxid)
padding: Nheko.paddingMedium
width: receiptLayout.implicitWidth
height: receiptLayout.implicitHeight
hoverEnabled: true
ToolTip.visible: hovered
ToolTip.text: model.mxid
background: Rectangle {
color: readReceiptsRoot.color
}
RowLayout {
id: receiptLayout
spacing: Nheko.paddingMedium
Avatar {
@ -67,14 +81,6 @@ ApplicationWindow {
userid: model.mxid
url: model.avatarUrl.replace("mxc://", "image://MxcImage/")
displayName: model.displayName
onClicked: room.openUserProfile(model.mxid)
ToolTip.visible: avatarHover.hovered
ToolTip.text: model.mxid
HoverHandler {
id: avatarHover
}
}
ColumnLayout {
@ -84,22 +90,6 @@ ApplicationWindow {
text: model.displayName
color: TimelineManager.userColor(model ? model.mxid : "", Nheko.colors.window)
font.pointSize: fontMetrics.font.pointSize
ToolTip.visible: displayNameHover.hovered
ToolTip.text: model.mxid
TapHandler {
onSingleTapped: room.openUserProfile(userId)
}
CursorShape {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
}
HoverHandler {
id: displayNameHover
}
}
Label {
@ -117,6 +107,13 @@ ApplicationWindow {
}
CursorShape {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
}
}
}
}