summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp2
-rw-r--r--src/plugins/qmldesigner/designercore/include/modelnode.h1
-rw-r--r--src/plugins/qmldesigner/designercore/model/modelnode.cpp24
3 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp b/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp
index 398289b5c8..cf64476e7f 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/gradientlineqmladaptor.cpp
@@ -131,7 +131,7 @@ void GradientLineQmlAdaptor::writeGradient()
modelNode.removeProperty(gradientName());
}
- ModelNode gradientNode = gradientNode= modelNode.view()->createModelNode("QtQuick.Gradient", modelNode.majorVersion(), 0);
+ ModelNode gradientNode= modelNode.view()->createModelNode("QtQuick.Gradient", modelNode.majorQtQuickVersion(), 0);
modelNode.nodeProperty(gradientName()).reparentHere(gradientNode);
RewriterTransaction transaction = m_itemNode.modelNode().view()->beginRewriterTransaction();
diff --git a/src/plugins/qmldesigner/designercore/include/modelnode.h b/src/plugins/qmldesigner/designercore/include/modelnode.h
index 8186534ad7..858706d853 100644
--- a/src/plugins/qmldesigner/designercore/include/modelnode.h
+++ b/src/plugins/qmldesigner/designercore/include/modelnode.h
@@ -103,6 +103,7 @@ public:
QString simplifiedTypeName() const;
int minorVersion() const;
int majorVersion() const;
+ int majorQtQuickVersion() const;
bool isValid() const;
bool isInHierarchy() const;
diff --git a/src/plugins/qmldesigner/designercore/model/modelnode.cpp b/src/plugins/qmldesigner/designercore/model/modelnode.cpp
index 981f4e81f7..bd3a969189 100644
--- a/src/plugins/qmldesigner/designercore/model/modelnode.cpp
+++ b/src/plugins/qmldesigner/designercore/model/modelnode.cpp
@@ -35,6 +35,7 @@
#include <abstractview.h>
#include <model.h>
#include <metainfo.h>
+#include <nodemetainfo.h>
#include "internalnode_p.h"
#include <QHash>
#include <QTextStream>
@@ -239,6 +240,29 @@ int ModelNode::majorVersion() const
return m_internalNode->majorVersion();
}
+/*! \brief major number of the QtQuick version used
+\return major number of QtQuickVersion
+*/
+int ModelNode::majorQtQuickVersion() const
+{
+ if (!isValid()) {
+ Q_ASSERT_X(isValid(), Q_FUNC_INFO, "model node is invalid");
+ throw InvalidModelNodeException(__LINE__, __FUNCTION__, __FILE__);
+ }
+
+ if (metaInfo().isValid()) {
+ NodeMetaInfo superClass = metaInfo().directSuperClass();
+
+ while (superClass.isValid()) {
+ if (superClass.typeName() == "QtQuick.Item")
+ return superClass.majorVersion();
+ superClass = superClass.directSuperClass();
+ }
+ return 1; //default
+ }
+ return 1; //default
+}
+
/*! \return the short-hand type name of the node. */
QString ModelNode::simplifiedTypeName() const