Fix hovering messages

This commit is contained in:
Nicolas Werner 2022-02-14 23:13:17 +01:00
parent e077bdbdd5
commit d330fdb61f
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
2 changed files with 12 additions and 23 deletions

View File

@ -360,7 +360,7 @@ ScrollView {
}
delegate: Item {
delegate: ItemDelegate {
id: wrapper
required property double proportionalHeight
@ -404,12 +404,11 @@ ScrollView {
width: chat.delegateMaxWidth
height: section.active ? section.height + timelinerow.height : timelinerow.height
Rectangle {
background: Rectangle {
id: scrollHighlight
opacity: 0
visible: true
anchors.fill: timelinerow
color: Nheko.colors.highlight
states: State {
@ -474,7 +473,7 @@ ScrollView {
TimelineRow {
id: timelinerow
property alias hovered: hoverHandler.hovered
hovered: wrapper.hovered
proportionalHeight: wrapper.proportionalHeight
type: chat.model, wrapper.type
@ -507,21 +506,15 @@ ScrollView {
status: wrapper.status
relatedEventCacheBuster: wrapper.relatedEventCacheBuster
y: section.visible && section.active ? section.y + section.height : 0
}
HoverHandler {
id: hoverHandler
enabled: !Settings.mobileMode
onHoveredChanged: {
if (hovered) {
if (!messageActionHover.hovered) {
messageActions.attached = timelinerow;
messageActions.model = timelinerow;
}
}
onHoveredChanged: {
if (!Settings.mobileMode && hovered) {
if (!messageActionHover.hovered) {
messageActions.attached = timelinerow;
messageActions.model = timelinerow;
}
}
}
Connections {

View File

@ -45,20 +45,16 @@ Item {
required property int status
required property int relatedEventCacheBuster
property bool hovered: false
width: parent.width
height: childrenRect.height
Rectangle {
color: (Settings.messageHoverHighlight && hoverHandler.hovered) ? Nheko.colors.alternateBase : "transparent"
color: (Settings.messageHoverHighlight && hovered) ? Nheko.colors.alternateBase : "transparent"
anchors.fill: row
}
HoverHandler {
id: hoverHandler
acceptedDevices: PointerDevice.GenericPointer
}
TapHandler {
acceptedButtons: Qt.RightButton
onSingleTapped: messageContextMenu.show(eventId, type, isSender, isEncrypted, isEditable, contentItem.child.hoveredLink, contentItem.child.copyText)