ibetter behavior for dragging

This commit is contained in:
Marco Martin 2019-09-03 12:11:39 +02:00
parent 36aa3e5f0b
commit 9999e4ffbf
2 changed files with 12 additions and 19 deletions

View file

@ -85,5 +85,11 @@ Item {
}
}
}
Behavior on implicitWidth {
NumberAnimation {
duration: units.longDuration
easing.type: Easing.InOutQuad
}
}
}
}

View file

@ -33,8 +33,8 @@ Item {
property bool active
readonly property Item spacer: Item {
width: units.gridUnit * 4
height: width
width: launcherGrid.cellWidth
height: launcherGrid.cellHeight
}
function startDrag(item) {
@ -227,25 +227,12 @@ Item {
plasmoid.nativeInterface.applicationListModel.setLocation(item.modelData.index, ApplicationListModel.Grid);
}
spacer.visible = false;
spacer.parent = container;
var child = nearestChild(item, dragCenterX, dragCenterY, container);
if (!child) {
putInContainerLayout(item, container);
return;
}
var pos = container.flow.mapFromItem(item, dragCenterX, dragCenterY);
if (pos.x + dragCenterX < child.x + child.width / 2) {
putInContainerLayout(item, container);
plasmoid.nativeInterface.stackBefore(item, child);
} else {
putInContainerLayout(item, container);
plasmoid.nativeInterface.stackAfter(item, child);
}
putInContainerLayout(item, container);
plasmoid.nativeInterface.stackBefore(item, spacer);
spacer.visible = false;
spacer.parent = container;
}
}
}