forked from qt-creator/qt-creator
QmlPuppet: Move createComponent to QmlPrivateGate
Change-Id: I86800d876cb821412b2708201e3c6983a996e4a9 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
committed by
Thomas Hartmann
parent
d2e58eeeec
commit
685cdfc0bf
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user