diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-01-17 15:27:31 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-01-24 14:41:48 +0000 |
commit | 0b8df41387005156ea73b029f4d9d77f91ce5eb5 (patch) | |
tree | 6b44cb326108dff1c0b37322741aaa3da646fb2b /src/plugins/cpptools/baseeditordocumentparser.h | |
parent | 19eaf87ef95a510351557119a955223a4aeea7b3 (diff) | |
download | qt-creator-0b8df41387005156ea73b029f4d9d77f91ce5eb5.tar.gz |
CppTools: Provide hints about chosen project part for editor document
Parse issues can have multiple reasons (invalid kit, not a project file,
actual parse issue) and we should be able to tell them apart. With this
change, we can distinguish between the fallback project part and a
ambiguous project part.
Follow up changes will use this to display more accurate diagnostics.
Change-Id: Icc8767607cc17dc14d6227b07f34e81ba5525a96
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cpptools/baseeditordocumentparser.h')
-rw-r--r-- | src/plugins/cpptools/baseeditordocumentparser.h | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/plugins/cpptools/baseeditordocumentparser.h b/src/plugins/cpptools/baseeditordocumentparser.h index 92f919e96d..1cf71fefc6 100644 --- a/src/plugins/cpptools/baseeditordocumentparser.h +++ b/src/plugins/cpptools/baseeditordocumentparser.h @@ -25,8 +25,8 @@ #pragma once -#include "cpplanguage.h" #include "cpptools_global.h" +#include "cpptools_utils.h" #include "cppworkingcopy.h" #include "projectpart.h" @@ -82,22 +82,26 @@ public: void update(const UpdateParams &updateParams); void update(const QFutureInterface<void> &future, const UpdateParams &updateParams); - ProjectPart::Ptr projectPart() const; + ProjectPartInfo projectPartInfo() const; + +signals: + void projectPartInfoUpdated(const CppTools::ProjectPartInfo &projectPartInfo); protected: struct State { QByteArray editorDefines; - ProjectPart::Ptr projectPart; + ProjectPartInfo projectPartInfo; }; State state() const; void setState(const State &state); - static ProjectPart::Ptr determineProjectPart(const QString &filePath, - const Configuration &config, - const State &state, - const ProjectExplorer::Project *activeProject, - Language languagePreference, - bool hasActiveProjectChanged); + static ProjectPartInfo determineProjectPart( + const QString &filePath, + const Configuration &config, + const State &state, + const ProjectExplorer::Project *activeProject, + Language languagePreference, + bool hasActiveProjectChanged); mutable QMutex m_stateAndConfigurationMutex; |