aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMahmoud Badri <mahmoud.badri@qt.io>2020-11-10 21:20:17 +0200
committerMahmoud Badri <mahmoud.badri@qt.io>2020-11-12 11:32:32 +0000
commit1b4ef82f285622f08956c69079a08b533843a008 (patch)
tree92cf74cfbe91fb5ebe1072d7ac16bf103ce37bf8
parent46d204617309dd033ded2b82d8e0423c0df1f2ec (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>
-rw-r--r--src/plugins/qmldesigner/components/integration/designdocument.cpp4
-rw-r--r--src/plugins/qmldesigner/components/integration/designdocumentview.cpp24
-rw-r--r--src/plugins/qmldesigner/designercore/include/rewriterview.h2
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;