Remove the use of QWidgetStar from QtQml.
authorStephen Kelly <stephen.kelly@kdab.com>
Tue, 7 Aug 2012 08:54:39 +0000 (10:54 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 15 Aug 2012 11:19:45 +0000 (13:19 +0200)
The enum value can be removed so that it can be replaced in functionality
with QMetaType::PointerToQObject. There is no advantage to QtDeclarative
knowing that a value is a QWidget pointer.

Change-Id: I14530132bc37fbb0dc55ba8aaa5bb68db0d87bad
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
src/qml/qml/qqmlpropertycache.cpp
src/qml/qml/qqmlvaluetype.cpp
src/qml/qml/v8/qv8engine.cpp

index 6b41c7a..89febc2 100644 (file)
@@ -102,7 +102,7 @@ static QQmlPropertyData::Flags flagsForPropertyType(int propType, QQmlEngine *en
 
     QQmlPropertyData::Flags flags;
 
-    if (propType == QMetaType::QObjectStar || propType == QMetaType::QWidgetStar) {
+    if (propType == QMetaType::QObjectStar) {
         flags |= QQmlPropertyData::IsQObjectDerived;
     } else if (propType == QMetaType::QVariant) {
         flags |= QQmlPropertyData::IsQVariant;
@@ -153,7 +153,7 @@ void QQmlPropertyData::lazyLoad(const QMetaProperty &p, QQmlEngine *engine)
     flags = fastFlagsForProperty(p);
 
     int type = p.type();
-    if (type == QMetaType::QObjectStar || type == QMetaType::QWidgetStar) {
+    if (type == QMetaType::QObjectStar) {
         propType = type;
         flags |= QQmlPropertyData::IsQObjectDerived;
     } else if (type == QMetaType::QVariant) {
index 9be48ae..cd11721 100644 (file)
@@ -83,7 +83,6 @@ bool QQmlValueTypeFactoryImpl::isValueType(int idx)
     } else if (idx >= 0
             && idx != QVariant::StringList
             && idx != QMetaType::QObjectStar
-            && idx != QMetaType::QWidgetStar
             && idx != QMetaType::VoidStar
             && idx != QMetaType::QVariant) {
         return true;
index 7972e85..f984648 100644 (file)
@@ -372,7 +372,6 @@ v8::Handle<v8::Value> QV8Engine::fromVariant(const QVariant &variant)
             case QMetaType::QRegExp:
                 return QJSConverter::toRegExp(*reinterpret_cast<const QRegExp *>(ptr));
             case QMetaType::QObjectStar:
-            case QMetaType::QWidgetStar:
                 return newQObject(*reinterpret_cast<QObject* const *>(ptr));
             case QMetaType::QStringList:
                 {
@@ -1045,7 +1044,6 @@ v8::Handle<v8::Value> QV8Engine::metaTypeToJS(int type, const void *data)
         result = QJSConverter::toRegExp(*reinterpret_cast<const QRegExp *>(data));
         break;
     case QMetaType::QObjectStar:
-    case QMetaType::QWidgetStar:
         result = newQObject(*reinterpret_cast<QObject* const *>(data));
         break;
     case QMetaType::QVariant:
@@ -1149,14 +1147,6 @@ bool QV8Engine::metaTypeFromJS(v8::Handle<v8::Value> value, int type, void *data
             *reinterpret_cast<QObject* *>(data) = qtObjectFromJS(value);
             return true;
         } break;
-    case QMetaType::QWidgetStar:
-        if (isQObject(value) || value->IsNull()) {
-            QObject *qo = qtObjectFromJS(value);
-            if (!qo || qo->isWidgetType()) {
-                *reinterpret_cast<QWidget* *>(data) = reinterpret_cast<QWidget*>(qo);
-                return true;
-            }
-        } break;
     case QMetaType::QStringList:
         if (value->IsArray()) {
             *reinterpret_cast<QStringList *>(data) = QJSConverter::toStringList(v8::Handle<v8::Array>::Cast(value));
@@ -1361,7 +1351,7 @@ QObject *QV8Engine::qtObjectFromJS(v8::Handle<v8::Value> value)
     else if (type == QV8ObjectResource::VariantType) {
         QVariant variant = variantWrapper()->toVariant(r);
         int type = variant.userType();
-        if ((type == QMetaType::QObjectStar) || (type == QMetaType::QWidgetStar))
+        if (type == QMetaType::QObjectStar)
             return *reinterpret_cast<QObject* const *>(variant.constData());
     }
     return 0;