CppEditor: Introduce per-project code model settings

Change-Id: I325cc39e60d4b1f0fba1651502d772bfb9c6a91c
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Christian Kandeler
2024-02-22 16:26:13 +01:00
parent 812326eadc
commit faa595e38b
24 changed files with 430 additions and 69 deletions

View File

@@ -27,7 +27,8 @@ namespace CppEditor {
BaseEditorDocumentProcessor::BaseEditorDocumentProcessor(QTextDocument *textDocument,
const Utils::FilePath &filePath)
: m_filePath(filePath),
m_textDocument(textDocument)
m_textDocument(textDocument),
m_settings(CppCodeModelSettings::settingsForFile(filePath))
{
}
@@ -35,9 +36,11 @@ BaseEditorDocumentProcessor::~BaseEditorDocumentProcessor() = default;
void BaseEditorDocumentProcessor::run(bool projectsUpdated)
{
if (projectsUpdated)
m_settings.setData(CppCodeModelSettings::settingsForFile(m_filePath).data());
const Utils::Language languagePreference
= CppCodeModelSettings::instance().interpretAmbigiousHeadersAsC() ? Utils::Language::C
: Utils::Language::Cxx;
= m_settings.interpretAmbigiousHeadersAsC() ? Utils::Language::C : Utils::Language::Cxx;
runImpl({CppModelManager::workingCopy(),
ProjectExplorer::ProjectManager::startupProject(),