ClangTools: Use separate diagnostic settings for ClangTools

Share diagnostic configuration profiles between
ClangTools and ClangCodeModel but keep the unique
configuration index for each of them.

Change-Id: I86d95f7f220e929d60a53f3633167adfcd62a2da
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Ivan Donchevskii
2018-05-07 15:40:14 +02:00
parent 3737b6a124
commit 92fdbdc404
5 changed files with 113 additions and 13 deletions

View File

@@ -37,6 +37,7 @@
static const char simultaneousProcessesKey[] = "simultaneousProcesses";
static const char buildBeforeAnalysisKey[] = "buildBeforeAnalysis";
static const char diagnosticConfigIdKey[] = "diagnosticConfigId";
namespace ClangTools {
namespace Internal {
@@ -82,6 +83,21 @@ void ClangToolsSettings::setBuildBeforeAnalysis(bool build)
m_buildBeforeAnalysis = build;
}
Core::Id ClangToolsSettings::savedDiagnosticConfigId() const
{
return m_savedDiagnosticConfigId;
}
Core::Id ClangToolsSettings::diagnosticConfigId() const
{
return m_diagnosticConfigId;
}
void ClangToolsSettings::setDiagnosticConfigId(Core::Id id)
{
m_diagnosticConfigId = id;
}
void ClangToolsSettings::updateSavedBuildBeforeAnalysiIfRequired()
{
if (m_savedBuildBeforeAnalysis == m_buildBeforeAnalysis)
@@ -101,6 +117,10 @@ void ClangToolsSettings::readSettings()
defaultSimultaneousProcesses).toInt();
m_buildBeforeAnalysis = settings->value(QString(buildBeforeAnalysisKey), true).toBool();
m_savedDiagnosticConfigId = m_diagnosticConfigId
= Core::Id::fromSetting(settings->value(QString(diagnosticConfigIdKey)));
updateSavedBuildBeforeAnalysiIfRequired();
settings->endGroup();
@@ -112,8 +132,10 @@ void ClangToolsSettings::writeSettings()
settings->beginGroup(QString(Constants::SETTINGS_ID));
settings->setValue(QString(simultaneousProcessesKey), m_simultaneousProcesses);
settings->setValue(QString(buildBeforeAnalysisKey), m_buildBeforeAnalysis);
settings->setValue(QString(diagnosticConfigIdKey), m_diagnosticConfigId.toSetting());
m_savedSimultaneousProcesses = m_simultaneousProcesses;
m_savedDiagnosticConfigId = m_diagnosticConfigId;
updateSavedBuildBeforeAnalysiIfRequired();
settings->endGroup();