diff --git a/src/gui/tray/ActivityItem.qml b/src/gui/tray/ActivityItem.qml index b0ead37ed4327..5c0fd65d31d48 100644 --- a/src/gui/tray/ActivityItem.qml +++ b/src/gui/tray/ActivityItem.qml @@ -5,7 +5,7 @@ import QtQuick.Layouts 1.15 import Style 1.0 import com.nextcloud.desktopclient 1.0 -MouseArea { +ItemDelegate { id: root property Flickable flickable @@ -21,28 +21,19 @@ MouseArea { : Qt.darker(UserModel.currentUser.headerColor, 1.5) enabled: (model.path !== "" || model.link !== "" || model.isCurrentUserFileActivity === true) - hoverEnabled: true - - // We center the children vertically in the middle of this MouseArea to create the padding. - height: contentLayout.implicitHeight + (Style.standardSpacing * 2) + padding: Style.standardSpacing Accessible.role: Accessible.ListItem Accessible.name: (model.path !== "" && model.displayPath !== "") ? qsTr("Open %1 locally").arg(model.displayPath) : model.message Accessible.onPressAction: root.clicked() - function toggleReplyOptions() { - isTalkReplyOptionVisible = !isTalkReplyOptionVisible - } - - Rectangle { - id: activityHover - anchors.fill: parent - color: (parent.containsMouse ? Style.lightHover : "transparent") + background: Rectangle { + color: root.hovered ? Style.lightHover : "transparent" } ToolTip { id: activityMouseAreaTooltip - visible: containsMouse && !activityContent.childHovered && model.displayLocation !== "" + visible: root.hovered && !activityContent.childHovered && model.displayLocation !== "" delay: Qt.styleHints.mousePressAndHoldInterval text: qsTr("In %1").arg(model.displayLocation) contentItem: Label { @@ -55,13 +46,12 @@ MouseArea { } } - ColumnLayout { + contentItem: ColumnLayout { id: contentLayout anchors.left: root.left anchors.right: root.right anchors.rightMargin: Style.standardSpacing anchors.leftMargin: Style.standardSpacing - anchors.verticalCenter: parent.verticalCenter spacing: Style.activityContentSpace @@ -121,7 +111,7 @@ MouseArea { adjustedHeaderColor: root.adjustedHeaderColor onTriggerAction: activityModel.slotTriggerAction(model.index, actionIndex) - onShowReplyField: root.toggleReplyOptions() + onShowReplyField: root.isTalkReplyOptionVisible = true } } }