aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@qt.io>2020-07-01 09:38:13 +0200
committerTim Jenssen <tim.jenssen@qt.io>2020-07-01 09:40:01 +0200
commit0c6231d7ecc55ae988ab6a1b23fe1925027af113 (patch)
treef6c598ce11ef9273c2b94065c9defbacdfc88318 /src/plugins/qmldesigner/designercore
parent6d9ccbdf69d8e57269a945cf19a54a00ad540bfb (diff)
parenta8819d0efde54d6196b292e874a1441fd2c25c27 (diff)
Merge remote-tracking branch 'origin/qds-1.59' into 4.13
Conflicts: src/tools/clangpchmanagerbackend/source/pchtaskqueue.h Change-Id: Ibe8ac2fa0eafcbcc86ac445f0be035839e06ff40
Diffstat (limited to 'src/plugins/qmldesigner/designercore')
-rw-r--r--src/plugins/qmldesigner/designercore/exceptions/exception.cpp8
-rw-r--r--src/plugins/qmldesigner/designercore/exceptions/exceptions.pri16
-rw-r--r--src/plugins/qmldesigner/designercore/include/modelnode.h14
-rw-r--r--src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h7
-rw-r--r--src/plugins/qmldesigner/designercore/model/abstractview.cpp1
-rw-r--r--src/plugins/qmldesigner/designercore/model/modelnode.cpp19
6 files changed, 57 insertions, 8 deletions
diff --git a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
index 486e5bec2b..6610638748 100644
--- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
+++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
@@ -34,8 +34,8 @@
#include <QCoreApplication>
-#include <coreplugin/messagebox.h>
#ifndef QMLDESIGNER_TEST
+#include <coreplugin/messagebox.h>
#include <qmldesignerplugin.h>
#endif
@@ -160,8 +160,12 @@ QString Exception::description() const
*/
void Exception::showException(const QString &title) const
{
- QString composedTitle = title.isEmpty() ? QCoreApplication::translate("QmlDesigner", "Error") : title;
+ Q_UNUSED(title)
+#ifndef QMLDESIGNER_TEST
+ QString composedTitle = title.isEmpty() ? QCoreApplication::translate("QmlDesigner", "Error")
+ : title;
Core::AsynchronousMessageBox::warning(composedTitle, description());
+#endif
}
/*!
diff --git a/src/plugins/qmldesigner/designercore/exceptions/exceptions.pri b/src/plugins/qmldesigner/designercore/exceptions/exceptions.pri
index 848d7808fc..6fbafdee3c 100644
--- a/src/plugins/qmldesigner/designercore/exceptions/exceptions.pri
+++ b/src/plugins/qmldesigner/designercore/exceptions/exceptions.pri
@@ -1,2 +1,14 @@
-SOURCES += $$PWD/exception.cpp
-SOURCES += $$PWD/invalidnodeinstanceexception.cpp
+SOURCES += $$PWD/exception.cpp \
+ $$PWD/invalidargumentexception.cpp \
+ $$PWD/invalididexception.cpp \
+ $$PWD/invalidmetainfoexception.cpp \
+ $$PWD/invalidmodelnodeexception.cpp \
+ $$PWD/invalidmodelstateexception.cpp \
+ $$PWD/invalidpropertyexception.cpp \
+ $$PWD/invalidqmlsourceexception.cpp \
+ $$PWD/invalidreparentingexception.cpp \
+ $$PWD/invalidslideindexexception.cpp \
+ $$PWD/notimplementedexception.cpp \
+ $$PWD/removebasestateexception.cpp \
+ $$PWD/rewritingexception.cpp
+
diff --git a/src/plugins/qmldesigner/designercore/include/modelnode.h b/src/plugins/qmldesigner/designercore/include/modelnode.h
index 6f3d5eb6df..3197e746ab 100644
--- a/src/plugins/qmldesigner/designercore/include/modelnode.h
+++ b/src/plugins/qmldesigner/designercore/include/modelnode.h
@@ -91,9 +91,12 @@ public:
ModelNode(const Internal::InternalNodePointer &internalNode, Model *model, const AbstractView *view);
ModelNode(const ModelNode &modelNode, AbstractView *view);
ModelNode(const ModelNode &other);
+ ModelNode(ModelNode &&other);
~ModelNode();
- ModelNode& operator=(const ModelNode &other);
+ ModelNode &operator=(const ModelNode &other);
+ ModelNode &operator=(ModelNode &&other);
+
TypeName type() const;
QString simplifiedTypeName() const;
QString displayName() const;
@@ -226,6 +229,15 @@ public:
bool isSubclassOf(const TypeName &typeName, int majorVersion = -1, int minorVersion = -1) const;
QIcon typeIcon() const;
+ friend void swap(ModelNode &first, ModelNode &second)
+ {
+ using std::swap;
+
+ swap(first.m_internalNode, second.m_internalNode);
+ swap(first.m_model, second.m_model);
+ swap(first.m_view, second.m_view);
+ }
+
private: // functions
Internal::InternalNodePointer internalNode() const;
diff --git a/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h b/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h
index 0872c547c8..552095a8d6 100644
--- a/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h
+++ b/src/plugins/qmldesigner/designercore/include/qmldesignercorelib_global.h
@@ -31,10 +31,13 @@
// Unnecessary since core isn't a dll any more.
#if defined(DESIGNER_CORE_LIBRARY)
-# define QMLDESIGNERCORE_EXPORT Q_DECL_EXPORT
+#define QMLDESIGNERCORE_EXPORT Q_DECL_EXPORT
+#elif defined(DESIGNER_STATIC_CORE_LIBRARY)
+#define QMLDESIGNERCORE_EXPORT
#else
-# define QMLDESIGNERCORE_EXPORT Q_DECL_IMPORT
+#define QMLDESIGNERCORE_EXPORT Q_DECL_IMPORT
#endif
+
namespace QmlDesigner {
using PropertyName = QByteArray;
using PropertyNameList = QList<PropertyName>;
diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp
index 03ac27a5b0..3be64be127 100644
--- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp
+++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp
@@ -42,6 +42,7 @@
#include <utils/algorithm.h>
#include <QRegExp>
+#include <QWidget>
#include <QtGui/qimage.h>
namespace QmlDesigner {
diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp
index b4c21564c7..eb2d285997 100644
--- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp
+++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp
@@ -93,7 +93,25 @@ ModelNode::ModelNode(const ModelNode &modelNode, AbstractView *view)
m_model(modelNode.model()),
m_view(view)
{
+}
+
+ModelNode::ModelNode(ModelNode &&other)
+ : m_internalNode(std::move(other.m_internalNode))
+ , m_model(std::move(other.m_model))
+ , m_view(std::move(other.m_view))
+{
+ other.m_model = {};
+ other.m_view = {};
+}
+ModelNode &ModelNode::operator=(ModelNode &&other)
+{
+ ModelNode newNode;
+
+ swap(other, newNode);
+ swap(*this, newNode);
+
+ return *this;
}
/*! \brief contructs a invalid model node
@@ -103,7 +121,6 @@ ModelNode::ModelNode(const ModelNode &modelNode, AbstractView *view)
ModelNode::ModelNode():
m_internalNode(new InternalNode)
{
-
}
ModelNode::ModelNode(const ModelNode &other) = default;