diff options
author | Thomas Hartmann <thomas.hartmann@qt.io> | 2017-07-21 14:23:50 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2017-07-21 14:04:20 +0000 |
commit | a4cb8479a3d9cbb4991b6886cfaa075f6991d08d (patch) | |
tree | b3053d361782f36c4509a1a5f4aa4c87685c518c /src/plugins/qmldesigner | |
parent | 214f87b69b776741d9dc11a04a397158f86cfe99 (diff) | |
download | qt-creator-a4cb8479a3d9cbb4991b6886cfaa075f6991d08d.tar.gz |
QmlDesigner: Fix flickering move cursor
The check for selectedItemCursorInMovableArea has to be the first check,
because otherwise we might change back to the selection tool if e.g.
the item list is empty. This leads to a flickering cursor and bad
usabilty.
Change-Id: I0ea82cd1c4bf83cde0b173ab08f19bd04b1128c0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner')
-rw-r--r-- | src/plugins/qmldesigner/components/formeditor/movetool.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/plugins/qmldesigner/components/formeditor/movetool.cpp b/src/plugins/qmldesigner/components/formeditor/movetool.cpp index fba74d9b3c..5fb29ac88d 100644 --- a/src/plugins/qmldesigner/components/formeditor/movetool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/movetool.cpp @@ -124,23 +124,26 @@ void MoveTool::mouseMoveEvent(const QList<QGraphicsItem*> &itemList, void MoveTool::hoverMoveEvent(const QList<QGraphicsItem*> &itemList, QGraphicsSceneMouseEvent * event) { - if (itemList.isEmpty()) { - view()->changeToSelectionTool(); - return; - } - ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(itemList.first()); if (resizeHandle) { view()->changeToResizeTool(); return; } + if (view()->hasSingleSelectedModelNode() && selectedItemCursorInMovableArea(event->scenePos())) + return; + + if (itemList.isEmpty()) { + view()->changeToSelectionTool(); + return; + } + if (!topSelectedItemIsMovable(itemList)) { view()->changeToSelectionTool(); return; } - if (view()->hasSingleSelectedModelNode() && !selectedItemCursorInMovableArea(event->scenePos())) { + if (view()->hasSingleSelectedModelNode()) { view()->changeToSelectionTool(); return; } |