@@ -18,14 +18,14 @@ Item {
18 keys: ['workspace']
18 keys: ['workspace']
20 onEntered: {
20 onEntered: {
21− var index = listView.getWorkspaceDropIndex(drag);
21+ var index = listView.getDropIndex(drag);
22 listView.model.insert(index, {text: drag.source.text})
22 listView.model.insert(index, {text: drag.source.text})
23 listView.dropItemIndex = index;
23 listView.dropItemIndex = index;
24 drag.source.inDropArea = true;
24 drag.source.inDropArea = true;
27 onPositionChanged: {
27 onPositionChanged: {
28− var index = listView.getWorkspaceDropIndex(drag);
28+ var index = listView.getDropIndex(drag);
29 if (listView.dropItemIndex == index) return;
29 if (listView.dropItemIndex == index) return;
30 listView.model.move(listView.dropItemIndex, index, 1);
30 listView.model.move(listView.dropItemIndex, index, 1);
31 listView.dropItemIndex = index;
31 listView.dropItemIndex = index;
@@ -48,7 +48,7 @@ Item {
49 onPositionChanged: {
49 onPositionChanged: {
50 listView.progressiveScroll(drag.x)
50 listView.progressiveScroll(drag.x)
51− listView.hoveredWorkspaceIndex = listView.getApplicationDropIndex(drag)
51+ listView.hoveredWorkspaceIndex = listView.getDropIndex(drag)
53 onExited: {
53 onExited: {
54 listView.hoveredWorkspaceIndex = -1
54 listView.hoveredWorkspaceIndex = -1
@@ -73,16 +73,7 @@ Item {
73 property int dropItemIndex: -1
73 property int dropItemIndex: -1
74 property int hoveredWorkspaceIndex: -1
74 property int hoveredWorkspaceIndex: -1
76− function getWorkspaceDropIndex(drag) {
76+ function getDropIndex(drag) {
77− var coords = mapToItem(listView.contentItem, drag.x, drag.y)
78− var index = Math.floor((drag.x + listView.realContentX) / (listView.itemWidth + listView.spacing));
79− if (index < 0) index = 0;
80− var upperLimit = dropItemIndex == -1 ? listView.count : listView.count - 1
81− if (index > upperLimit) index = upperLimit;
85− function getApplicationDropIndex(drag) {
86 var coords = mapToItem(listView.contentItem, drag.x, drag.y)
77 var coords = mapToItem(listView.contentItem, drag.x, drag.y)
87 var index = Math.floor((drag.x + listView.realContentX) / (listView.itemWidth + listView.spacing));
78 var index = Math.floor((drag.x + listView.realContentX) / (listView.itemWidth + listView.spacing));
88 if (index < 0) index = 0;
79 if (index < 0) index = 0;