From bb3ff9c66c9cae6b29e60b6beb45f5034109b62a Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Fri, 10 Dec 2010 23:04:02 +0100 Subject: [PATCH] QmlDesigner.dragAndDrop: use instancesCompleted instead of timer --- .../qmldesigner/components/formeditor/dragtool.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp index 2752c2b0373..66683e61564 100644 --- a/src/plugins/qmldesigner/components/formeditor/dragtool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/dragtool.cpp @@ -208,10 +208,15 @@ void DragTool::formEditorItemsChanged(const QList<FormEditorItem*> & itemList) void DragTool::instancesCompleted(const QList<FormEditorItem*> &itemList) { + foreach (FormEditorItem* item, itemList) + if (item->qmlItemNode() == m_dragNode) + clearMoveDelay(); } void DragTool::clearMoveDelay() { + if (!m_blockMove) + return; m_blockMove = false; if (m_dragNode.isValid()) beginWithPoint(m_startPoint); @@ -253,7 +258,7 @@ void DragTool::dragEnterEvent(QGraphicsSceneDragDropEvent * event) { if (event->mimeData()->hasFormat("application/vnd.bauhaus.itemlibraryinfo") || event->mimeData()->hasFormat("application/vnd.bauhaus.libraryresource")) { - + m_blockMove = false; if (event->mimeData()->hasFormat("application/vnd.bauhaus.itemlibraryinfo")) { Q_ASSERT(!event->mimeData()->data("application/vnd.bauhaus.itemlibraryinfo").isEmpty()); ItemLibraryEntry itemLibraryEntry = itemLibraryEntryFromData(event->mimeData()->data("application/vnd.bauhaus.itemlibraryinfo")); @@ -340,7 +345,7 @@ void DragTool::dragMoveEvent(QGraphicsSceneDragDropEvent * event) } else Q_ASSERT(false); m_blockMove = true; m_startPoint = event->scenePos(); - QTimer::singleShot(100, m_timerHandler.data(), SLOT(clearMoveDelay())); + QTimer::singleShot(1000, m_timerHandler.data(), SLOT(clearMoveDelay())); } } if (event->mimeData()->hasFormat("application/vnd.bauhaus.libraryresource")) { -- GitLab