QmlPuppet: Move createComponent to QmlPrivateGate

Change-Id: I86800d876cb821412b2708201e3c6983a996e4a9
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
Thomas Hartmann
2015-05-19 10:12:52 +02:00
committed by Thomas Hartmann
parent d2e58eeeec
commit 685cdfc0bf
3 changed files with 22 additions and 17 deletions
@@ -370,8 +370,28 @@ QObject *createPrimitive(const QString &typeName, int majorNumber, int minorNumb
return object;
}
QObject *createComponent(const QUrl &componentUrl, QQmlContext *context)
{
ComponentCompleteDisabler disableComponentComplete;
Q_UNUSED(disableComponentComplete)
QQmlComponent component(context->engine(), componentUrl);
QObject *object = component.beginCreate(context);
QmlPrivateGate::tweakObjects(object);
component.completeCreate();
QQmlEngine::setObjectOwnership(object, QQmlEngine::CppOwnership);
if (component.isError()) {
qWarning() << "Error in:" << Q_FUNC_INFO << componentUrl;
foreach (const QQmlError &error, component.errors())
qWarning() << error;
}
return object;
}
} // namespace QmlPrivateGate
ComponentCompleteDisabler::ComponentCompleteDisabler()
{
DesignerSupport::disableComponentComplete();
@@ -382,6 +402,5 @@ ComponentCompleteDisabler::~ComponentCompleteDisabler()
DesignerSupport::enableComponentComplete();
}
// namespace QmlPrivateGate
} // namespace Internal
} // namespace QmlDesigner