mirror of
https://gitgud.io/wackyideas/aerothemeplasma.git
synced 2024-08-15 00:43:43 +00:00
88 lines
2 KiB
QML
88 lines
2 KiB
QML
/*
|
|
SPDX-FileCopyrightText: 2020 Ivan Cukic <ivan.cukic(at)kde.org>
|
|
|
|
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()
|
|
}
|
|
}
|