Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ActivityItem.qml « tray « gui « src - github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 3808d5b003ed80b513fb4ed0b00ba5d4afc05265 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
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

    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")
    }

    ToolTip {
        id: activityMouseAreaTooltip
        visible: containsMouse && !activityContent.childHovered && model.displayLocation !== ""
        delay: Qt.styleHints.mousePressAndHoldInterval
        text: qsTr("In %1").arg(model.displayLocation)
        contentItem: Label {
            text: activityMouseAreaTooltip.text
            color: Style.ncTextColor
        }
        background: Rectangle {
            border.color: Style.menuBorder
            color: Style.backgroundColor
        }
    }

    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)
        }
    }
}