aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@theqtcompany.com>2015-07-15 17:00:22 +0200
committerUlf Hermann <ulf.hermann@theqtcompany.com>2015-08-04 13:35:00 +0000
commit158b4dccbe7b24168eed05d1eb31065e45168e0e (patch)
tree9cc47b8feaf36a76e7610d2b1c7b8b7a9a294300 /src
parent183eae3cbcb3c5c99d97fdc38f9dba7ea87cf05f (diff)
Move inspector service and QtQuick2 inspector into a common plugin
The inspector service doesn't do anything useful without the QtQuick2 plugin and vice versa. This way we can also use the QQmlDebugPluginManager. Change-Id: I78f154dcc9103ec9ec3d2eda216bfb293231583e Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstracttool.cpp (renamed from src/plugins/qmltooling/shared/abstracttool.cpp)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstracttool.h (renamed from src/plugins/qmltooling/shared/abstracttool.h)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.cpp (renamed from src/plugins/qmltooling/shared/abstractviewinspector.cpp)2
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.h (renamed from src/plugins/qmltooling/shared/abstractviewinspector.h)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/highlight.cpp (renamed from src/plugins/qmltooling/qmldbg_qtquick2/highlight.cpp)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/highlight.h (renamed from src/plugins/qmltooling/qmldbg_qtquick2/highlight.h)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/inspecttool.cpp (renamed from src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/inspecttool.h (renamed from src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qmldbg_inspector.pro30
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorinterface.h (renamed from src/qml/debugger/qqmlinspectorinterface_p.h)7
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.cpp (renamed from src/qml/debugger/qqmlinspectorservice.cpp)65
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.h (renamed from src/qml/debugger/qqmlinspectorservice_p.h)18
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.json3
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.cpp (renamed from src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.h (renamed from src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h)0
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.cpp (renamed from src/plugins/qmltooling/qmldbg_qtquick2/qtquick2plugin.cpp)2
-rw-r--r--src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.h (renamed from src/plugins/qmltooling/qmldbg_qtquick2/qtquick2plugin.h)4
-rw-r--r--src/plugins/qmltooling/qmldbg_qtquick2/qmldbg_qtquick2.pro26
-rw-r--r--src/plugins/qmltooling/qmltooling.pro2
-rw-r--r--src/qml/debugger/debugger.pri3
-rw-r--r--src/qml/debugger/qqmldebugconnector.cpp4
21 files changed, 63 insertions, 103 deletions
diff --git a/src/plugins/qmltooling/shared/abstracttool.cpp b/src/plugins/qmltooling/qmldbg_inspector/abstracttool.cpp
index 3e059bed13..3e059bed13 100644
--- a/src/plugins/qmltooling/shared/abstracttool.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/abstracttool.cpp
diff --git a/src/plugins/qmltooling/shared/abstracttool.h b/src/plugins/qmltooling/qmldbg_inspector/abstracttool.h
index c796925866..c796925866 100644
--- a/src/plugins/qmltooling/shared/abstracttool.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/abstracttool.h
diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.cpp b/src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.cpp
index e1b55c8449..ecbe31f2f6 100644
--- a/src/plugins/qmltooling/shared/abstractviewinspector.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.cpp
@@ -33,12 +33,12 @@
#include "abstractviewinspector.h"
#include "abstracttool.h"
+#include "qqmlinspectorservice.h"
#include <QtCore/QDebug>
#include <QtQml/QQmlEngine>
#include <QtQml/QQmlComponent>
#include <QtCore/private/qabstractanimation_p.h>
-#include <QtQml/private/qqmlinspectorservice_p.h>
#include <QtQml/private/qqmldebugconnector_p.h>
#include <QtQml/private/qqmlcontext_p.h>
diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.h b/src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.h
index 342e6359d7..342e6359d7 100644
--- a/src/plugins/qmltooling/shared/abstractviewinspector.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/abstractviewinspector.h
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/highlight.cpp b/src/plugins/qmltooling/qmldbg_inspector/highlight.cpp
index 4d4e3aa720..4d4e3aa720 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/highlight.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/highlight.cpp
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/highlight.h b/src/plugins/qmltooling/qmldbg_inspector/highlight.h
index 05f6382353..05f6382353 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/highlight.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/highlight.h
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp b/src/plugins/qmltooling/qmldbg_inspector/inspecttool.cpp
index cc6b4ffb8c..cc6b4ffb8c 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/inspecttool.cpp
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h b/src/plugins/qmltooling/qmldbg_inspector/inspecttool.h
index fdb763d4b3..fdb763d4b3 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/inspecttool.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/inspecttool.h
diff --git a/src/plugins/qmltooling/qmldbg_inspector/qmldbg_inspector.pro b/src/plugins/qmltooling/qmldbg_inspector/qmldbg_inspector.pro
new file mode 100644
index 0000000000..3a1de3fb19
--- /dev/null
+++ b/src/plugins/qmltooling/qmldbg_inspector/qmldbg_inspector.pro
@@ -0,0 +1,30 @@
+TARGET = qmldbg_inspector
+QT += qml-private quick-private core-private gui-private
+
+PLUGIN_TYPE = qmltooling
+PLUGIN_CLASS_NAME = QQmlInspectorServiceFactory
+load(qt_plugin)
+
+INCLUDEPATH *= $$PWD $$PWD/../shared
+
+SOURCES += \
+ $$PWD/qtquick2plugin.cpp \
+ $$PWD/highlight.cpp \
+ $$PWD/qquickviewinspector.cpp \
+ $$PWD/abstracttool.cpp \
+ $$PWD/abstractviewinspector.cpp \
+ $$PWD/inspecttool.cpp \
+ $$PWD/qqmlinspectorservice.cpp
+
+HEADERS += \
+ $$PWD/qtquick2plugin.h \
+ $$PWD/highlight.h \
+ $$PWD/qquickviewinspector.h \
+ $$PWD/qqmlinspectorservice.h \
+ $$PWD/abstracttool.h \
+ $$PWD/abstractviewinspector.h \
+ $$PWD/qqmlinspectorinterface.h \
+ $$PWD/inspecttool.h
+
+OTHER_FILES += \
+ qqmlinspectorservice.json
diff --git a/src/qml/debugger/qqmlinspectorinterface_p.h b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorinterface.h
index 9b29d383c7..cd9acaba2a 100644
--- a/src/qml/debugger/qqmlinspectorinterface_p.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorinterface.h
@@ -50,8 +50,7 @@
QT_BEGIN_NAMESPACE
-
-class Q_QML_PRIVATE_EXPORT QQmlInspectorInterface
+class QQmlInspectorInterface
{
public:
QQmlInspectorInterface() {}
@@ -65,10 +64,6 @@ public:
virtual void clientMessage(const QByteArray &message) = 0;
};
-#define QQmlInspectorInterface_iid "org.qt-project.Qt.QQmlInspectorInterface"
-
-Q_DECLARE_INTERFACE(QQmlInspectorInterface, QQmlInspectorInterface_iid)
-
QT_END_NAMESPACE
#endif // QQMLINSPECTORINTERFACE_H
diff --git a/src/qml/debugger/qqmlinspectorservice.cpp b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.cpp
index f3ff13a8c0..848e6357b2 100644
--- a/src/qml/debugger/qqmlinspectorservice.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.cpp
@@ -31,8 +31,9 @@
**
****************************************************************************/
-#include "qqmlinspectorservice_p.h"
-#include "qqmlinspectorinterface_p.h"
+#include "qqmlinspectorservice.h"
+#include "qqmlinspectorinterface.h"
+#include "qtquick2plugin.h"
#include <private/qqmlglobal_p.h>
@@ -41,23 +42,11 @@
#include <QtCore/QDir>
#include <QtCore/QPluginLoader>
-#ifndef QT_NO_LIBRARY
-// print detailed information about loading of plugins
-DEFINE_BOOL_CONFIG_OPTION(qmlDebugVerbose, QML_DEBUGGER_VERBOSE)
-#endif
-
QT_BEGIN_NAMESPACE
-Q_GLOBAL_STATIC(QQmlInspectorServiceImpl, serviceInstance)
-
-QQmlInspectorServiceImpl::QQmlInspectorServiceImpl(): QQmlInspectorService(1),
- m_currentInspectorPlugin(0)
-{
-}
-
-QQmlInspectorServiceImpl *QQmlInspectorServiceImpl::instance()
+QQmlInspectorServiceImpl::QQmlInspectorServiceImpl(QObject *parent):
+ QQmlInspectorService(1, parent), m_currentInspectorPlugin(0)
{
- return serviceInstance();
}
void QQmlInspectorServiceImpl::addView(QObject *view)
@@ -130,46 +119,12 @@ void QQmlInspectorServiceImpl::processMessage(const QByteArray &message)
void QQmlInspectorServiceImpl::loadInspectorPlugins()
{
-#ifndef QT_NO_LIBRARY
- QStringList pluginCandidates;
- const QStringList paths = QCoreApplication::libraryPaths();
- foreach (const QString &libPath, paths) {
- const QDir dir(libPath + QLatin1String("/qmltooling"));
- if (dir.exists())
- foreach (const QString &pluginPath, dir.entryList(QDir::Files))
- pluginCandidates << dir.absoluteFilePath(pluginPath);
- }
-
- foreach (const QString &pluginPath, pluginCandidates) {
- if (qmlDebugVerbose())
- qDebug() << "QQmlInspector: Trying to load plugin " << pluginPath << "...";
-
- QPluginLoader loader(pluginPath);
- if (loader.metaData()[QLatin1String("IID")] !=
- QLatin1String("org.qt-project.Qt.QQmlInspectorInterface"))
- continue;
-
- if (!loader.load()) {
- if (qmlDebugVerbose())
- qDebug() << "QQmlInspector: Error while loading: " << loader.errorString();
-
- continue;
- }
+ m_inspectorPlugins << new QmlJSDebugger::QtQuick2Plugin;
+}
- QQmlInspectorInterface *inspector =
- qobject_cast<QQmlInspectorInterface*>(loader.instance());
- if (inspector) {
- if (qmlDebugVerbose())
- qDebug() << "QQmlInspector: Plugin successfully loaded.";
- m_inspectorPlugins << inspector;
- } else {
- if (qmlDebugVerbose())
- qDebug() << "QQmlInspector: Plugin does not implement interface QQmlInspectorInterface.";
-
- loader.unload();
- }
- }
-#endif
+QQmlDebugService *QQmlInspectorServiceFactory::create(const QString &key)
+{
+ return key == QQmlInspectorServiceImpl::s_key ? new QQmlInspectorServiceImpl(this) : 0;
}
QT_END_NAMESPACE
diff --git a/src/qml/debugger/qqmlinspectorservice_p.h b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.h
index 61a350cf8d..72243cb6b4 100644
--- a/src/qml/debugger/qqmlinspectorservice_p.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.h
@@ -45,8 +45,8 @@
// We mean it.
//
-#include "qqmldebugservice_p.h"
-#include "qqmldebugserviceinterfaces_p.h"
+#include <private/qqmldebugserviceinterfaces_p.h>
+#include <private/qqmldebugservicefactory_p.h>
#include <QtQml/qtqmlglobal.h>
#include <QtCore/QList>
@@ -57,13 +57,12 @@ namespace QmlJSDebugger { class AbstractViewInspector; }
class QQmlInspectorInterface;
-class Q_QML_PRIVATE_EXPORT QQmlInspectorServiceImpl : public QQmlInspectorService
+class QQmlInspectorServiceImpl : public QQmlInspectorService
{
Q_OBJECT
public:
- QQmlInspectorServiceImpl();
- static QQmlInspectorServiceImpl *instance();
+ QQmlInspectorServiceImpl(QObject *parent = 0);
void addView(QObject *);
void removeView(QObject *);
@@ -78,6 +77,7 @@ private Q_SLOTS:
private:
friend class QmlJSDebugger::AbstractViewInspector;
+ friend class QQmlInspectorServiceFactory;
void loadInspectorPlugins();
QList<QObject*> m_views;
@@ -85,6 +85,14 @@ private:
QList<QQmlInspectorInterface*> m_inspectorPlugins;
};
+class QQmlInspectorServiceFactory : public QQmlDebugServiceFactory
+{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID QQmlDebugServiceFactory_iid FILE "qqmlinspectorservice.json")
+public:
+ QQmlDebugService *create(const QString &key);
+};
+
QT_END_NAMESPACE
#endif // QQMLINSPECTORSERVICE_H
diff --git a/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.json b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.json
new file mode 100644
index 0000000000..9ace8dad2f
--- /dev/null
+++ b/src/plugins/qmltooling/qmldbg_inspector/qqmlinspectorservice.json
@@ -0,0 +1,3 @@
+{
+ "Keys": [ "QmlInspector" ]
+}
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp b/src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.cpp
index 003349ef55..003349ef55 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.cpp
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h b/src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.h
index 9a2ac4f373..9a2ac4f373 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/qquickviewinspector.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/qquickviewinspector.h
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qtquick2plugin.cpp b/src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.cpp
index 2bfb0a3086..197e618d75 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/qtquick2plugin.cpp
+++ b/src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.cpp
@@ -33,9 +33,9 @@
#include "qtquick2plugin.h"
#include "qquickviewinspector.h"
+#include "qqmlinspectorservice.h"
#include <QtCore/qplugin.h>
-#include <QtQml/private/qqmlinspectorservice_p.h>
#include <QtQuick/QQuickView>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qtquick2plugin.h b/src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.h
index 6f4d7206c3..7334cc03d1 100644
--- a/src/plugins/qmltooling/qmldbg_qtquick2/qtquick2plugin.h
+++ b/src/plugins/qmltooling/qmldbg_inspector/qtquick2plugin.h
@@ -35,7 +35,7 @@
#define QTQUICK2PLUGINPLUGIN_H
#include <QtCore/QPointer>
-#include <QtQml/private/qqmlinspectorinterface_p.h>
+#include "qqmlinspectorinterface.h"
QT_BEGIN_NAMESPACE
@@ -47,8 +47,6 @@ class QtQuick2Plugin : public QObject, public QQmlInspectorInterface
{
Q_OBJECT
Q_DISABLE_COPY(QtQuick2Plugin)
- Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlInspectorInterface")
- Q_INTERFACES(QQmlInspectorInterface)
public:
QtQuick2Plugin();
diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/qmldbg_qtquick2.pro b/src/plugins/qmltooling/qmldbg_qtquick2/qmldbg_qtquick2.pro
deleted file mode 100644
index 798c512038..0000000000
--- a/src/plugins/qmltooling/qmldbg_qtquick2/qmldbg_qtquick2.pro
+++ /dev/null
@@ -1,26 +0,0 @@
-TARGET = qmldbg_qtquick2
-QT += qml-private quick-private core-private gui-private
-
-PLUGIN_TYPE = qmltooling
-PLUGIN_CLASS_NAME = QtQuick2Plugin
-load(qt_plugin)
-
-INCLUDEPATH *= $$PWD $$PWD/../shared
-
-SOURCES += \
- qtquick2plugin.cpp \
- highlight.cpp \
- qquickviewinspector.cpp \
- ../shared/abstracttool.cpp \
- ../shared/abstractviewinspector.cpp \
- inspecttool.cpp
-
-HEADERS += \
- qtquick2plugin.h \
- highlight.h \
- qquickviewinspector.h \
- ../shared/abstracttool.h \
- ../shared/abstractviewinspector.h \
- inspecttool.h
-
-OTHER_FILES += qtquick2plugin.json
diff --git a/src/plugins/qmltooling/qmltooling.pro b/src/plugins/qmltooling/qmltooling.pro
index 64069d1ad8..6af954ccf1 100644
--- a/src/plugins/qmltooling/qmltooling.pro
+++ b/src/plugins/qmltooling/qmltooling.pro
@@ -5,4 +5,4 @@ SUBDIRS += \
qmldbg_server \
qmldbg_tcp
-qtHaveModule(quick): SUBDIRS += qmldbg_qtquick2
+qtHaveModule(quick): SUBDIRS += qmldbg_inspector
diff --git a/src/qml/debugger/debugger.pri b/src/qml/debugger/debugger.pri
index 1488a4dfcf..b401216d77 100644
--- a/src/qml/debugger/debugger.pri
+++ b/src/qml/debugger/debugger.pri
@@ -6,7 +6,6 @@ SOURCES += \
$$PWD/qqmldebugservice.cpp \
$$PWD/qqmldebugserviceinterfaces.cpp \
$$PWD/qqmlprofilerservice.cpp \
- $$PWD/qqmlinspectorservice.cpp \
$$PWD/qqmlenginedebugservice.cpp \
$$PWD/qdebugmessageservice.cpp \
$$PWD/qv4debugservice.cpp \
@@ -24,8 +23,6 @@ HEADERS += \
$$PWD/qqmlprofilerservice_p.h \
$$PWD/qqmldebugserviceinterfaces_p.h \
$$PWD/qqmldebugstatesdelegate_p.h \
- $$PWD/qqmlinspectorservice_p.h \
- $$PWD/qqmlinspectorinterface_p.h \
$$PWD/qqmlenginedebugservice_p.h \
$$PWD/qqmldebug.h \
$$PWD/qdebugmessageservice_p.h \
diff --git a/src/qml/debugger/qqmldebugconnector.cpp b/src/qml/debugger/qqmldebugconnector.cpp
index 72754ec15a..e1dabb439e 100644
--- a/src/qml/debugger/qqmldebugconnector.cpp
+++ b/src/qml/debugger/qqmldebugconnector.cpp
@@ -36,7 +36,6 @@
#include "qdebugmessageservice_p.h"
#include "qqmlenginecontrolservice_p.h"
#include "qqmlenginedebugservice_p.h"
-#include "qqmlinspectorservice_p.h"
#include "qqmlprofilerservice_p.h"
#include "qv4debugservice_p.h"
#include "qqmldebugservicefactory_p.h"
@@ -56,6 +55,8 @@ Q_QML_DEBUG_PLUGIN_LOADER(QQmlDebugConnector)
Q_QML_IMPORT_DEBUG_PLUGIN(QQmlDebugServerFactory)
Q_QML_DEBUG_PLUGIN_LOADER(QQmlDebugService)
+Q_QML_IMPORT_DEBUG_PLUGIN(QQmlInspectorServiceFactory)
+
struct QQmlDebugConnectorParams {
QString pluginKey;
QString arguments;
@@ -123,7 +124,6 @@ QQmlDebugConnector *QQmlDebugConnector::instance()
QQmlProfilerServiceImpl::instance();
QDebugMessageService::instance();
QQmlEngineControlService::instance();
- QQmlInspectorServiceImpl::instance();
foreach (const QJsonObject &object, metaDataForQQmlDebugService()) {
foreach (const QJsonValue &key, object.value(QLatin1String("MetaData")).toObject()