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>
This commit is contained in:
Thomas Hartmann
2017-07-21 14:23:50 +02:00
committed by Tim Jenssen
parent 214f87b69b
commit a4cb8479a3

View File

@@ -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;
}