@@ -152,7 +152,17 @@ Item {
152152 offset: effectiveHeight / 2
153153 height: effectiveHeight
154154 }
155+ },
156+ State {
157+ name: "expanded"
158+ when: dndArea.draggedIndex >= 0 && !dragging
159+ PropertyChanges {
160+ target: launcherDelegate
161+ angle: 0
162+ offset: 0
163+ }
155164 }
165+
156166 ]
157167 transitions: [
158168 Transition {
@@ -324,18 +334,20 @@ Item {
324334 }
325335 Timer {
326336 id: progressiveScrollingTimer
327− interval: 5
337+ interval: 2
328338 repeat: true
329339 running: false
330340 property bool downwards: true
331341 onTriggered: {
332342 if (downwards) {
333− if (launcherListView.contentY > launcherListView.contentHeight - launcherListView.height) {
334− launcherListView.contentY -= 2
343+ var minY = launcherListView.contentHeight - launcherListView.height + mainColumn.spacing*2
344+ if (launcherListView.contentY > minY) {
345+ launcherListView.contentY = Math.max(launcherListView.contentY - units.dp(2), minY)
335346 }
336347 } else {
337− if (launcherListView.contentY < 0) {
338− launcherListView.contentY += 2
348+ var maxY = -mainColumn.spacing*2
349+ if (launcherListView.contentY < maxY) {
350+ launcherListView.contentY = Math.min(launcherListView.contentY + units.dp(2), maxY)
339351 }
340352 }
341353 }