diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2020-11-10 21:20:17 +0200 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2020-11-12 11:32:32 +0000 |
commit | 1b4ef82f285622f08956c69079a08b533843a008 (patch) | |
tree | 92cf74cfbe91fb5ebe1072d7ac16bf103ce37bf8 | |
parent | 46d204617309dd033ded2b82d8e0423c0df1f2ec (diff) |
QmlDesigner: small improvements to the paste logic
Change-Id: I256ffbe7f7eff1eb5796a368105d256d319c42bf
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
3 files changed, 15 insertions, 15 deletions
diff --git a/src/plugins/qmldesigner/components/integration/designdocument.cpp b/src/plugins/qmldesigner/components/integration/designdocument.cpp index 7f83f652e75..bedea2314f5 100644 --- a/src/plugins/qmldesigner/components/integration/designdocument.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocument.cpp @@ -491,7 +491,7 @@ void DesignDocument::paste() if (rootNode.type() == "empty") return; - if (rootNode.id() == "designer__Selection") { // pasting multiple objects + if (rootNode.id() == "__multi__selection__") { // pasting multiple objects currentModel()->attachView(&view); ModelNode targetNode; @@ -545,7 +545,7 @@ void DesignDocument::paste() }); } else { // pasting single object - rewriterView()->executeInTransaction("DesignDocument::paste1", [this, &view, selectedNodes, rootNode]() { + rewriterView()->executeInTransaction("DesignDocument::paste1", [this, &view, rootNode]() { currentModel()->attachView(&view); ModelNode pastedNode(view.insertModel(rootNode)); ModelNode targetNode; diff --git a/src/plugins/qmldesigner/components/integration/designdocumentview.cpp b/src/plugins/qmldesigner/components/integration/designdocumentview.cpp index 336fbd8439c..25b468fe23a 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentview.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentview.cpp @@ -141,23 +141,23 @@ void DesignDocumentView::fromText(const QString &text) inputModel->setFileUrl(model()->fileUrl()); QPlainTextEdit textEdit; QString imports; - foreach (const Import &import, model()->imports()) - imports += QStringLiteral("import ") + import.toString(true) + QLatin1Char(';') + QLatin1Char('\n'); + const auto modelImports = model()->imports(); + for (const Import &import : modelImports) + imports += "import " + import.toString(true) + QLatin1Char(';') + QLatin1Char('\n'); textEdit.setPlainText(imports + text); NotIndentingTextEditModifier modifier(&textEdit); - QScopedPointer<RewriterView> rewriterView(new RewriterView(RewriterView::Amend, nullptr)); - rewriterView->setCheckSemanticErrors(false); - rewriterView->setTextModifier(&modifier); - inputModel->setRewriterView(rewriterView.data()); + RewriterView rewriterView; + rewriterView.setCheckSemanticErrors(false); + rewriterView.setTextModifier(&modifier); + inputModel->setRewriterView(&rewriterView); - rewriterView->restoreAuxiliaryData(); + rewriterView.restoreAuxiliaryData(); - if (rewriterView->errors().isEmpty() && rewriterView->rootModelNode().isValid()) { - ModelMerger merger(this); + if (rewriterView.errors().isEmpty() && rewriterView.rootModelNode().isValid()) { try { - merger.replaceModel(rewriterView->rootModelNode()); + replaceModel(rewriterView.rootModelNode()); } catch(Exception &/*e*/) { /* e.showException(); Do not show any error if the clipboard contains invalid QML */ } @@ -237,13 +237,13 @@ void DesignDocumentView::copyModelNodes(const QList<ModelNode> &nodesToCopy) Q_ASSERT(view.rootModelNode().type() != "empty"); view.toClipboard(); - } else { //multi items selected + } else { // multi items selected foreach (ModelNode node, view.rootModelNode().directSubModelNodes()) { node.destroy(); } view.changeRootNodeType("QtQuick.Rectangle", 2, 0); - view.rootModelNode().setIdWithRefactoring("designer__Selection"); + view.rootModelNode().setIdWithRefactoring("__multi__selection__"); foreach (const ModelNode &selectedNode, selectedNodes) { ModelNode newNode(view.insertModel(selectedNode)); diff --git a/src/plugins/qmldesigner/designercore/include/rewriterview.h b/src/plugins/qmldesigner/designercore/include/rewriterview.h index 5eae2f221fa..9ecc5d7b988 100644 --- a/src/plugins/qmldesigner/designercore/include/rewriterview.h +++ b/src/plugins/qmldesigner/designercore/include/rewriterview.h @@ -75,7 +75,7 @@ public: }; public: - RewriterView(DifferenceHandling differenceHandling, QObject *parent); + RewriterView(DifferenceHandling differenceHandling = RewriterView::Amend, QObject *parent = nullptr); ~RewriterView() override; void modelAttached(Model *model) override; |