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

@@ -28,6 +28,10 @@
#include "clangtoolsutils.h"
#include <cpptools/clangdiagnosticconfigswidget.h>
#include <cpptools/cppcodemodelsettings.h>
#include <cpptools/cpptoolsreuse.h>
#include <QDir>
#include <QThread>
@@ -55,6 +59,23 @@ ClangToolsConfigWidget::ClangToolsConfigWidget(
connect(m_ui->buildBeforeAnalysis, &QCheckBox::toggled, [settings](bool checked) {
settings->setBuildBeforeAnalysis(checked);
});
m_ui->clangDiagnosticConfigsSelectionWidget->refresh(settings->savedDiagnosticConfigId());
CppTools::connectToClangDiagnosticConfigsDialog(m_ui->manageButton);
connect(m_ui->clangDiagnosticConfigsSelectionWidget,
&CppTools::ClangDiagnosticConfigsSelectionWidget::currentConfigChanged,
this, [this](const Core::Id &currentConfigId) {
m_settings->setDiagnosticConfigId(currentConfigId);
});
connect(CppTools::codeModelSettings().data(), &CppTools::CppCodeModelSettings::changed,
this, [this]() {
// Settings were applied so apply also the current selection if possible.
m_ui->clangDiagnosticConfigsSelectionWidget->refresh(m_settings->diagnosticConfigId());
m_settings->writeSettings();
});
}
ClangToolsConfigWidget::~ClangToolsConfigWidget()