Fix username label eliding loop

This commit is contained in:
Nicolas Werner 2023-06-03 00:30:44 +02:00
parent d2c616ee67
commit b1c2b384c6
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
2 changed files with 11 additions and 5 deletions

View file

@ -572,17 +572,23 @@ Item {
rightInset: 0 rightInset: 0
rightPadding: 0 rightPadding: 0
contentItem: ElidedLabel { contentItem: Label {
id: userName_ id: userName_
color: TimelineManager.userColor(userId, palette.base) color: TimelineManager.userColor(userId, palette.base)
elideWidth: Math.min(userInfo.remainingWidth - Math.min(statusMsg.implicitWidth, userInfo.remainingWidth / 3), userName_.fullTextWidth) text: TimelineManager.escapeEmoji(userNameTextMetrics.elidedText)
fullText: userName
textFormat: Text.RichText textFormat: Text.RichText
} }
onClicked: room.openUserProfile(userId) onClicked: room.openUserProfile(userId)
TextMetrics {
id: userNameTextMetrics
elide: Text.ElideRight
elideWidth: userInfo.remainingWidth - Math.min(statusMsg.implicitWidth, userInfo.remainingWidth / 3)
text: userName
}
CursorShape { CursorShape {
anchors.fill: parent anchors.fill: parent
cursorShape: Qt.PointingHandCursor cursorShape: Qt.PointingHandCursor

View file

@ -91,7 +91,7 @@ ApplicationWindow {
Layout.fillWidth: true Layout.fillWidth: true
ElidedLabel { ElidedLabel {
text: model.displayName fullText: model.displayName
color: TimelineManager.userColor(model ? model.mxid : "", palette.window) color: TimelineManager.userColor(model ? model.mxid : "", palette.window)
font.pointSize: fontMetrics.font.pointSize font.pointSize: fontMetrics.font.pointSize
elideWidth: del.width - Nheko.paddingMedium - avatar.width elideWidth: del.width - Nheko.paddingMedium - avatar.width
@ -99,7 +99,7 @@ ApplicationWindow {
} }
ElidedLabel { ElidedLabel {
text: model.timestamp fullText: model.timestamp
color: palette.buttonText color: palette.buttonText
font.pointSize: fontMetrics.font.pointSize * 0.9 font.pointSize: fontMetrics.font.pointSize * 0.9
elideWidth: del.width - Nheko.paddingMedium - avatar.width elideWidth: del.width - Nheko.paddingMedium - avatar.width