Fix username label eliding loop
2 files changed, 11 insertions, 5 deletions
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index a38a2f49..e80770bb 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -572,17 +572,23 @@ Item {
rightInset: 0
rightPadding: 0
- contentItem: ElidedLabel {
+ contentItem: Label {
id: userName_
color: TimelineManager.userColor(userId, palette.base)
- elideWidth: Math.min(userInfo.remainingWidth - Math.min(statusMsg.implicitWidth, userInfo.remainingWidth / 3), userName_.fullTextWidth)
- fullText: userName
+ text: TimelineManager.escapeEmoji(userNameTextMetrics.elidedText)
textFormat: Text.RichText
}
onClicked: room.openUserProfile(userId)
+ TextMetrics {
+ id: userNameTextMetrics
+
+ elide: Text.ElideRight
+ elideWidth: userInfo.remainingWidth - Math.min(statusMsg.implicitWidth, userInfo.remainingWidth / 3)
+ text: userName
+ }
CursorShape {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
diff --git a/resources/qml/dialogs/ReadReceipts.qml b/resources/qml/dialogs/ReadReceipts.qml
index 83b8b8af..523b47cb 100644
--- a/resources/qml/dialogs/ReadReceipts.qml
+++ b/resources/qml/dialogs/ReadReceipts.qml
@@ -91,7 +91,7 @@ ApplicationWindow {
Layout.fillWidth: true
ElidedLabel {
- text: model.displayName
+ fullText: model.displayName
color: TimelineManager.userColor(model ? model.mxid : "", palette.window)
font.pointSize: fontMetrics.font.pointSize
elideWidth: del.width - Nheko.paddingMedium - avatar.width
@@ -99,7 +99,7 @@ ApplicationWindow {
}
ElidedLabel {
- text: model.timestamp
+ fullText: model.timestamp
color: palette.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9
elideWidth: del.width - Nheko.paddingMedium - avatar.width
|