summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2013-09-30 15:59:49 +0200
committerErik Verbruggen <erik.verbruggen@digia.com>2013-10-01 16:31:36 +0200
commite462c9620d6f741da0d6b540e286616fcf31a89a (patch)
tree7121b6237ab05d8bd01a02f8bc20ce6dcb78ed7a
parentfe62ad287fcec725d04eafc9c64de1c131790ff8 (diff)
downloadqt-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>
-rw-r--r--src/plugins/autotoolsprojectmanager/autotoolsproject.cpp3
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp3
-rw-r--r--src/plugins/cpptools/cppmodelmanagerinterface.cpp4
-rw-r--r--src/plugins/cpptools/cppmodelmanagerinterface.h3
-rw-r--r--src/plugins/genericprojectmanager/genericproject.cpp3
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp6
-rw-r--r--src/plugins/qt4projectmanager/qt4project.cpp3
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;