aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/items
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2011-11-22 15:10:42 +0100
committerQt by Nokia <qt-info@nokia.com>2011-11-23 10:03:40 +0100
commit384fd7cdf1cb3061126c74c4f591cd2c0acdfedc (patch)
tree3ca056562d4fc9e12a8c982f7f4956ddba556d8c /src/declarative/items
parent23a6a1c26b3206a53f8b3019c3a7dcff8a623a24 (diff)
v4: Get rid of dependency on QQuickAnchorLine type
Delegate the meta-type id query and value comparison to QDeclarativeMetaType. Register a comparison function for QQuickAnchorLine in QQuickItemsModule, so that not even QDeclarativeMetaType needs to know the type declaration. (This is needed in order to be able to move the items to a separate library.) Change-Id: I6404d01b74143946ae0a79fa18d1777b675e4194 Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Diffstat (limited to 'src/declarative/items')
-rw-r--r--src/declarative/items/qquickitemsmodule.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/declarative/items/qquickitemsmodule.cpp b/src/declarative/items/qquickitemsmodule.cpp
index 0a04e884ae..fd9f4f8719 100644
--- a/src/declarative/items/qquickitemsmodule.cpp
+++ b/src/declarative/items/qquickitemsmodule.cpp
@@ -81,6 +81,7 @@
#include "qquickdrag_p.h"
#include "qquickdroparea_p.h"
#include "qquickmultipointtoucharea_p.h"
+#include <private/qdeclarativemetatype_p.h>
static QDeclarativePrivate::AutoParentResult qquickitem_autoParent(QObject *obj, QObject *parent)
{
@@ -96,6 +97,13 @@ static QDeclarativePrivate::AutoParentResult qquickitem_autoParent(QObject *obj,
return QDeclarativePrivate::Parented;
}
+static bool compareQQuickAnchorLines(const void *p1, const void *p2)
+{
+ const QQuickAnchorLine &l1 = *static_cast<const QQuickAnchorLine*>(p1);
+ const QQuickAnchorLine &l2 = *static_cast<const QQuickAnchorLine*>(p2);
+ return l1 == l2;
+}
+
static void qt_quickitems_defineModule(const char *uri, int major, int minor)
{
QDeclarativePrivate::RegisterAutoParent autoparent = { 0, &qquickitem_autoParent };
@@ -168,6 +176,7 @@ static void qt_quickitems_defineModule(const char *uri, int major, int minor)
qmlRegisterType<QQuickPen>();
qmlRegisterType<QQuickFlickableVisibleArea>();
qRegisterMetaType<QQuickAnchorLine>("QQuickAnchorLine");
+ QDeclarativeMetaType::setQQuickAnchorLineCompareFunction(compareQQuickAnchorLines);
qmlRegisterUncreatableType<QQuickKeyNavigationAttached>(uri,major,minor,"KeyNavigation",QQuickKeyNavigationAttached::tr("KeyNavigation is only available via attached properties"));
qmlRegisterUncreatableType<QQuickKeysAttached>(uri,major,minor,"Keys",QQuickKeysAttached::tr("Keys is only available via attached properties"));