diff options
Diffstat (limited to 'src/plugins/cpptools/baseeditordocumentparser.cpp')
-rw-r--r-- | src/plugins/cpptools/baseeditordocumentparser.cpp | 29 |
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 |