diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2024-04-22 13:57:30 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2024-04-22 11:21:10 +0000 |
commit | 64ed6fff6d68461d3e43d39ba8f6c3d1f3b29f2a (patch) | |
tree | 2bec10a87e06ca8927e5f9b9973bf201c37c49ae /src/plugins | |
parent | 10bcd931c6bc35e1333a614eabbba84a33583fba (diff) |
QmlDesigner: Select model under cursor when using "Edit in 3D View"
If selection context contains valid scene position, use that to select
the model under cursor.
Fixes: QDS-12346
Change-Id: I55c58ed303e1746b7b234fa6ac31272fdfafb40d
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp index 66c1229a76..a5274c70e2 100644 --- a/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp +++ b/src/plugins/qmldesigner/components/componentcore/modelnodeoperations.cpp @@ -1688,7 +1688,14 @@ void editIn3dView(const SelectionContext &selectionContext) if (selectionContext.view() && selectionContext.hasSingleSelectedModelNode() && selectionContext.currentSingleSelectedNode().metaInfo().isQtQuick3DView3D()) { QmlDesignerPlugin::instance()->mainWidget()->showDockWidget("Editor3D", true); - selectionContext.view()->emitView3DAction(View3DActionType::AlignViewToCamera, true); + const QPointF scenePos = selectionContext.scenePosition(); + if (scenePos.isNull()) { + selectionContext.view()->emitView3DAction(View3DActionType::AlignViewToCamera, true); + } else { + selectionContext.view()->emitCustomNotification("pick_3d_node_from_2d_scene", + {selectionContext.currentSingleSelectedNode()}, + {scenePos}); + } } } |