From ef5d054d0c565da963cac0d2935b21a99a7b1729 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Tue, 26 Jul 2011 19:34:56 +0200 Subject: [PATCH] QmlDesigner.FormEditor: Skip all move events between a 30 ms time frame To many move events will stall the local sockets. Change-Id: Iec9a072a6c2e217d19c656d5596c40167ca97675 Reviewed-on: http://codereview.qt.nokia.com/2222 Reviewed-by: Qt Sanity Bot Reviewed-by: Thomas Hartmann --- .../components/formeditor/formeditorscene.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp index 2d048f9ea69..46061eaffd2 100644 --- a/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp +++ b/src/plugins/qmldesigner/components/formeditor/formeditorscene.cpp @@ -275,12 +275,17 @@ void FormEditorScene::mousePressEvent(QGraphicsSceneMouseEvent *event) void FormEditorScene::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { - if (event->buttons()) - currentTool()->mouseMoveEvent(removeLayerItems(items(event->scenePos())), event); - else - currentTool()->hoverMoveEvent(removeLayerItems(items(event->scenePos())), event); + static QTime time; - event->accept(); + if (time.elapsed() > 30) { + time.restart(); + if (event->buttons()) + currentTool()->mouseMoveEvent(removeLayerItems(items(event->scenePos())), event); + else + currentTool()->hoverMoveEvent(removeLayerItems(items(event->scenePos())), event); + + event->accept(); + } } void FormEditorScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)