summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@theqtcompany.com>2014-10-28 12:29:23 +0100
committerFawzi Mohamed <fawzi.mohamed@theqtcompany.com>2014-11-07 10:27:17 +0100
commit33359a7922e8bb89f47f41a768350a084fc23bcb (patch)
tree6d261186bda577d7ee8f431fbc8eb0832196f4f6 /src/plugins/cpptools/cppmodelmanager.cpp
parentbb4a58304d8ce04ea2d8c871b9a164cebbd462ba (diff)
downloadqt-creator-33359a7922e8bb89f47f41a768350a084fc23bcb.tar.gz
CppTools: Add API to set/query compiler call data
...and make some comparison functions public. Change-Id: If4c9a95031dece32073ce111484a890230190688 Reviewed-by: Fawzi Mohamed <fawzi.mohamed@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index a07bf91238..2fb94adea9 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -629,21 +629,9 @@ public:
, m_newSourceFiles(newProjectInfo.sourceFiles())
{}
- bool definesChanged() const
- {
- return m_new.defines() != m_old.defines();
- }
-
- bool configurationChanged() const
- {
- return definesChanged()
- || m_new.headerPaths() != m_old.headerPaths();
- }
-
- bool nothingChanged() const
- {
- return !configurationChanged() && m_new.sourceFiles() == m_old.sourceFiles();
- }
+ bool definesChanged() const { return m_new.definesChanged(m_old); }
+ bool configurationChanged() const { return m_new.configurationChanged(m_old); }
+ bool configurationOrFilesChanged() const { return m_new.configurationOrFilesChanged(m_old); }
QSet<QString> addedFiles() const
{
@@ -735,8 +723,12 @@ QFuture<void> CppModelManager::updateProjectInfo(const ProjectInfo &newProjectIn
ProjectInfo oldProjectInfo = d->m_projectToProjectsInfo.value(project);
if (oldProjectInfo.isValid()) {
ProjectInfoComparer comparer(oldProjectInfo, newProjectInfo);
- if (comparer.nothingChanged())
+
+ if (!comparer.configurationOrFilesChanged()) {
+ // Some other attached data might have changed
+ d->m_projectToProjectsInfo.insert(project, newProjectInfo);
return QFuture<void>();
+ }
// If the project configuration changed, do a full reindexing
if (comparer.configurationChanged()) {