diff options
author | Marco Bubke <marco.bubke@qt.io> | 2019-02-12 19:49:38 +0100 |
---|---|---|
committer | Marco Bubke <marco.bubke@qt.io> | 2019-02-18 14:29:47 +0000 |
commit | fbadbd3b0d40d19bc0b8a7303cb0dc0d1d031eb0 (patch) | |
tree | b3ce61bd7f757c4574cab79f28048f45cf721f8f /src/plugins/clangpchmanager | |
parent | 2887f5e5a9ced381e684b9b40a9a995c46664cb9 (diff) | |
download | qt-creator-fbadbd3b0d40d19bc0b8a7303cb0dc0d1d031eb0.tar.gz |
Observe the cration of extra compiler
We link into the extra compiler factory and notify the PchManager for every
extra compiler creation. It enables to monitor if all extra compiler finished.
Change-Id: If8da386c88909abd2e0e651e4336865c9dc5bf34
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Diffstat (limited to 'src/plugins/clangpchmanager')
-rw-r--r-- | src/plugins/clangpchmanager/qtcreatorprojectupdater.h | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/plugins/clangpchmanager/qtcreatorprojectupdater.h b/src/plugins/clangpchmanager/qtcreatorprojectupdater.h index fa008f14ae..4d66a2f8c3 100644 --- a/src/plugins/clangpchmanager/qtcreatorprojectupdater.h +++ b/src/plugins/clangpchmanager/qtcreatorprojectupdater.h @@ -28,6 +28,7 @@ #include "pchmanagerprojectupdater.h" #include <cpptools/cppmodelmanager.h> +#include <projectexplorer/extracompiler.h> #include <filecontainerv2.h> @@ -49,8 +50,9 @@ CLANGPCHMANAGER_EXPORT std::vector<ClangBackEnd::V2::FileContainer> createGenera CLANGPCHMANAGER_EXPORT std::vector<CppTools::ProjectPart*> createProjectParts(ProjectExplorer::Project *project); } -template <typename ProjectUpdaterType> -class QtCreatorProjectUpdater : public ProjectUpdaterType +template<typename ProjectUpdaterType> +class QtCreatorProjectUpdater : public ProjectUpdaterType, + public ProjectExplorer::ExtraCompilerFactoryObserver { public: template <typename ClientType> @@ -90,6 +92,15 @@ public: ProjectUpdaterType::removeGeneratedFiles({ClangBackEnd::FilePath{filePath}}); } +protected: + void newExtraCompiler(const ProjectExplorer::Project *, + const Utils::FileName &, + const Utils::FileNameList &targets) override + { + for (const Utils::FileName &target : targets) + abstractEditorUpdated(target.toString(), {}); + } + private: void connectToCppModelManager() { |