From 299f139553a7fe9c0c71a0e56193c818edf50f09 Mon Sep 17 00:00:00 2001 From: dt Date: Mon, 27 Sep 2010 11:16:43 +0100 Subject: [PATCH] Revert "Remove the QmlJSEditor dependency from Qt4ProjectManager." This reverts commit f8c50013822bcf4119b88dada985c6d58fe27999. --- src/libs/extensionsystem/pluginmanager.h | 11 ----------- src/libs/qmljs/qmljsmodelmanagerinterface.cpp | 1 - src/libs/qmljs/qmljsmodelmanagerinterface.h | 6 ++---- src/plugins/plugins.pro | 1 + src/plugins/qmljseditor/qmljsmodelmanager.h | 2 +- .../Qt4ProjectManager.pluginspec | 1 + src/plugins/qt4projectmanager/qt4project.cpp | 15 +++------------ .../qt4projectmanager_dependencies.pri | 1 + 8 files changed, 9 insertions(+), 29 deletions(-) diff --git a/src/libs/extensionsystem/pluginmanager.h b/src/libs/extensionsystem/pluginmanager.h index ebb2ad16fc..d371dfe30c 100644 --- a/src/libs/extensionsystem/pluginmanager.h +++ b/src/libs/extensionsystem/pluginmanager.h @@ -90,17 +90,6 @@ public: return result; } - QObject *getObjectByName(const QString &name) const - { - QReadLocker lock(&m_lock); - QList all = allObjects(); - foreach (QObject *obj, all) { - if (obj->objectName() == name) - return obj; - } - return 0; - } - // Plugin operations QList loadQueue(); void loadPlugins(); diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp index 902c986da1..fbd340587e 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp @@ -38,7 +38,6 @@ ModelManagerInterface::ModelManagerInterface(QObject *parent) { Q_ASSERT(! g_instance); g_instance = this; - setObjectName(MODELMANAGERINTERFACE_OBJECTNAME); } ModelManagerInterface::~ModelManagerInterface() diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.h b/src/libs/qmljs/qmljsmodelmanagerinterface.h index d833fbb749..938087f454 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.h +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.h @@ -46,8 +46,6 @@ QT_QML_BEGIN_NAMESPACE namespace QmlJS { -const char *const MODELMANAGERINTERFACE_OBJECTNAME = "QmlJS::ModelManagerInterface"; - class Snapshot; class QMLJS_EXPORT ModelManagerInterface: public QObject @@ -119,8 +117,8 @@ public: virtual void removeFiles(const QStringList &files) = 0; virtual QList projectInfos() const = 0; - Q_INVOKABLE virtual QmlJS::ModelManagerInterface::ProjectInfo projectInfo(ProjectExplorer::Project *project) const = 0; - Q_INVOKABLE virtual void updateProjectInfo(const QmlJS::ModelManagerInterface::ProjectInfo &pinfo) = 0; + virtual ProjectInfo projectInfo(ProjectExplorer::Project *project) const = 0; + virtual void updateProjectInfo(const ProjectInfo &pinfo) = 0; virtual QStringList importPaths() const = 0; diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro index c126c4ebb6..9702fb785d 100644 --- a/src/plugins/plugins.pro +++ b/src/plugins/plugins.pro @@ -126,6 +126,7 @@ plugin_qt4projectmanager.depends = plugin_texteditor plugin_qt4projectmanager.depends += plugin_projectexplorer plugin_qt4projectmanager.depends += plugin_cpptools plugin_qt4projectmanager.depends += plugin_cppeditor +plugin_qt4projectmanager.depends += plugin_qmljseditor plugin_qt4projectmanager.depends += plugin_designer plugin_qt4projectmanager.depends += plugin_debugger plugin_qt4projectmanager.depends += plugin_qmljseditor diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.h b/src/plugins/qmljseditor/qmljsmodelmanager.h index 79e9937e4d..bc829e6010 100644 --- a/src/plugins/qmljseditor/qmljsmodelmanager.h +++ b/src/plugins/qmljseditor/qmljsmodelmanager.h @@ -62,7 +62,7 @@ public: virtual void removeFiles(const QStringList &files); virtual QList projectInfos() const; - virtual QmlJS::ModelManagerInterface::ProjectInfo projectInfo(ProjectExplorer::Project *project) const; + virtual ProjectInfo projectInfo(ProjectExplorer::Project *project) const; virtual void updateProjectInfo(const ProjectInfo &pinfo); void emitDocumentUpdated(QmlJS::Document::Ptr doc); diff --git a/src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec b/src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec index fd8fd1f226..906f6c3ece 100644 --- a/src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec +++ b/src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec @@ -18,6 +18,7 @@ Alternatively, this plugin may be used under the terms of the GNU Lesser General + diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index c076682769..1385f63406 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -567,17 +567,11 @@ void Qt4Project::updateCppCodeModel() void Qt4Project::updateQmlJSCodeModel() { - QObject *modelManager = - ExtensionSystem::PluginManager::instance()->getObjectByName(QmlJS::MODELMANAGERINTERFACE_OBJECTNAME); + QmlJS::ModelManagerInterface *modelManager = QmlJS::ModelManagerInterface::instance(); if (!modelManager) return; - QmlJS::ModelManagerInterface::ProjectInfo projectInfo; - bool success = QMetaObject::invokeMethod( - modelManager, "projectInfo", Qt::DirectConnection, - Q_RETURN_ARG(QmlJS::ModelManagerInterface::ProjectInfo, projectInfo), - Q_ARG(ProjectExplorer::Project *, this)); - QTC_ASSERT(success, return); + QmlJS::ModelManagerInterface::ProjectInfo projectInfo = modelManager->projectInfo(this); // Not essential since the QmlJS engine parses required files on demand. //projectInfo.sourceFiles = ... @@ -590,10 +584,7 @@ void Qt4Project::updateQmlJSCodeModel() } projectInfo.importPaths.removeDuplicates(); - success = QMetaObject::invokeMethod( - modelManager, "updateProjectInfo", Qt::DirectConnection, - Q_ARG(QmlJS::ModelManagerInterface::ProjectInfo, projectInfo)); - QTC_ASSERT(success, return); + modelManager->updateProjectInfo(projectInfo); } void Qt4Project::qtVersionsChanged() diff --git a/src/plugins/qt4projectmanager/qt4projectmanager_dependencies.pri b/src/plugins/qt4projectmanager/qt4projectmanager_dependencies.pri index e40eac29c4..7d2124fdde 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager_dependencies.pri +++ b/src/plugins/qt4projectmanager/qt4projectmanager_dependencies.pri @@ -1,6 +1,7 @@ include(../../plugins/projectexplorer/projectexplorer.pri) include(../../plugins/cpptools/cpptools.pri) include(../../plugins/cppeditor/cppeditor.pri) +include(../../plugins/qmljseditor/qmljseditor.pri) include(../../plugins/designer/designer.pri) include(../../plugins/debugger/debugger.pri) include(../../libs/symbianutils/symbianutils.pri) -- GitLab