position properly dropped applets and urls in view

pull/5/head
Michail Vourlakos 6 years ago
parent 1ef4de0da8
commit 86e645c720

@ -1086,6 +1086,7 @@ bool View::event(QEvent *e)
case QEvent::Leave: case QEvent::Leave:
m_containsMouse = false; m_containsMouse = false;
setContainsDrag(false);
engine()->trimComponentCache(); engine()->trimComponentCache();
break; break;
@ -1094,7 +1095,6 @@ bool View::event(QEvent *e)
break; break;
case QEvent::DragLeave: case QEvent::DragLeave:
case QEvent::Drop:
setContainsDrag(false); setContainsDrag(false);
break; break;

@ -59,6 +59,15 @@ DragDrop.DropArea {
} }
function clearInfo() { function clearInfo() {
clearInfoTimer.start();
}
//! Give the time when an applet is dropped to be positioned properly
Timer {
id: clearInfoTimer
interval: 500
onTriggered: {
dragArea.dragInfo.entered = false; dragArea.dragInfo.entered = false;
dragArea.dragInfo.isTask = false; dragArea.dragInfo.isTask = false;
dragArea.dragInfo.isPlasmoid = false; dragArea.dragInfo.isPlasmoid = false;
@ -69,8 +78,10 @@ DragDrop.DropArea {
dndSpacer.parent = root; dndSpacer.parent = root;
dndSpacer.opacity = 0; dndSpacer.opacity = 0;
} }
}
onDragEnter: { onDragEnter: {
clearInfoTimer.stop();
var isTask = event !== undefined var isTask = event !== undefined
&& event.mimeData !== undefined && event.mimeData !== undefined
&& event.mimeData.formats !== undefined && event.mimeData.formats !== undefined
@ -122,11 +133,6 @@ DragDrop.DropArea {
} }
} }
// if (!dragInfo.entered) {
// dragInfo.entered = true;
// slotAnimationsNeedLength(1);
// }
if (!dragResistaner.running && (!latteApplet || (latteApplet && !dragInfo.isLatteTasks))) { if (!dragResistaner.running && (!latteApplet || (latteApplet && !dragInfo.isLatteTasks))) {
if (!isForeground) { if (!isForeground) {
dragResistaner.start(); dragResistaner.start();
@ -138,6 +144,7 @@ DragDrop.DropArea {
} }
onDragMove: { onDragMove: {
clearInfoTimer.stop();
if (dragInfo.isTask) { if (dragInfo.isTask) {
return; return;
} }
@ -186,12 +193,11 @@ DragDrop.DropArea {
} }
onDrop: { onDrop: {
if (dragInfo.isTask || dockIsHidden || visibilityManager.inSlidingIn || visibilityManager.inSlidingOut) {
if (dragInfo.entered) { if (dragInfo.entered) {
slotAnimationsNeedLength(-1); slotAnimationsNeedLength(-1);
dragInfo.entered = false; dragInfo.entered = false;
} }
if (dragInfo.isTask || dockIsHidden || visibilityManager.inSlidingIn || visibilityManager.inSlidingOut) {
return; return;
} }
@ -204,5 +210,10 @@ DragDrop.DropArea {
root.addLaunchersMessage = false; root.addLaunchersMessage = false;
dndSpacer.opacity = 0; dndSpacer.opacity = 0;
if (dragInfo.entered) {
slotAnimationsNeedLength(-1);
dragInfo.entered = false;
}
} }
} }

Loading…
Cancel
Save