Project: Set QML/C++ languages where both are possible

Change-Id: I4bc5bd7a644c48dfa529f9f9f6052e401de76d40
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Tobias Hunger
2013-04-05 14:46:38 +02:00
parent ace6829742
commit 75691393ec
7 changed files with 19 additions and 16 deletions

View File

@@ -79,7 +79,9 @@ AutotoolsProject::AutotoolsProject(AutotoolsManager *manager, const QString &fil
m_makefileParserThread(0) m_makefileParserThread(0)
{ {
setProjectContext(Core::Context(Constants::PROJECT_CONTEXT)); setProjectContext(Core::Context(Constants::PROJECT_CONTEXT));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX)); Core::Context pl(ProjectExplorer::Constants::LANG_CXX);
pl.add(ProjectExplorer::Constants::LANG_QMLJS);
setProjectLanguages(pl);
const QFileInfo fileInfo(m_fileName); const QFileInfo fileInfo(m_fileName);
m_projectName = fileInfo.absoluteDir().dirName(); m_projectName = fileInfo.absoluteDir().dirName();

View File

@@ -109,7 +109,10 @@ CMakeProject::CMakeProject(CMakeManager *manager, const QString &fileName)
m_lastEditor(0) m_lastEditor(0)
{ {
setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT)); setProjectContext(Core::Context(CMakeProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX)); Core::Context pl(ProjectExplorer::Constants::LANG_CXX);
pl.add(ProjectExplorer::Constants::LANG_QMLJS);
setProjectLanguages(pl);
m_file = new CMakeFile(this, fileName); m_file = new CMakeFile(this, fileName);

View File

@@ -70,7 +70,10 @@ GenericProject::GenericProject(Manager *manager, const QString &fileName)
m_fileName(fileName) m_fileName(fileName)
{ {
setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT)); setProjectContext(Context(GenericProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Context(ProjectExplorer::Constants::LANG_CXX)); Core::Context pl(ProjectExplorer::Constants::LANG_CXX);
pl.add(ProjectExplorer::Constants::LANG_QMLJS);
setProjectLanguages(pl);
QFileInfo fileInfo(m_fileName); QFileInfo fileInfo(m_fileName);
QDir dir = fileInfo.dir(); QDir dir = fileInfo.dir();

View File

@@ -103,7 +103,10 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
m_currentBc(0) m_currentBc(0)
{ {
setProjectContext(Core::Context(Constants::PROJECT_ID)); setProjectContext(Core::Context(Constants::PROJECT_ID));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX)); Core::Context pl(ProjectExplorer::Constants::LANG_CXX);
pl.add(ProjectExplorer::Constants::LANG_QMLJS);
setProjectLanguages(pl);
connect(this, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)), connect(this, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
this, SLOT(changeActiveTarget(ProjectExplorer::Target*))); this, SLOT(changeActiveTarget(ProjectExplorer::Target*)));

View File

@@ -117,7 +117,7 @@ QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
m_modelManager(QmlJS::ModelManagerInterface::instance()) m_modelManager(QmlJS::ModelManagerInterface::instance())
{ {
setProjectContext(Core::Context(QmlProjectManager::Constants::PROJECTCONTEXT)); setProjectContext(Core::Context(QmlProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguages(Core::Context(QmlProjectManager::Constants::LANG_QML)); setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_QMLJS));
QFileInfo fileInfo(m_fileName); QFileInfo fileInfo(m_fileName);
m_projectName = fileInfo.completeBaseName(); m_projectName = fileInfo.completeBaseName();

View File

@@ -36,7 +36,6 @@ namespace QmlProjectManager {
namespace Constants { namespace Constants {
const char *const PROJECTCONTEXT = "QmlProject.ProjectContext"; const char *const PROJECTCONTEXT = "QmlProject.ProjectContext";
const char *const LANG_QML = "QML";
const char *const QMLPROJECT_MIMETYPE = QmlJSTools::Constants::QMLPROJECT_MIMETYPE; const char *const QMLPROJECT_MIMETYPE = QmlJSTools::Constants::QMLPROJECT_MIMETYPE;
} // namespace Constants } // namespace Constants

View File

@@ -328,7 +328,9 @@ Qt4Project::Qt4Project(Qt4Manager *manager, const QString& fileName) :
m_activeTarget(0) m_activeTarget(0)
{ {
setProjectContext(Core::Context(Qt4ProjectManager::Constants::PROJECT_ID)); setProjectContext(Core::Context(Qt4ProjectManager::Constants::PROJECT_ID));
setProjectLanguages(Core::Context(ProjectExplorer::Constants::LANG_CXX)); Core::Context pl(ProjectExplorer::Constants::LANG_CXX);
pl.add(ProjectExplorer::Constants::LANG_QMLJS);
setProjectLanguages(pl);
m_asyncUpdateTimer.setSingleShot(true); m_asyncUpdateTimer.setSingleShot(true);
m_asyncUpdateTimer.setInterval(3000); m_asyncUpdateTimer.setInterval(3000);
@@ -609,15 +611,6 @@ void Qt4Project::updateQmlJSCodeModel()
} }
} }
// If the project directory has a pro/pri file that includes a qml or quick or declarative
// library then chances of the project being a QML project is quite high.
// This assumption fails when there are no QDeclarativeEngine/QDeclarativeView (QtQuick 1)
// or QQmlEngine/QQuickView (QtQuick 2) instances.
Core::Context pl(ProjectExplorer::Constants::LANG_CXX);
if (hasQmlLib)
pl.add(ProjectExplorer::Constants::LANG_QMLJS);
setProjectLanguages(pl);
projectInfo.importPaths.removeDuplicates(); projectInfo.importPaths.removeDuplicates();
modelManager->updateProjectInfo(projectInfo); modelManager->updateProjectInfo(projectInfo);