@@ -28,6 +28,9 @@ Item {
29 readonly property alias distance: d.distance
29 readonly property alias distance: d.distance
31+ property var stage: null
32+ property var dragDelegate: null
31 signal clicked()
34 signal clicked()
32 signal close()
35 signal close()
@@ -116,13 +119,13 @@ Item {
117 var value = tp.y - tp.startY - offset;
120 var value = tp.y - tp.startY - offset;
118 if (value < 0) {
121 if (value < 0) {
119− var coords = mapToItem(shell, tp.x, tp.y);
122+ var coords = mapToItem(stage, tp.x, tp.y);
120− fakeDragItem.Drag.hotSpot.x = fakeDragItem.width / 2
123+ dragDelegate.Drag.hotSpot.x = dragDelegate.width / 2
121− fakeDragItem.Drag.hotSpot.y = units.gu(2)
124+ dragDelegate.Drag.hotSpot.y = units.gu(2)
122− fakeDragItem.x = coords.x - fakeDragItem.Drag.hotSpot.x
125+ dragDelegate.x = coords.x - dragDelegate.Drag.hotSpot.x
123− fakeDragItem.y = coords.y - fakeDragItem.Drag.hotSpot.y
126+ dragDelegate.y = coords.y - dragDelegate.Drag.hotSpot.y
124− fakeDragItem.Drag.active = true;
127+ dragDelegate.Drag.active = true;
125− fakeDragItem.surface = model.window.surface;
128+ dragDelegate.surface = model.window.surface;
128 if (root.closeable) {
131 if (root.closeable) {
@@ -136,8 +139,8 @@ Item {
138 onReleased: {
141 onReleased: {
139− var result = fakeDragItem.Drag.drop();
142+ var result = dragDelegate.Drag.drop();
140− fakeDragItem.surface = null;
143+ dragDelegate.surface = null;
142 if (!d.moving) {
145 if (!d.moving) {
143 root.clicked()
146 root.clicked()
@@ -160,8 +163,8 @@ Item {
162 onCanceled: {
165 onCanceled: {
163− fakeDragItem.Drag.active = false;
166+ dragDelegate.Drag.active = false;
164− fakeDragItem.surface = null;
167+ dragDelegate.surface = null;
165 d.moving = false
168 d.moving = false
166 animation.animate("center");
169 animation.animate("center");