From 401bbae862ae45440580ca7107ac55881aafaf42 Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Mon, 15 Apr 2024 12:33:51 +0300 Subject: [PATCH] QmlDesigner: Remove zoom level from affecting edit camera movement When moving the edit camera with keyboard, zoom level no longer is used as multiplier for the movement. Fixes: QDS-12274 Change-Id: I59c903b73fef095e619cccc36868605b47f9ec83 Reviewed-by: Qt CI Patch Build Bot Reviewed-by: Mahmoud Badri --- src/tools/qml2puppet/mockfiles/qt6/EditCameraController.qml | 3 +-- src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp | 5 +++-- src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/tools/qml2puppet/mockfiles/qt6/EditCameraController.qml b/src/tools/qml2puppet/mockfiles/qt6/EditCameraController.qml index 446d5756838..a76a1cdf08c 100644 --- a/src/tools/qml2puppet/mockfiles/qt6/EditCameraController.qml +++ b/src/tools/qml2puppet/mockfiles/qt6/EditCameraController.qml @@ -158,8 +158,7 @@ Item { function moveCamera(moveVec) { - cameraCtrl._lookAtPoint = _generalHelper.moveCamera(camera, _lookAtPoint, _zoomFactor, - moveVec); + cameraCtrl._lookAtPoint = _generalHelper.moveCamera(camera, _lookAtPoint, moveVec); } function getMoveVectorForKey(key) { diff --git a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp index 0fb708c6ff3..4b47179915e 100644 --- a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp +++ b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.cpp @@ -157,7 +157,7 @@ QVector3D GeneralHelper::panCamera(QQuick3DCamera *camera, const QMatrix4x4 star // Moves camera in 3D space and returns new look-at point QVector3D GeneralHelper::moveCamera(QQuick3DCamera *camera, const QVector3D &startLookAt, - float zoomFactor, const QVector3D &moveVector) + const QVector3D &moveVector) { if (moveVector.length() < 0.001f) @@ -171,7 +171,8 @@ QVector3D GeneralHelper::moveCamera(QQuick3DCamera *camera, const QVector3D &sta const QVector3D xDelta = xAxis * moveVector.x(); const QVector3D yDelta = yAxis * moveVector.y(); const QVector3D zDelta = zAxis * moveVector.z(); - const QVector3D delta = (yDelta - xDelta - zDelta) * zoomFactor; + // Delta multiplier for nice default speed in default scene + const QVector3D delta = (yDelta - xDelta - zDelta) * .5f; camera->setPosition(camera->position() + delta); diff --git a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.h b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.h index 3ba6f8b1d9f..781a19dbff5 100644 --- a/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.h +++ b/src/tools/qml2puppet/qml2puppet/editor3d/generalhelper.h @@ -55,7 +55,7 @@ public: const QVector3D &pressPos, const QVector3D ¤tPos, float zoomFactor); Q_INVOKABLE QVector3D moveCamera(QQuick3DCamera *camera,const QVector3D &startLookAt, - float zoomFactor, const QVector3D &moveVector); + const QVector3D &moveVector); Q_INVOKABLE QVector3D rotateCamera(QQuick3DCamera *camera, const QPointF &angles, const QVector3D &lookAtPoint);