diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index 7f39791f..573c8344 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -348,6 +348,7 @@ Item { } property int remainingWidth: chat.delegateMaxWidth - spacing - messageUserAvatar.width AbstractButton { + id: userNameButton contentItem: ElidedLabel { id: userName_ fullText: userName @@ -373,12 +374,21 @@ Item { Label { id: statusMsg + anchors.baseline: userNameButton.baseline color: Nheko.colors.buttonText text: Presence.userStatus(userId) textFormat: Text.PlainText elide: Text.ElideRight - width: userInfo.remainingWidth - userName_.width - parent.spacing + width: Math.min(implicitWidth, userInfo.remainingWidth - userName_.width - parent.spacing) font.italic: true + font.pointSize: Math.floor(fontMetrics.font.pointSize * 0.8) + ToolTip.text: qsTr("%1's status message").arg(userName) + ToolTip.visible: statusMsgHoverHandler.hovered + ToolTip.delay: Nheko.tooltipDelay + + HoverHandler { + id: statusMsgHoverHandler + } Connections { target: Presence diff --git a/resources/qml/dialogs/UserProfile.qml b/resources/qml/dialogs/UserProfile.qml index 684ada8f..75852245 100644 --- a/resources/qml/dialogs/UserProfile.qml +++ b/resources/qml/dialogs/UserProfile.qml @@ -56,7 +56,7 @@ ApplicationWindow { id: contentL width: devicelist.width - spacing: 10 + spacing: Nheko.paddingMedium Avatar { id: displayAvatar @@ -177,6 +177,28 @@ ApplicationWindow { Layout.alignment: Qt.AlignHCenter } + MatrixText { + id: statusMsg + text: updateStatus() + visible: Presence.userStatus(profile.userid) != "" + Layout.alignment: Qt.AlignHCenter + Layout.fillWidth: true + horizontalAlignment: TextEdit.AlignHCenter + Layout.leftMargin: Nheko.paddingMedium + Layout.rightMargin: Nheko.paddingMedium + font.pointSize: Math.floor(fontMetrics.font.pointSize * 0.9) + + function updateStatus(){ + return qsTr("Status: %1").arg(Presence.userStatus(profile.userid)) + } + Connections { + target: Presence + function onPresenceChanged(id) { + if (id == profile.userid) statusMsg.text = statusMsg.updateStatus(); + } + } + } + RowLayout { visible: !profile.isGlobalUserProfile Layout.alignment: Qt.AlignHCenter @@ -295,6 +317,8 @@ ApplicationWindow { ColumnLayout { spacing: 0 + Layout.leftMargin: Nheko.paddingMedium + Layout.rightMargin: Nheko.paddingMedium RowLayout { Text { Layout.fillWidth: true