feat(StatusMessage): introduce `profileClickable` property

This property allows for enabling/disabling whether or not the profile
picture and display name of a message is clickable and also dictates the
cursor type accordingly.

The reason this is being introduced is that, with imported messages from
other systems (e.g. discord, telegram etc), we don't want the user to
trigger the popup menu for more profile information because we don't
know any profile information of messages coming from such systems.

Such messages are signed by the community.

Closes https://github.com/status-im/status-desktop/issues/6680
This commit is contained in:
Pascal Precht 2022-09-01 14:27:36 +02:00 committed by r4bbit.eth
parent 80a9cc9b3f
commit ad8bc322d1
2 changed files with 7 additions and 2 deletions

View File

@ -67,6 +67,7 @@ Rectangle {
property bool hideQuickActions: false property bool hideQuickActions: false
property color overrideBackgroundColor: "transparent" property color overrideBackgroundColor: "transparent"
property bool overrideBackground: false property bool overrideBackground: false
property bool profileClickable: true
property alias previousMessageIndex: dateGroupLabel.previousMessageIndex property alias previousMessageIndex: dateGroupLabel.previousMessageIndex
property alias previousMessageTimestamp: dateGroupLabel.previousMessageTimestamp property alias previousMessageTimestamp: dateGroupLabel.previousMessageTimestamp
@ -242,9 +243,10 @@ Rectangle {
ringSettings: root.messageDetails.sender.profileImage.ringSettings ringSettings: root.messageDetails.sender.profileImage.ringSettings
MouseArea { MouseArea {
cursorShape: Qt.PointingHandCursor cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor
acceptedButtons: Qt.LeftButton | Qt.RightButton acceptedButtons: Qt.LeftButton | Qt.RightButton
anchors.fill: parent anchors.fill: parent
enabled: root.profileClickable
onClicked: root.profilePictureClicked(this, mouse) onClicked: root.profilePictureClicked(this, mouse)
} }
} }
@ -275,6 +277,7 @@ Rectangle {
visible: root.showHeader && !editMode visible: root.showHeader && !editMode
timestamp.text: root.timestampString timestamp.text: root.timestampString
timestamp.tooltip.text: root.timestampTooltipString timestamp.tooltip.text: root.timestampTooltipString
displayNameClickable: root.profileClickable
} }
Loader { Loader {
Layout.fillWidth: true Layout.fillWidth: true

View File

@ -23,6 +23,7 @@ Item {
property bool isContact: sender.isContact property bool isContact: sender.isContact
property int trustIndicator: sender.trustIndicator property int trustIndicator: sender.trustIndicator
property bool amISender: false property bool amISender: false
property bool displayNameClickable: true
property string messageOriginInfo: "" property string messageOriginInfo: ""
signal clicked(var sender, var mouse) signal clicked(var sender, var mouse)
@ -49,8 +50,9 @@ Item {
MouseArea { MouseArea {
id: mouseArea id: mouseArea
anchors.fill: parent anchors.fill: parent
cursorShape: Qt.PointingHandCursor cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor
acceptedButtons: Qt.LeftButton | Qt.RightButton acceptedButtons: Qt.LeftButton | Qt.RightButton
enabled: root.displayNameClickable
hoverEnabled: true hoverEnabled: true
onClicked: { onClicked: {
root.clicked(this, mouse) root.clicked(this, mouse)