From 41b53b5245772e1869c2b913ca2a626efff95181 Mon Sep 17 00:00:00 2001 From: Tobias Fella Date: Fri, 9 Apr 2021 22:51:28 +0200 Subject: [PATCH] Refactor hoverActions positioning The positions are still bad, but the calculation is slightly less ugly --- imports/NeoChat/Component/Timeline/TimelineContainer.qml | 5 ----- imports/NeoChat/Page/RoomPage.qml | 3 ++- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/imports/NeoChat/Component/Timeline/TimelineContainer.qml b/imports/NeoChat/Component/Timeline/TimelineContainer.qml index 02d702f67..3874a29c8 100644 --- a/imports/NeoChat/Component/Timeline/TimelineContainer.qml +++ b/imports/NeoChat/Component/Timeline/TimelineContainer.qml @@ -37,9 +37,6 @@ QQC2.ItemDelegate { //height: mainColumn.childrenRect.height + (readMarker ? Kirigami.Units.smallSpacing : 0) //height: mainColumn.implicitHeight + (readMarker ? Kirigami.Units.smallSpacing : 0) - property int hoverComponentX: column.width - hoverComponent.childWidth + Kirigami.Units.largeSpacing - property int hoverComponentY: -Kirigami.Units.largeSpacing - hoverComponent.childHeight * 1.5 - // show hover actions onHoveredChanged: { if (hovered && !Kirigami.Settings.isMobile) { @@ -49,8 +46,6 @@ QQC2.ItemDelegate { // updates the global hover component to point to this delegate, and update its position function updateHoverComponent() { - hoverComponent.x = column.mapToItem(page, hoverComponentX, hoverComponentY).x; - hoverComponent.y = column.mapToItem(page, hoverComponentX, hoverComponentY).y; hoverComponent.bubble = controlContainer hoverComponent.updateFunction = updateHoverComponent; hoverComponent.event = model diff --git a/imports/NeoChat/Page/RoomPage.qml b/imports/NeoChat/Page/RoomPage.qml index 043b7bc35..6d70811a2 100644 --- a/imports/NeoChat/Page/RoomPage.qml +++ b/imports/NeoChat/Page/RoomPage.qml @@ -140,7 +140,8 @@ Kirigami.ScrollablePage { property bool showEdit: event && (event.author.id === Controller.activeConnection.localUserId && (event.eventType === "emote" || event.eventType === "message")) property var bubble property var hovered: bubble && bubble.hovered - + x: bubble.x + Kirigami.Units.largeSpacing + Math.max(bubble.width - childWidth, 0) + y: bubble.mapToItem(page, 0, -Kirigami.Units.largeSpacing - hoverActions.childHeight * 1.5).y visible: (hovered || hoverHandler.hovered) && !Kirigami.Settings.isMobile property var updateFunction