CppTools: Use project part ids instead of file paths

File paths are not unique since e.g. each qbs group in a file is mapped
to a project part.

Change-Id: I7df3f224dd23046b869f2588b8a34eb26cfc0b1a
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
This commit is contained in:
Nikolai Kosjar
2015-07-14 17:30:17 +02:00
parent 95c90dcd42
commit 420bc69739
15 changed files with 56 additions and 57 deletions

View File

@@ -254,13 +254,13 @@ void CppEditorDocument::updatePreprocessorSettings()
return;
const QString prefix = QLatin1String(Constants::CPP_PREPROCESSOR_PROJECT_PREFIX);
const QString &projectFile = ProjectExplorer::SessionManager::value(
const QString &projectPartId = ProjectExplorer::SessionManager::value(
prefix + filePath().toString()).toString();
const QString directivesKey = projectFile + QLatin1Char(',') + filePath().toString();
const QString directivesKey = projectPartId + QLatin1Char(',') + filePath().toString();
const QByteArray additionalDirectives = ProjectExplorer::SessionManager::value(
directivesKey).toString().toUtf8();
setPreprocessorSettings(mm()->projectPartForProjectFile(projectFile), additionalDirectives);
setPreprocessorSettings(mm()->projectPartForId(projectPartId), additionalDirectives);
}
void CppEditorDocument::setPreprocessorSettings(const CppTools::ProjectPart::Ptr &projectPart,