From b5b5c95246c776e9b739ec3592d4957f2459a66b Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Fri, 5 Nov 2021 19:35:13 -0400 Subject: [PATCH] Use ItemDelegate for read receipts --- resources/qml/dialogs/ReadReceipts.qml | 95 +++++++++++++------------- 1 file changed, 46 insertions(+), 49 deletions(-) diff --git a/resources/qml/dialogs/ReadReceipts.qml b/resources/qml/dialogs/ReadReceipts.qml index e825dd81..2e2b5486 100644 --- a/resources/qml/dialogs/ReadReceipts.qml +++ b/resources/qml/dialogs/ReadReceipts.qml @@ -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 } }