On Tuesday 18 November 2014 16:38:58 Frederik Gladhorn wrote:
> 

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
diff --git a/src/qml/debugger/qqmldebug.h b/src/qml/debugger/qqmldebug.h
index d6b6bb0..876d068 100644
--- a/src/qml/debugger/qqmldebug.h
+++ b/src/qml/debugger/qqmldebug.h
@@ -89,6 +81,8 @@ public:
 
     void collectGarbage();
 
+    void installTranslatorFunctions(const QJSValue &object = QJSValue());
+
     QV8Engine *handle() const { return d; }
 
 private:
diff --git a/src/qml/jsapi/qjsvalue.h b/src/qml/jsapi/qjsvalue.h
index cf02ad8..d184cf6 100644
--- a/src/qml/jsapi/qjsvalue.h
+++ b/src/qml/jsapi/qjsvalue.h
@@ -198,6 +190,44 @@ int qmlRegisterUncreatableType(const char *uri, int versionMajor, int versionMin
     return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);
 }
 
+template<typename T, typename E>
+int qmlRegisterExtendedUncreatableType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, const QString& reason)
+{
+    QML_GETTYPENAMES
+
+    QQmlAttachedPropertiesFunc attached = QQmlPrivate::attachedPropertiesFunc<E>();
+    const QMetaObject * attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<E>();
+    if (!attached) {
+        attached = QQmlPrivate::attachedPropertiesFunc<T>();
+        attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<T>();
+    }
+
+    QQmlPrivate::RegisterType type = {
+        0,
+
+        qRegisterNormalizedMetaType<T *>(pointerName.constData()),
+        qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()),
+        0, 0,
+        reason,
+
+        uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject,
+
+        attached,
+        attachedMetaObject,
+
+        QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(),
+        QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(),
+        QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(),
+
+        QQmlPrivate::createParent<E>, &E::staticMetaObject,
+
+        0,
+        0
+    };
+
+    return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);
+}
+
 template<typename T>
 int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
 {
@@ -414,6 +444,45 @@ int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor,
     return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);
 }
 
+template<typename T, typename E>
+int qmlRegisterCustomExtendedType(const char *uri, int versionMajor, int versionMinor,
+                          const char *qmlName, QQmlCustomParser *parser)
+{
+    QML_GETTYPENAMES
+
+    QQmlAttachedPropertiesFunc attached = QQmlPrivate::attachedPropertiesFunc<E>();
+    const QMetaObject * attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<E>();
+    if (!attached) {
+        attached = QQmlPrivate::attachedPropertiesFunc<T>();
+        attachedMetaObject = QQmlPrivate::attachedPropertiesMetaObject<T>();
+    }
+
+    QQmlPrivate::RegisterType type = {
+        0,
+
+        qRegisterNormalizedMetaType<T *>(pointerName.constData()),
+        qRegisterNormalizedMetaType<QQmlListProperty<T> >(listName.constData()),
+        sizeof(T), QQmlPrivate::createInto<T>,
+        QString(),
+
+        uri, versionMajor, versionMinor, qmlName, &T::staticMetaObject,
+
+        attached,
+        attachedMetaObject,
+
+        QQmlPrivate::StaticCastSelector<T,QQmlParserStatus>::cast(),
+        QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueSource>::cast(),
+        QQmlPrivate::StaticCastSelector<T,QQmlPropertyValueInterceptor>::cast(),
+
+        QQmlPrivate::createParent<E>, &E::staticMetaObject,
+
+        parser,
+        0
+    };
+
+    return QQmlPrivate::qmlregister(QQmlPrivate::TypeRegistration, &type);
+}
+
 class QQmlContext;
 class QQmlEngine;
 class QJSValue;
@@ -433,7 +502,7 @@ namespace QtQml {
 }
 #endif
 
-#ifdef Q_CC_CLANG
+#if defined(Q_CC_CLANG) && !defined(Q_CC_INTEL)
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wheader-hygiene"
 #endif
@@ -441,7 +510,7 @@ namespace QtQml {
 // This is necessary to allow for QtQuick1 and QtQuick2 scenes in a single application.
 using namespace QtQml;
 
-#ifdef Q_CC_CLANG
+#if defined(Q_CC_CLANG) && !defined(Q_CC_INTEL)
 #pragma clang diagnostic pop
 #endif
 
diff --git a/src/qml/qml/qqmlabstracturlinterceptor.h b/src/qml/qml/qqmlabstracturlinterceptor.h
index 4bcaa89..2d22165 100644
--- a/src/qml/qml/qqmlabstracturlinterceptor.h
+++ b/src/qml/qml/qqmlabstracturlinterceptor.h
@@ -59,7 +51,8 @@ public:
     QQmlFileSelector(QQmlEngine* engine, QObject* parent=0);
     ~QQmlFileSelector();
     void setSelector(QFileSelector *selector);
-    void setExtraSelectors(QStringList &strings);
+    void setExtraSelectors(QStringList &strings); // TODO Qt6: remove
+    void setExtraSelectors(const QStringList &strings);
     static QQmlFileSelector* get(QQmlEngine*);
 
 private:
diff --git a/src/qml/qml/qqmlincubator.h b/src/qml/qml/qqmlincubator.h
index 2bcaee8..8b0f05e 100644
--- a/src/qml/qml/qqmlincubator.h
+++ b/src/qml/qml/qqmlincubator.h
@@ -68,7 +60,7 @@ struct CachedQmlUnit;
 namespace QV4 {
 struct ExecutionEngine;
 namespace CompiledData {
-struct QmlUnit;
+struct Unit;
 struct CompilationUnit;
 }
 typedef CompiledData::CompilationUnit *(*CompilationUnitFactoryFunction)();
@@ -285,7 +277,7 @@ namespace QQmlPrivate
     };
 
     struct CachedQmlUnit {
-        const QV4::CompiledData::QmlUnit *qmlData;
+        const QV4::CompiledData::Unit *qmlData;
         QV4::CompilationUnitFactoryFunction createCompilationUnit;
         QmlIR::IRLoaderFunction loadIR;
     };
diff --git a/src/qml/qml/qqmlproperty.h b/src/qml/qml/qqmlproperty.h
index 992d579..7fe1f14 100644
--- a/src/qml/qml/qqmlproperty.h
+++ b/src/qml/qml/qqmlproperty.h
@@ -54,6 +46,9 @@ class QObject;
 class QQmlContext;
 class QQmlScriptStringPrivate;
 class QQmlObjectCreator;
+namespace QV4 {
+    struct QObjectWrapper;
+}
 class Q_QML_EXPORT QQmlScriptString
 {
 public:
@@ -63,6 +58,9 @@ public:
 
     QQmlScriptString &operator=(const QQmlScriptString &);
 
+    bool operator==(const QQmlScriptString &) const;
+    bool operator!=(const QQmlScriptString &) const;
+
     bool isEmpty() const;
 
     bool isUndefinedLiteral() const;
@@ -79,6 +77,7 @@ private:
     friend class QQmlScriptStringPrivate;
     friend class QQmlExpression;
     friend class QQmlBinding;
+    friend struct QV4::QObjectWrapper;
 };
 
 QT_END_NAMESPACE
diff --git a/src/qml/qtqmlglobal.h b/src/qml/qtqmlglobal.h
index 07a4136..b965346 100644
--- a/src/qml/qtqmlglobal.h
+++ b/src/qml/qtqmlglobal.h
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to