/* SPDX-FileCopyrightText: 2020 Ivan Cukic SPDX-License-Identifier: GPL-2.0-or-later */ import QtQuick 2.0 import org.kde.kirigami 2.20 as Kirigami import org.kde.draganddrop 2.0 as DND import org.kde.plasma.extras 2.0 as PlasmaExtras DND.DropArea { id: root signal taskDropped(variant mimeData, variant modifiers) signal clicked() signal entered() property int topPadding: 0 property string activityName: "" property bool selected: false property string actionTitle: "" property bool isHovered: false property bool actionVisible: false PlasmaExtras.Highlight { id: dropHighlight anchors { fill: parent // topMargin: icon.height + 3 * Kirigami.Units.smallSpacing topMargin: root.topPadding } visible: root.isHovered z: -1 } Text { id: dropAreaLeftText anchors { fill: dropHighlight leftMargin: Kirigami.Units.gridUnit rightMargin: Kirigami.Units.gridUnit } color: Kirigami.Theme.textColor visible: root.actionVisible text: root.actionTitle verticalAlignment: Text.AlignVCenter horizontalAlignment: Text.AlignHCenter maximumLineCount: 3 } anchors { left: parent.left right: parent.horizontalCenter top: parent.top bottom: parent.bottom } preventStealing: true enabled: true onDrop: { root.taskDropped(event.mimeData, event.modifiers); } onDragEnter: { root.isHovered = true; } onDragLeave: { root.isHovered = false; } MouseArea { anchors.fill : parent onClicked : root.clicked() hoverEnabled : true onEntered : root.entered() Accessible.name : root.activityName Accessible.role : Accessible.Button Accessible.selected : root.selected Accessible.onPressAction : root.clicked() } }