OSDN Git Service

Merge remote branch 'origin/2.0'
[qt-creator-jp/qt-creator-jp.git] / src / plugins / qmldesigner / designercore / metainfo / metainfo.cpp
index 1d01df7..a16740c 100644 (file)
@@ -114,8 +114,8 @@ void MetaInfoPrivate::initialize()
 
     parseQmlTypes();
     parseNonQmlTypes();
-    parseValueTypes();
     parseXmlFiles();
+    parseValueTypes();
 
     m_isInitialized = true;
 }
@@ -154,9 +154,9 @@ void MetaInfoPrivate::parseProperties(NodeMetaInfo &nodeMetaInfo, const QMetaObj
         propertyInfo.setFlagType(qProperty.isFlagType());
 
         if (propertyInfo.isEnumType()) {
-            EnumeratorMetaInfo enumerator;
-
             QMetaEnum qEnumerator = qProperty.enumerator();
+            EnumeratorMetaInfo enumerator = m_q->addEnumerator(qEnumerator.scope(), qEnumerator.name());
+
             enumerator.setValid(qEnumerator.isValid());
             enumerator.setIsFlagType(qEnumerator.isFlag());
             enumerator.setScope(qEnumerator.scope());
@@ -167,6 +167,7 @@ void MetaInfoPrivate::parseProperties(NodeMetaInfo &nodeMetaInfo, const QMetaObj
             }
 
             propertyInfo.setEnumerator(enumerator);
+            
         }
 
         nodeMetaInfo.addProperty(propertyInfo);
@@ -241,7 +242,8 @@ void MetaInfoPrivate::parseValueTypes()
                << "QRectF"
                << "QSize"
                << "QSizeF"
-               << "QVector3D";
+               << "QVector3D"
+               << "QEasingCurve";
 
     foreach (const QString &type, valueTypes) {
         NodeMetaInfo nodeMetaInfo(*m_q);
@@ -269,6 +271,12 @@ void MetaInfoPrivate::parseValueTypes()
                 propertyInfo.setType("int");
             } else if (type == ("QRect")) {
                 propertyInfo.setType("int");
+            } else if (type == ("QEasingCurve")) {
+                if (propertyName == "type") {
+                    propertyInfo.setEnumType("true");
+                    propertyInfo.setType("QEasingCurve::Type");
+                    propertyInfo.setEnumerator(m_q->enumerator("QEasingCurve::Type"));
+                }
             }
             propertyInfo.setValid(true);
             propertyInfo.setReadable(true);