summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp4
-rw-r--r--src/plugins/cpptools/cppmodelmanager.h2
-rw-r--r--src/plugins/cpptools/cppmodelmanagerinterface.h3
-rw-r--r--src/plugins/qt4projectmanager/qt4project.cpp4
-rw-r--r--src/plugins/qt4projectmanager/qt4project.h1
5 files changed, 8 insertions, 6 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index 069b8e6c9d..d374f813d7 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -781,8 +781,8 @@ CppModelManager::WorkingCopy CppModelManager::workingCopy() const
return const_cast<CppModelManager *>(this)->buildWorkingCopyList();
}
-void CppModelManager::updateSourceFiles(const QStringList &sourceFiles)
-{ (void) refreshSourceFiles(sourceFiles); }
+QFuture<void> CppModelManager::updateSourceFiles(const QStringList &sourceFiles)
+{ return refreshSourceFiles(sourceFiles); }
QList<CppModelManager::ProjectInfo> CppModelManager::projectInfos() const
{
diff --git a/src/plugins/cpptools/cppmodelmanager.h b/src/plugins/cpptools/cppmodelmanager.h
index c6369f10f2..d77ba3c0a7 100644
--- a/src/plugins/cpptools/cppmodelmanager.h
+++ b/src/plugins/cpptools/cppmodelmanager.h
@@ -87,7 +87,7 @@ public:
CppModelManager(QObject *parent);
virtual ~CppModelManager();
- virtual void updateSourceFiles(const QStringList &sourceFiles);
+ virtual QFuture<void> updateSourceFiles(const QStringList &sourceFiles);
virtual WorkingCopy workingCopy() const;
virtual QList<ProjectInfo> projectInfos() const;
diff --git a/src/plugins/cpptools/cppmodelmanagerinterface.h b/src/plugins/cpptools/cppmodelmanagerinterface.h
index a08d874252..771340dc8e 100644
--- a/src/plugins/cpptools/cppmodelmanagerinterface.h
+++ b/src/plugins/cpptools/cppmodelmanagerinterface.h
@@ -36,6 +36,7 @@
#include <QtCore/QHash>
#include <QtCore/QPointer>
#include <QtCore/QStringList>
+#include <QtCore/QFuture>
namespace ProjectExplorer {
class Project;
@@ -128,7 +129,7 @@ public:
public Q_SLOTS:
void updateModifiedSourceFiles();
- virtual void updateSourceFiles(const QStringList &sourceFiles) = 0;
+ virtual QFuture<void> updateSourceFiles(const QStringList &sourceFiles) = 0;
virtual void GC() = 0;
};
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 68b7dc9b37..47ced1bdf3 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -403,7 +403,7 @@ void Qt4Project::updateCodeModel()
if (debug)
qDebug()<<"Qt4Project::updateCodeModel()";
- // TODO cancel still running indexing
+ m_codeModelFuture.cancel();
if (!activeTarget() || !activeTarget()->activeBuildConfiguration())
return;
@@ -576,7 +576,7 @@ void Qt4Project::updateCodeModel()
pinfo.precompiledHeaders = allPrecompileHeaders;
modelmanager->updateProjectInfo(pinfo);
- modelmanager->updateSourceFiles(pinfo.sourceFiles);
+ m_codeModelFuture = modelmanager->updateSourceFiles(pinfo.sourceFiles);
}
}
diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h
index f4d9d48cea..7846370d3b 100644
--- a/src/plugins/qt4projectmanager/qt4project.h
+++ b/src/plugins/qt4projectmanager/qt4project.h
@@ -235,6 +235,7 @@ private:
QList<Internal::Qt4ProFileNode *> m_partialEvaluate;
QMap<QString, Internal::CodeModelInfo> m_codeModelInfo;
+ QFuture<void> m_codeModelFuture;
friend class Qt4ProjectFile;
friend class Internal::Qt4ProjectConfigWidget;