diff options
author | Daniel Teske <daniel.teske@digia.com> | 2013-09-30 15:59:49 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-10-01 16:31:36 +0200 |
commit | e462c9620d6f741da0d6b540e286616fcf31a89a (patch) | |
tree | 7121b6237ab05d8bd01a02f8bc20ce6dcb78ed7a | |
parent | fe62ad287fcec725d04eafc9c64de1c131790ff8 (diff) | |
download | qt-creator-e462c9620d6f741da0d6b540e286616fcf31a89a.tar.gz |
ProjectPart: Add meta information
Add displayname and project file path and a pointer back to the
project.
Change-Id: Ic9a18f52a6291493bd3a95fd3456ed0e1a3c63e3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
7 files changed, 24 insertions, 1 deletions
diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp index 06c9fbb51c..2891954bf1 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp @@ -422,6 +422,9 @@ void AutotoolsProject::updateCppCodeModel() CppTools::CppModelManagerInterface::ProjectInfo pinfo = modelManager->projectInfo(this); pinfo.clearProjectParts(); CppTools::ProjectPart::Ptr part(new CppTools::ProjectPart); + part->project = this; + part->displayName = displayName(); + part->projectFile = projectFilePath(); if (activeTarget()) { ProjectExplorer::Kit *k = activeTarget()->kit(); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 18fd8422e7..68acc76aa6 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -337,6 +337,9 @@ bool CMakeProject::parseCMakeLists() pinfo.clearProjectParts(); CppTools::ProjectPart::Ptr part(new CppTools::ProjectPart); + part->project = this; + part->displayName = displayName(); + part->projectFile = projectFilePath(); part->evaluateToolchain(tc, cxxflags, diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.cpp b/src/plugins/cpptools/cppmodelmanagerinterface.cpp index d2e138dc66..e2a7c6f10e 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.cpp +++ b/src/plugins/cpptools/cppmodelmanagerinterface.cpp @@ -100,12 +100,14 @@ using namespace ProjectExplorer; */ ProjectPart::ProjectPart() - : cVersion(C89) + : project(0) + , cVersion(C89) , cxxVersion(CXX11) , cxxExtensions(NoExtensions) , qtVersion(UnknownQt) , cWarningFlags(ProjectExplorer::ToolChain::WarningsDefault) , cxxWarningFlags(ProjectExplorer::ToolChain::WarningsDefault) + { } diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h index e327a9d0ae..b0c01d9a38 100644 --- a/src/plugins/cpptools/cppmodelmanagerinterface.h +++ b/src/plugins/cpptools/cppmodelmanagerinterface.h @@ -102,6 +102,9 @@ public: typedef QSharedPointer<ProjectPart> Ptr; public: + QString displayName; + QString projectFile; + ProjectExplorer::Project *project; QList<ProjectFile> files; QByteArray defines; QStringList includePaths; diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 69c5209063..784f425235 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -250,6 +250,9 @@ void GenericProject::refresh(RefreshOptions options) CppTools::CppModelManagerInterface::ProjectInfo pinfo = modelManager->projectInfo(this); pinfo.clearProjectParts(); CppTools::ProjectPart::Ptr part(new CppTools::ProjectPart); + part->project = this; + part->displayName = displayName(); + part->projectFile = projectFilePath(); Kit *k = activeTarget() ? activeTarget()->kit() : KitManager::defaultKit(); if (ToolChain *tc = ToolChainKitInformation::toolChain(k)) { diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 5fdd1a7871..d6b4c262bb 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -579,6 +579,12 @@ void QbsProject::updateCppCodeModel(const qbs::ProjectData &prj) QLatin1String(CONFIG_PRECOMPILEDHEADER)).toString(); CppTools::ProjectPart::Ptr part(new CppTools::ProjectPart); + part->project = this; + part->displayName = grp.name(); + part->projectFile = QString::fromLatin1("%1:%2:%3") + .arg(grp.location().fileName()) + .arg(grp.location().line()) + .arg(grp.location().column()); part->evaluateToolchain(ToolChainKitInformation::toolChain(k), cxxFlags, cFlags, diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 2e48fcc904..9d65382d92 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -511,6 +511,9 @@ void Qt4Project::updateCppCodeModel() QStringList allFiles; foreach (Qt4ProFileNode *pro, proFiles) { ProjectPart::Ptr part(new ProjectPart); + part->project = this; + part->displayName = pro->displayName(); + part->projectFile = pro->path(); if (pro->variableValue(ConfigVar).contains(QLatin1String("qt"))) part->qtVersion = qtVersionForPart; |