improve DragDrop behavior/responsiveness

pull/6/head
Michail Vourlakos 6 years ago
parent beb0100644
commit d283e61b5d

@ -36,6 +36,8 @@ DragDrop.DropArea {
property bool isSeparator: false
property bool isLatteTasks: false
property bool onlyLaunchers: false
property bool computationsAreValid: false
}
Connections{
@ -65,9 +67,11 @@ DragDrop.DropArea {
//! Give the time when an applet is dropped to be positioned properly
Timer {
id: clearInfoTimer
interval: 1500
interval: 100 //dragArea.isForeground ? 100 : 500
onTriggered: {
dragArea.dragInfo.computationsAreValid = false;
dragArea.dragInfo.isTask = false;
dragArea.dragInfo.isPlasmoid = false;
dragArea.dragInfo.isSeparator = false;
@ -106,6 +110,7 @@ DragDrop.DropArea {
dragInfo.isSeparator = isSeparator;
dragInfo.isLatteTasks = isLatteTasks;
dragInfo.onlyLaunchers = latteApplet ? latteApplet.launchersDrop(event) : false;
dragInfo.computationsAreValid = true;
slotAnimationsNeedLength(1);
@ -185,6 +190,11 @@ DragDrop.DropArea {
}
root.addLaunchersMessage = false;
if (!isForeground) {
dndSpacer.opacity = 0;
dndSpacer.parent = root;
}
}
onDrop: {

@ -167,7 +167,7 @@ Item {
property int oldY: y
onXChanged: {
if (movingForResize || !root.dragInfo.entered) {
if (!foreDropArea.visible || movingForResize || !root.dragInfo.entered) {
movingForResize = false;
return;
}
@ -192,7 +192,7 @@ Item {
}
onYChanged: {
if (movingForResize || !root.dragInfo.entered) {
if (!foreDropArea.visible || movingForResize || !root.dragInfo.entered) {
movingForResize = false;
return;
}

@ -1723,6 +1723,9 @@ Item {
DragDropArea {
id: backDropArea
anchors.fill: parent
readonly property bool higherPriority: latteView && latteView.containsDrag
&& ((root.dragInfo.isPlasmoid && root.dragInfo.isSeparator)
|| (foreDropArea.dragInfo.computationsAreValid && !root.dragInfo.isPlasmoid && !root.dragInfo.onlyLaunchers))
Item{
id: panelBox
@ -1740,9 +1743,7 @@ Item {
DragDropArea {
id: foreDropArea
anchors.fill: parent
visible: latteView && latteView.containsDrag
&& ((root.dragInfo.isPlasmoid && !root.dragInfo.isSeparator)
|| (root.addLaunchersInTaskManager && root.dragInfo.onlyLaunchers))
visible: !backDropArea.higherPriority
isForeground: true
/* Rectangle {

@ -571,7 +571,7 @@ MouseArea{
root.separatorsUpdated();
if (tasksExtendedManager.isLauncherToBeMoved(launcherUrl) && itemIndex>=0) {
parabolicManager.moveLauncherToCorrectPos(launcherUrl, itemIndex);
tasksExtendedManager.moveLauncherToCorrectPos(launcherUrl, itemIndex);
}
} else {
root.separatorsUpdated();

Loading…
Cancel
Save