diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-11-18 15:44:33 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2019-11-22 10:48:35 +0000 |
commit | dbfdacecf4fe60ee85200510e325930272e0850e (patch) | |
tree | 69c7661805494867e44ac4607c33bd0ae39f0b32 /share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp | |
parent | 3dd5e089b10c89446f34b01a0f535aa936719cb7 (diff) |
QmlDesigner: Fix issues with MouseArea3D deactivation detection
Existing mouse grab is now released when MouseArea3D is deactivated
or set to no longer grab the mouse. Various gizmos were also set
to follow MouseArea3D's dragging property instead of keeping track
of drag themselves.
Change-Id: I49f968f20b26eb222fc8635b943e9144073fb164
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp')
-rw-r--r-- | share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp index a1e25dea3a..d571b24dcb 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/editor3d/mousearea3d.cpp @@ -123,6 +123,13 @@ void MouseArea3D::setGrabsMouse(bool grabsMouse) return; m_grabsMouse = grabsMouse; + + if (!m_grabsMouse && s_mouseGrab == this) { + setDragging(false); + setHovering(false); + s_mouseGrab = nullptr; + } + emit grabsMouseChanged(); } @@ -132,6 +139,13 @@ void MouseArea3D::setActive(bool active) return; m_active = active; + + if (!m_active && s_mouseGrab == this) { + setDragging(false); + setHovering(false); + s_mouseGrab = nullptr; + } + emit activeChanged(); } |