forked from qt-creator/qt-creator
QmlDesigner: Store 3D edit tool states per document
This way we avoid interference from scenes in other documents. 3D Edit view content is also cleared whenever a model is detached, and puppet resize is automatically triggered if incorrectly sized image is received to keep edit 3D view content up to date. Change-Id: Ic7a71f1d89f0ebfe5a62b49ea62570242b8f5b1d Fixes: QDS-1734 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
@@ -73,6 +73,10 @@ Edit3DWidget *Edit3DView::edit3DWidget() const
|
||||
void Edit3DView::renderImage3DChanged(const QImage &img)
|
||||
{
|
||||
edit3DWidget()->canvas()->updateRenderImage(img);
|
||||
|
||||
// Notify puppet to resize if received image wasn't correct size
|
||||
if (img.size() != canvasSize())
|
||||
edit3DViewResized(canvasSize());
|
||||
}
|
||||
|
||||
void Edit3DView::updateActiveScene3D(const QVariantMap &sceneState)
|
||||
@@ -118,6 +122,15 @@ void Edit3DView::updateActiveScene3D(const QVariantMap &sceneState)
|
||||
m_editLightAction->action()->setChecked(false);
|
||||
}
|
||||
|
||||
void Edit3DView::modelAboutToBeDetached(Model *model)
|
||||
{
|
||||
Q_UNUSED(model)
|
||||
|
||||
// Clear the image when model is detached (i.e. changing documents)
|
||||
QImage emptyImage;
|
||||
edit3DWidget()->canvas()->updateRenderImage(emptyImage);
|
||||
}
|
||||
|
||||
void Edit3DView::sendInputEvent(QInputEvent *e) const
|
||||
{
|
||||
nodeInstanceView()->sendInputEvent(e);
|
||||
|
||||
Reference in New Issue
Block a user