summaryrefslogtreecommitdiffstats
path: root/src/webengine/ui_delegates_manager.cpp
diff options
context:
space:
mode:
authorJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-06-30 12:13:16 +0200
committerJocelyn Turcotte <jocelyn.turcotte@digia.com>2014-08-01 15:33:06 +0200
commit3ef45d0329858a60a8b96363fcf9d7fe9b6d8311 (patch)
tree4ecaca279efcd9c99edcd52fdd9bcdf3831e9c59 /src/webengine/ui_delegates_manager.cpp
parent04f58ffc1904bef7ba788b56ed098a7823017e65 (diff)
Don't use the private QQmlMetaType::defaultProperty
Duplicate the small implementation of that function, which uses QMetaObject public API together with the semi-public fact that the meta class info named DefaultProperty needs to be fetched. Change-Id: I37413bd28a0b0ead55853e4e3db5864dfc39966b Reviewed-by: Michael Bruning <michael.bruning@digia.com>
Diffstat (limited to 'src/webengine/ui_delegates_manager.cpp')
-rw-r--r--src/webengine/ui_delegates_manager.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index 7790d2d55..5c0b0f65e 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -52,7 +52,6 @@
#include <QQmlEngine>
#include <QQmlProperty>
#include <QStringBuilder>
-#include <private/qqmlmetatype_p.h>
// Uncomment for QML debugging
//#define UI_DELEGATES_DEBUG
@@ -94,6 +93,18 @@ static QString getUIDelegatesImportDir(QQmlEngine *engine) {
return importDir;
}
+const char *defaultPropertyName(QObject *obj)
+{
+ const QMetaObject *metaObject = obj->metaObject();
+
+ int idx = metaObject->indexOfClassInfo("DefaultProperty");
+ if (-1 == idx)
+ return 0;
+
+ QMetaClassInfo info = metaObject->classInfo(idx);
+ return info.value();
+}
+
MenuItemHandler::MenuItemHandler(QObject *parent)
: QObject(parent)
{
@@ -208,7 +219,7 @@ void UIDelegatesManager::addMenuItem(MenuItemHandler *menuItemHandler, const QSt
QObject *menu = menuItemHandler->parent();
it->setParent(menu);
- QQmlListReference entries(menu, QQmlMetaType::defaultProperty(menu).name(), qmlEngine(m_view));
+ QQmlListReference entries(menu, defaultPropertyName(menu), qmlEngine(m_view));
if (entries.isValid())
entries.append(it);
}
@@ -222,7 +233,7 @@ void UIDelegatesManager::addMenuSeparator(QObject *menu)
QObject *sep = menuSeparatorComponent->create(itemContext);
sep->setParent(menu);
- QQmlListReference entries(menu, QQmlMetaType::defaultProperty(menu).name(), qmlEngine(m_view));
+ QQmlListReference entries(menu, defaultPropertyName(menu), qmlEngine(m_view));
if (entries.isValid())
entries.append(sep);
}
@@ -250,7 +261,7 @@ QObject *UIDelegatesManager::addMenu(QObject *parentMenu, const QString &title,
} else {
menu->setParent(parentMenu);
- QQmlListReference entries(parentMenu, QQmlMetaType::defaultProperty(parentMenu).name(), qmlEngine(m_view));
+ QQmlListReference entries(parentMenu, defaultPropertyName(parentMenu), qmlEngine(m_view));
if (entries.isValid())
entries.append(menu);
}