diff --git a/src/libs/extensionsystem/pluginmanager.h b/src/libs/extensionsystem/pluginmanager.h index ebb2ad16fc2c8c78603a7ab04f8b92c72fa53916..d371dfe30c98fbf4d590407515c4dff6f62aa45e 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 902c986da1d8089794e945a4420e0003e55a5409..fbd340587e3a28914dab7fb66d81cc0ccb39c051 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 d833fbb74915997ea7570bf6eb289405cb195c7f..938087f45406b2710aab9ecbf23e96a27e72ec93 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 c126c4ebb6c89d4c7c68d9fa0b4511677e502610..9702fb785d510a7e69a601189702ddc2af6f8249 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 79e9937e4d7f6b3cb9f8b9cadb9f18c52e95a2f8..bc829e6010998c59d5afe06adb4f620c6938c53c 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 fd8fd1f2263abc0ddab994c1995439a81f2a32e5..906f6c3ece3645b73435d2d4122ad508f8260673 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 c076682769922aea49ad4e3f5d5678a17f4edcbf..1385f6340635f9b5c77c3ae6fdb55685ac4d98c9 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 e40eac29c4b6c236e180e6f5931f337c005d6880..7d2124fdded3258bf448f8fdafb1f38ca090055f 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)