fix(ui): Resolve conflict between click on text message and click on message
Closes: #3593
This commit is contained in:
parent
e0c5e9b9b0
commit
4b73d68490
|
@ -5,13 +5,18 @@ import utils 1.0
|
||||||
import QtGraphicalEffects 1.0
|
import QtGraphicalEffects 1.0
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
id: root
|
||||||
|
|
||||||
property bool longChatText: true
|
property bool longChatText: true
|
||||||
property bool veryLongChatText: chatsModel.plainText(message).length >
|
property bool veryLongChatText: chatsModel.plainText(message).length >
|
||||||
(appSettings.useCompactMode ? Constants.limitLongChatTextCompactMode : Constants.limitLongChatText)
|
(appSettings.useCompactMode ? Constants.limitLongChatTextCompactMode : Constants.limitLongChatText)
|
||||||
property bool readMore: false
|
property bool readMore: false
|
||||||
property alias textField: chatText
|
property alias textField: chatText
|
||||||
|
|
||||||
id: root
|
signal linkActivated(url link)
|
||||||
|
|
||||||
|
property bool linkHovered: chatText.hoveredLink !== ""
|
||||||
|
|
||||||
z: 51
|
z: 51
|
||||||
|
|
||||||
implicitHeight: visible ? (showMoreLoader.active ? childrenRect.height - 10 : chatText.height) : 0
|
implicitHeight: visible ? (showMoreLoader.active ? childrenRect.height - 10 : chatText.height) : 0
|
||||||
|
@ -43,6 +48,8 @@ Item {
|
||||||
height: root.veryLongChatText && !root.readMore ? Math.min(implicitHeight, 200) : implicitHeight
|
height: root.veryLongChatText && !root.readMore ? Math.min(implicitHeight, 200) : implicitHeight
|
||||||
clip: height < implicitHeight
|
clip: height < implicitHeight
|
||||||
onLinkActivated: {
|
onLinkActivated: {
|
||||||
|
|
||||||
|
root.linkActivated(link)
|
||||||
if(link.startsWith("#")) {
|
if(link.startsWith("#")) {
|
||||||
const channelName = link.substring(1);
|
const channelName = link.substring(1);
|
||||||
const foundChannelObj = chatsModel.getChannel(channelName);
|
const foundChannelObj = chatsModel.getChannel(channelName);
|
||||||
|
|
|
@ -384,6 +384,12 @@ Item {
|
||||||
anchors.leftMargin: -leftPadding
|
anchors.leftMargin: -leftPadding
|
||||||
textField.leftPadding: leftPadding
|
textField.leftPadding: leftPadding
|
||||||
textField.rightPadding: Style.current.bigPadding
|
textField.rightPadding: Style.current.bigPadding
|
||||||
|
|
||||||
|
onLinkActivated: {
|
||||||
|
if (activityCenterMessage) {
|
||||||
|
clickMessage(false, isSticker, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
@ -446,6 +452,7 @@ Item {
|
||||||
|
|
||||||
MessageMouseArea {
|
MessageMouseArea {
|
||||||
id: messageMouseArea
|
id: messageMouseArea
|
||||||
|
enabled: !chatText.linkHovered
|
||||||
anchors.fill: stickerLoader.active ? stickerLoader : chatText
|
anchors.fill: stickerLoader.active ? stickerLoader : chatText
|
||||||
z: activityCenterMessage ? chatText.z + 1 : chatText.z -1
|
z: activityCenterMessage ? chatText.z + 1 : chatText.z -1
|
||||||
}
|
}
|
||||||
|
|
|
@ -151,6 +151,12 @@ Item {
|
||||||
chatText.setWidths()
|
chatText.setWidths()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onLinkActivated: {
|
||||||
|
if (activityCenterMessage) {
|
||||||
|
clickMessage(false, isSticker, false)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Loader {
|
Loader {
|
||||||
|
@ -208,6 +214,7 @@ Item {
|
||||||
|
|
||||||
MessageMouseArea {
|
MessageMouseArea {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
enabled: !chatText.linkHovered
|
||||||
}
|
}
|
||||||
|
|
||||||
RectangleCorner {
|
RectangleCorner {
|
||||||
|
|
Loading…
Reference in New Issue