@@ -152,7 +152,17 @@ Item {
152 offset: effectiveHeight / 2
152 offset: effectiveHeight / 2
153 height: effectiveHeight
153 height: effectiveHeight
158+ when: dndArea.draggedIndex >= 0 && !dragging
160+ target: launcherDelegate
157 transitions: [
167 transitions: [
158 Transition {
168 Transition {
@@ -324,18 +334,20 @@ Item {
326 id: progressiveScrollingTimer
336 id: progressiveScrollingTimer
327− interval: 5
337+ interval: 2
328 repeat: true
338 repeat: true
329 running: false
339 running: false
330 property bool downwards: true
340 property bool downwards: true
331 onTriggered: {
341 onTriggered: {
332 if (downwards) {
342 if (downwards) {
333− if (launcherListView.contentY > launcherListView.contentHeight - launcherListView.height) {
343+ var minY = launcherListView.contentHeight - launcherListView.height + mainColumn.spacing*2
344+ if (launcherListView.contentY > minY) {
334− launcherListView.contentY -= 2
345+ launcherListView.contentY = Math.max(launcherListView.contentY - units.dp(2), minY)
348+ var maxY = -mainColumn.spacing*2
337− if (launcherListView.contentY < 0) {
349+ if (launcherListView.contentY < maxY) {
338− launcherListView.contentY += 2
350+ launcherListView.contentY = Math.min(launcherListView.contentY + units.dp(2), maxY)