diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.cpp | 4 | ||||
-rw-r--r-- | src/plugins/cpptools/cppmodelmanager.h | 2 | ||||
-rw-r--r-- | src/plugins/cpptools/cppmodelmanagerinterface.h | 3 | ||||
-rw-r--r-- | src/plugins/qt4projectmanager/qt4project.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qt4projectmanager/qt4project.h | 1 |
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; |