diff --git a/applets/kicker/package/contents/ui/ItemGridView.qml b/applets/kicker/package/contents/ui/ItemGridView.qml --- a/applets/kicker/package/contents/ui/ItemGridView.qml +++ b/applets/kicker/package/contents/ui/ItemGridView.qml @@ -372,6 +372,7 @@ property int lastX: -1 property int lastY: -1 property Item pressedItem: null + property bool dragging: false acceptedButtons: Qt.LeftButton | Qt.RightButton @@ -428,24 +429,23 @@ onReleased: { mouse.accepted = true; - var item = updatePositionProperties(mouse.x, mouse.y); - - if (item === undefined) { - if (gridView.currentItem && gridView.currentItem == pressedItem) { - if ("trigger" in gridView.model) { - gridView.model.trigger(pressedItem.itemIndex, "", null); - root.toggle(); - } + updatePositionProperties(mouse.x, mouse.y); - itemGrid.itemActivated(pressedItem.itemIndex, "", null); - } else if (!pressedItem && mouse.button == Qt.LeftButton) { + if (gridView.currentItem && gridView.currentItem == pressedItem) { + if ("trigger" in gridView.model) { + gridView.model.trigger(pressedItem.itemIndex, "", null); root.toggle(); } + + itemGrid.itemActivated(pressedItem.itemIndex, "", null); } + else if (!dragging && !pressedItem && mouse.button == Qt.LeftButton) + root.toggle(); pressX = -1; pressY = -1; pressedItem = null; + dragging = false; } onPositionChanged: { @@ -460,6 +460,7 @@ dragHelper.startDrag(kicker, item.url, item.icon); } + dragging = true; kicker.dragSource = item; pressX = -1;