CppTools: Prioritize project parts from active project

...when selecting one for the editor document.

Change-Id: I85066aaa0862870cb2db2fb2cb40c2b2c23b2cac
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Nikolai Kosjar
2016-12-16 13:12:04 +01:00
parent b8b6f348e0
commit 566ab175b3
16 changed files with 119 additions and 35 deletions

View File

@@ -77,17 +77,19 @@ void BaseEditorDocumentParser::setConfiguration(const Configuration &configurati
m_configuration = configuration;
}
void BaseEditorDocumentParser::update(const WorkingCopy &workingCopy)
void BaseEditorDocumentParser::update(const WorkingCopy &workingCopy,
const ProjectExplorer::Project *activeProject)
{
QFutureInterface<void> dummy;
update(dummy, workingCopy);
update(dummy, workingCopy, activeProject);
}
void BaseEditorDocumentParser::update(const QFutureInterface<void> &future,
const WorkingCopy &workingCopy)
const WorkingCopy &workingCopy,
const ProjectExplorer::Project *activeProject)
{
QMutexLocker locker(&m_updateIsRunning);
updateHelper(future, workingCopy);
updateHelper(future, workingCopy, activeProject);
}
BaseEditorDocumentParser::State BaseEditorDocumentParser::state() const
@@ -117,9 +119,11 @@ BaseEditorDocumentParser::Ptr BaseEditorDocumentParser::get(const QString &fileP
return BaseEditorDocumentParser::Ptr();
}
ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(const QString &filePath,
const Configuration &config,
const State &state)
ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(
const QString &filePath,
const Configuration &config,
const State &state,
const ProjectExplorer::Project *activeProject)
{
Internal::ProjectPartChooser chooser;
chooser.setFallbackProjectPart([](){
@@ -136,7 +140,8 @@ ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(const QString &f
return chooser.choose(filePath,
state.projectPart,
config.manuallySetProjectPart,
config.stickToPreviousProjectPart);
config.stickToPreviousProjectPart,
activeProject);
}
} // namespace CppTools