summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/baseeditordocumentparser.h
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-01-17 15:27:31 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-01-24 14:41:48 +0000
commit0b8df41387005156ea73b029f4d9d77f91ce5eb5 (patch)
tree6b44cb326108dff1c0b37322741aaa3da646fb2b /src/plugins/cpptools/baseeditordocumentparser.h
parent19eaf87ef95a510351557119a955223a4aeea7b3 (diff)
downloadqt-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.h22
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;