summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/baseeditordocumentparser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/baseeditordocumentparser.cpp')
-rw-r--r--src/plugins/cpptools/baseeditordocumentparser.cpp29
1 files changed, 18 insertions, 11 deletions
diff --git a/src/plugins/cpptools/baseeditordocumentparser.cpp b/src/plugins/cpptools/baseeditordocumentparser.cpp
index ca4d16e564..617c61de0a 100644
--- a/src/plugins/cpptools/baseeditordocumentparser.cpp
+++ b/src/plugins/cpptools/baseeditordocumentparser.cpp
@@ -54,6 +54,8 @@ namespace CppTools {
BaseEditorDocumentParser::BaseEditorDocumentParser(const QString &filePath)
: m_filePath(filePath)
{
+ static int meta = qRegisterMetaType<ProjectPartInfo>("CppTools::ProjectPartInfo");
+ Q_UNUSED(meta);
}
BaseEditorDocumentParser::~BaseEditorDocumentParser()
@@ -102,9 +104,9 @@ void BaseEditorDocumentParser::setState(const State &state)
m_state = state;
}
-ProjectPart::Ptr BaseEditorDocumentParser::projectPart() const
+ProjectPartInfo BaseEditorDocumentParser::projectPartInfo() const
{
- return state().projectPart;
+ return state().projectPartInfo;
}
BaseEditorDocumentParser::Ptr BaseEditorDocumentParser::get(const QString &filePath)
@@ -117,7 +119,7 @@ BaseEditorDocumentParser::Ptr BaseEditorDocumentParser::get(const QString &fileP
return BaseEditorDocumentParser::Ptr();
}
-ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(
+ProjectPartInfo BaseEditorDocumentParser::determineProjectPart(
const QString &filePath,
const Configuration &config,
const State &state,
@@ -125,7 +127,9 @@ ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(
Language languagePreference,
bool hasActiveProjectChanged)
{
- Internal::ProjectPartChooser chooser;
+ using Internal::ProjectPartChooser;
+
+ ProjectPartChooser chooser;
chooser.setFallbackProjectPart([](){
return CppModelManager::instance()->fallbackProjectPart();
});
@@ -137,13 +141,16 @@ ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(
return CppModelManager::instance()->projectPartFromDependencies(fileName);
});
- return chooser.choose(filePath,
- state.projectPart,
- config.manuallySetProjectPart,
- config.stickToPreviousProjectPart,
- activeProject,
- languagePreference,
- hasActiveProjectChanged);
+ const ProjectPartInfo chooserResult
+ = chooser.choose(filePath,
+ state.projectPartInfo.projectPart,
+ config.manuallySetProjectPart,
+ config.stickToPreviousProjectPart,
+ activeProject,
+ languagePreference,
+ hasActiveProjectChanged);
+
+ return chooserResult;
}
} // namespace CppTools