diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2020-06-23 17:25:52 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2020-07-02 17:03:24 +0200 |
commit | 7814e1dbfd09ead88951d95f72e71f45fd27c920 (patch) | |
tree | 6bad033792bffbf03f7bb7611dace1358e8a0a10 /src/qml/debugger | |
parent | 974f52fc815f62868ddfe63f7391e3090f96b226 (diff) |
Make the qtquick and qtqml plugins optional
We can do the initialization and de-initialization as constructor and
destructor functions. Then we don't need to load the plugins.
Task-number: QTBUG-84639
Change-Id: I2aeeee7e8d028555e3af91e93518c2c2afd70dbb
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/debugger')
-rw-r--r-- | src/qml/debugger/qqmldebugserviceinterfaces.cpp | 12 | ||||
-rw-r--r-- | src/qml/debugger/qqmldebugserviceinterfaces_p.h | 5 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/qml/debugger/qqmldebugserviceinterfaces.cpp b/src/qml/debugger/qqmldebugserviceinterfaces.cpp index 3df1a21bda..3357b0237c 100644 --- a/src/qml/debugger/qqmldebugserviceinterfaces.cpp +++ b/src/qml/debugger/qqmldebugserviceinterfaces.cpp @@ -50,6 +50,18 @@ const QString QQmlEngineControlService::s_key = QStringLiteral("EngineControl"); const QString QQmlNativeDebugService::s_key = QStringLiteral("NativeQmlDebugger"); const QString QQmlDebugTranslationService::s_key = QStringLiteral("DebugTranslation"); +static QQmlDebugStatesDelegate *(*statesDelegateFactory)() = nullptr; +void QQmlEngineDebugService::setStatesDelegateFactory(QQmlDebugStatesDelegate *(*factory)()) +{ + statesDelegateFactory = factory; +} + +QQmlDebugStatesDelegate *QQmlEngineDebugService::createStatesDelegate() +{ + return statesDelegateFactory ? statesDelegateFactory() : nullptr; +} + + QT_END_NAMESPACE #include "moc_qqmldebugserviceinterfaces_p.cpp" diff --git a/src/qml/debugger/qqmldebugserviceinterfaces_p.h b/src/qml/debugger/qqmldebugserviceinterfaces_p.h index df1ed68c7b..a58a075848 100644 --- a/src/qml/debugger/qqmldebugserviceinterfaces_p.h +++ b/src/qml/debugger/qqmldebugserviceinterfaces_p.h @@ -91,7 +91,7 @@ class QQmlEngineDebugService { public: void objectCreated(QJSEngine *, QObject *) {} - virtual void setStatesDelegate(QQmlDebugStatesDelegate *) {} + static void setStatesDelegateFactory(QQmlDebugStatesDelegate *(*)()) {} }; class QQmlInspectorService { @@ -158,7 +158,8 @@ public: static const QString s_key; virtual void objectCreated(QJSEngine *engine, QObject *object) = 0; - virtual void setStatesDelegate(QQmlDebugStatesDelegate *) = 0; + static void setStatesDelegateFactory(QQmlDebugStatesDelegate *(*factory)()); + static QQmlDebugStatesDelegate *createStatesDelegate(); protected: friend class QQmlDebugConnector; |