diff --git a/imports/NeoChat/Component/Timeline/TimelineContainer.qml b/imports/NeoChat/Component/Timeline/TimelineContainer.qml index fee4bcd1d..89244ea0c 100644 --- a/imports/NeoChat/Component/Timeline/TimelineContainer.qml +++ b/imports/NeoChat/Component/Timeline/TimelineContainer.qml @@ -46,8 +46,9 @@ Item { // show hover actions onHoveredChanged: { if (hovered && !Kirigami.Settings.isMobile) { - hoverComponent.x = Qt.binding(() => column.mapToItem(page, hoverComponentX, hoverComponentY).x); - hoverComponent.y = Qt.binding(() => column.mapToItem(page, hoverComponentX, hoverComponentY).y); + hoverComponent.parent = controlContainer; + hoverComponent.x = Qt.binding(() => controlContainer.width - hoverComponent.childWidth) + hoverComponent.y = -Kirigami.Units.largeSpacing * 4 hoverComponent.hovered = Qt.binding(() => controlContainer.hovered); hoverComponent.showEdit = author.id === Controller.activeConnection.localUserId && (model.eventType === "emote" || model.eventType === "message"); diff --git a/imports/NeoChat/Page/RoomPage.qml b/imports/NeoChat/Page/RoomPage.qml index 2a401bdcf..1b4b0fc09 100644 --- a/imports/NeoChat/Page/RoomPage.qml +++ b/imports/NeoChat/Page/RoomPage.qml @@ -129,7 +129,7 @@ Kirigami.ScrollablePage { } // hover actions on a delegate, activated in TimelineContainer.qml - Item { + QQC2.Popup { id: hoverActions property bool showEdit property bool hovered: false @@ -143,7 +143,9 @@ Kirigami.ScrollablePage { property alias childWidth: hoverActionsRow.width property alias childHeight: hoverActionsRow.height - RowLayout { + background: Item {} + + contentItem: RowLayout { id: hoverActionsRow z: 4 spacing: 0