| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- import QtQml 2.15
- import QtQuick 2.15
- import QtQuick.Controls 2.15
- import QtQuick.Layouts 1.15
- import Style 1.0
- import com.nextcloud.desktopclient 1.0
- MouseArea {
- id: root
- property Flickable flickable
- property bool isFileActivityList: false
- property bool isChatActivity: model.objectType === "chat" || model.objectType === "room" || model.objectType === "call"
- property bool isTalkReplyPossible: model.conversationToken !== ""
- signal fileActivityButtonClicked(string absolutePath)
- enabled: (model.path !== "" || model.link !== "" || model.isCurrentUserFileActivity === true)
- hoverEnabled: true
- height: childrenRect.height
- ToolTip.visible: containsMouse && !activityContent.childHovered && model.displayLocation !== ""
- ToolTip.delay: Qt.styleHints.mousePressAndHoldInterval
- ToolTip.text: qsTr("In %1").arg(model.displayLocation)
- Accessible.role: Accessible.ListItem
- Accessible.name: (model.path !== "" && model.displayPath !== "") ? qsTr("Open %1 locally").arg(model.displayPath) : model.message
- Accessible.onPressAction: root.clicked()
- Rectangle {
- id: activityHover
- anchors.fill: parent
- color: (parent.containsMouse ? Style.lightHover : "transparent")
- }
- ColumnLayout {
- anchors.left: root.left
- anchors.right: root.right
- anchors.rightMargin: 10
- anchors.leftMargin: 10
- spacing: 0
- ActivityItemContent {
- id: activityContent
- Layout.fillWidth: true
- showDismissButton: model.links.length > 0 && model.linksForActionButtons.length === 0
- activityData: model
- Layout.preferredHeight: Style.trayWindowHeaderHeight
- onShareButtonClicked: Systray.openShareDialog(model.displayPath, model.absolutePath)
- onDismissButtonClicked: activityModel.slotTriggerDismiss(model.index)
- }
- ActivityItemActions {
- id: activityActions
- visible: !root.isFileActivityList && model.linksForActionButtons.length > 0
- Layout.preferredHeight: Style.trayWindowHeaderHeight * 0.85
- Layout.fillWidth: true
- Layout.leftMargin: 40
- Layout.bottomMargin: model.links.length > 1 ? 5 : 0
- Layout.topMargin: isTalkReplyPossible? 48 : 0
- displayActions: model.displayActions
- objectType: model.objectType
- linksForActionButtons: model.linksForActionButtons
- linksContextMenu: model.linksContextMenu
- moreActionsButtonColor: activityHover.color
- maxActionButtons: activityModel.maxActionButtons
- flickable: root.flickable
- onTriggerAction: activityModel.slotTriggerAction(model.index, actionIndex)
- }
- }
- }
|