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,61 +58,58 @@ ApplicationWindow {
boundsBehavior: Flickable.StopAtBounds
model: readReceipts
delegate: RowLayout {
spacing: Nheko.paddingMedium
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
}
Avatar {
width: Nheko.avatarSize
height: Nheko.avatarSize
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
RowLayout {
id: receiptLayout
spacing: Nheko.paddingMedium
Avatar {
width: Nheko.avatarSize
height: Nheko.avatarSize
userid: model.mxid
url: model.avatarUrl.replace("mxc://", "image://MxcImage/")
displayName: model.displayName
}
ColumnLayout {
spacing: Nheko.paddingSmall
Label {
text: model.displayName
color: TimelineManager.userColor(model ? model.mxid : "", Nheko.colors.window)
font.pointSize: fontMetrics.font.pointSize
}
Label {
text: model.timestamp
color: Nheko.colors.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
HoverHandler {
id: avatarHover
}
}
ColumnLayout {
spacing: Nheko.paddingSmall
Label {
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 {
text: model.timestamp
color: Nheko.colors.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
}
Item {
Layout.fillHeight: true
Layout.fillWidth: true
}
CursorShape {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
}
}