aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/debugger
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-06-23 17:25:52 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-07-02 17:03:24 +0200
commit7814e1dbfd09ead88951d95f72e71f45fd27c920 (patch)
tree6bad033792bffbf03f7bb7611dace1358e8a0a10 /src/qml/debugger
parent974f52fc815f62868ddfe63f7391e3090f96b226 (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.cpp12
-rw-r--r--src/qml/debugger/qqmldebugserviceinterfaces_p.h5
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;