on xenial help sign in
optimize it a little
563bcf4Michael Zanetti
qml/Stage/Spread/SpreadDelegateInputArea.qml+4−2
@@ -123,8 +123,10 @@ Item {
123 var value = tp.y - tp.startY - offset;
123 var value = tp.y - tp.startY - offset;
124 if (value < 0) {
124 if (value < 0) {
125 var coords = mapToItem(shell, tp.x, tp.y);
125 var coords = mapToItem(shell, tp.x, tp.y);
126− fakeDragItem.x = coords.x
126+ fakeDragItem.x = coords.x - units.gu(5)
127− fakeDragItem.y = coords.y
127+ fakeDragItem.y = coords.y - units.gu(5)
128+ fakeDragItem.Drag.hotSpot.x = units.gu(5)
129+ fakeDragItem.Drag.hotSpot.y = units.gu(5)
128 fakeDragItem.Drag.active = true;
130 fakeDragItem.Drag.active = true;
129 fakeDragItem.surface = model.window.surface;
131 fakeDragItem.surface = model.window.surface;
130
132
qml/Stage/Spread/Workspaces.qml+4−13
@@ -18,14 +18,14 @@ Item {
18 keys: ['workspace']
18 keys: ['workspace']
19
19
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;
25 }
25 }
26
26
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 {
48
48
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)
52 }
52 }
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
75
75
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;
82− return index;
83− }
84−
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;