QmlDesigner: avoid crash for Components and copy and paste

We have to set the proper fileUrl on all models
This commit is contained in:
Thomas Hartmann
2010-05-18 14:45:54 +02:00
parent a87030201c
commit cd004cdf98

View File

@@ -461,6 +461,7 @@ void DesignDocumentController::copySelected()
{
QScopedPointer<Model> model(Model::create("import Qt 4.7; Qt/Rectangle"));
model->setMetaInfo(m_d->model->metaInfo());
model->setFileUrl(m_d->model->fileUrl());
Q_ASSERT(model);
@@ -573,6 +574,8 @@ void DesignDocumentController::paste()
if (rootNode.id() == "designer__Selection") {
QList<ModelNode> selectedNodes = rootNode.allDirectSubModelNodes();
qDebug() << rootNode;
qDebug() << selectedNodes;
model->detachView(&view);
m_d->model->attachView(&view);
@@ -635,7 +638,9 @@ void DesignDocumentController::paste()
QString defaultProperty(targetNode.metaInfo().defaultProperty());
scatterItem(pastedNode, targetNode);
targetNode.nodeListProperty(defaultProperty).reparentHere(pastedNode);
if (targetNode.nodeListProperty(defaultProperty).isValid()) {
targetNode.nodeListProperty(defaultProperty).reparentHere(pastedNode);
}
view.setSelectedModelNodes(QList<ModelNode>() << pastedNode);
}