forked from qt-creator/qt-creator
qmljs: move defaultProjectInfoForProject to the qmljs library
This removes qmakeprojectmanager and qmlprojectmanager dependency on qmljstools. Qmlprojectmanager still imports qmltoolsconstants.h for a constant but that gives no runtime dependency. Change-Id: Ifd2e76500a3b27a21937603925f03a70049900e1 Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
This commit is contained in:
@@ -41,7 +41,7 @@
|
||||
#include <coreplugin/documentmanager.h>
|
||||
#include <qtsupport/baseqtversion.h>
|
||||
#include <qtsupport/qtkitinformation.h>
|
||||
#include <qmljstools/qmljsmodelmanager.h>
|
||||
#include <qmljs/qmljsmodelmanagerinterface.h>
|
||||
#include <projectexplorer/kitinformation.h>
|
||||
#include <projectexplorer/kitmanager.h>
|
||||
#include <projectexplorer/target.h>
|
||||
@@ -108,7 +108,6 @@ QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
|
||||
: m_manager(manager),
|
||||
m_fileName(fileName),
|
||||
m_defaultImport(UnknownImport),
|
||||
m_modelManager(QmlJS::ModelManagerInterface::instance()),
|
||||
m_activeTarget(0)
|
||||
{
|
||||
setId("QmlProjectManager.QmlProject");
|
||||
@@ -210,7 +209,8 @@ void QmlProject::parseProject(RefreshOptions options)
|
||||
}
|
||||
if (m_projectItem) {
|
||||
m_projectItem.data()->setSourceDirectory(projectDir().path());
|
||||
m_modelManager->updateSourceFiles(m_projectItem.data()->files(), true);
|
||||
if (modelManager())
|
||||
modelManager()->updateSourceFiles(m_projectItem.data()->files(), true);
|
||||
|
||||
QString mainFilePath = m_projectItem.data()->mainFile();
|
||||
if (!mainFilePath.isEmpty()) {
|
||||
@@ -243,11 +243,14 @@ void QmlProject::refresh(RefreshOptions options)
|
||||
if (options & Files)
|
||||
m_rootNode->refresh();
|
||||
|
||||
if (!modelManager())
|
||||
return;
|
||||
|
||||
QmlJS::ModelManagerInterface::ProjectInfo projectInfo =
|
||||
QmlJSTools::defaultProjectInfoForProject(this);
|
||||
modelManager()->defaultProjectInfoForProject(this);
|
||||
projectInfo.importPaths = customImportPaths();
|
||||
|
||||
m_modelManager->updateProjectInfo(projectInfo, this);
|
||||
modelManager()->updateProjectInfo(projectInfo, this);
|
||||
}
|
||||
|
||||
QStringList QmlProject::convertToAbsoluteFiles(const QStringList &paths) const
|
||||
@@ -262,6 +265,11 @@ QStringList QmlProject::convertToAbsoluteFiles(const QStringList &paths) const
|
||||
return absolutePaths;
|
||||
}
|
||||
|
||||
QmlJS::ModelManagerInterface *QmlProject::modelManager() const
|
||||
{
|
||||
return QmlJS::ModelManagerInterface::instance();
|
||||
}
|
||||
|
||||
QStringList QmlProject::files() const
|
||||
{
|
||||
QStringList files;
|
||||
@@ -316,8 +324,8 @@ QmlProject::QmlImport QmlProject::defaultImport() const
|
||||
void QmlProject::refreshFiles(const QSet<QString> &/*added*/, const QSet<QString> &removed)
|
||||
{
|
||||
refresh(Files);
|
||||
if (!removed.isEmpty())
|
||||
m_modelManager->removeFiles(removed.toList());
|
||||
if (!removed.isEmpty() && modelManager())
|
||||
modelManager()->removeFiles(removed.toList());
|
||||
}
|
||||
|
||||
QString QmlProject::displayName() const
|
||||
|
||||
@@ -107,13 +107,13 @@ private:
|
||||
// plain format
|
||||
void parseProject(RefreshOptions options);
|
||||
QStringList convertToAbsoluteFiles(const QStringList &paths) const;
|
||||
QmlJS::ModelManagerInterface *modelManager() const;
|
||||
|
||||
Internal::Manager *m_manager;
|
||||
QString m_fileName;
|
||||
Internal::QmlProjectFile *m_file;
|
||||
QString m_projectName;
|
||||
QmlImport m_defaultImport;
|
||||
QmlJS::ModelManagerInterface *m_modelManager;
|
||||
ProjectExplorer::Target *m_activeTarget;
|
||||
|
||||
// plain format
|
||||
|
||||
@@ -11,7 +11,6 @@ QtcPlugin {
|
||||
|
||||
Depends { name: "Core" }
|
||||
Depends { name: "ProjectExplorer" }
|
||||
Depends { name: "QmlJSTools" }
|
||||
Depends { name: "QtSupport" }
|
||||
|
||||
Group {
|
||||
|
||||
@@ -6,5 +6,4 @@ QTC_LIB_DEPENDS += \
|
||||
QTC_PLUGIN_DEPENDS += \
|
||||
coreplugin \
|
||||
projectexplorer \
|
||||
qmljstools \
|
||||
qtsupport
|
||||
|
||||
Reference in New Issue
Block a user