diff --git a/src/plugins/qmldesigner/components/itemlibrary/qml/ItemView.qml b/src/plugins/qmldesigner/components/itemlibrary/qml/ItemView.qml index 835ebbcb535fbb9903d9f31e9e31907b5b00885c..369de2ae630ce3a3289ce8beedcc8547b45fdbe4 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/qml/ItemView.qml +++ b/src/plugins/qmldesigner/components/itemlibrary/qml/ItemView.qml @@ -37,7 +37,7 @@ Item { width: GridView.view.cellWidth height: style.cellHeight - signal itemClicked() + signal itemPressed() signal itemDragged() Rectangle { @@ -116,12 +116,25 @@ Item { id: mouseRegion anchors.fill: parent - onPositionChanged: { - itemDragged(); + property bool reallyPressed: false + property int pressedX + property int pressedY + + onPressed: { + reallyPressed = true + pressedX = mouse.x + pressedY = mouse.y + itemPressed() } - onClicked: { - itemClicked(); + onPositionChanged: { + if (reallyPressed && + (Math.abs(mouse.x - pressedX) > 2 || + Math.abs(mouse.y - pressedY) > 2)) { + itemDragged() + reallyPressed = false; + } } + onReleased: reallyPressed = false } } diff --git a/src/plugins/qmldesigner/components/itemlibrary/qml/SectionView.qml b/src/plugins/qmldesigner/components/itemlibrary/qml/SectionView.qml index c231730c8aaee861b6fd275952d9362bc704393d..e35d715558393b2a943cf9aabc52ad7d4aa3f452 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/qml/SectionView.qml +++ b/src/plugins/qmldesigner/components/itemlibrary/qml/SectionView.qml @@ -58,7 +58,7 @@ Column { sectionView.itemSelected(itemLibId); } - onItemClicked: selectItem() + onItemPressed: selectItem() onItemDragged: { selectItem(); sectionView.itemDragged(itemLibId);