Clang/ClangTools: Separate custom diagnostic configs

Add a separate pool of custom diagnostic configs for the
ClangTools plugin. That is, the diagnostic configs in

  Menu: Tools > C++ > Code Model

are not shared anymore with the configs at

  Menu: Tools > Analyzer > ClangTools

On plugin initialization of ClangTools, move tidy/clazy related configs
to ClangTools.

Change-Id: Id06087a58b53e466a3d7bbac669550c5fbe9899d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
Nikolai Kosjar
2019-09-25 15:46:15 +02:00
parent d2648db914
commit b895dfa382
35 changed files with 523 additions and 443 deletions

View File

@@ -40,14 +40,6 @@ RunSettingsWidget::RunSettingsWidget(QWidget *parent)
, m_ui(new Ui::RunSettingsWidget)
{
m_ui->setupUi(this);
connect(m_ui->diagnosticWidget,
&CppTools::ClangDiagnosticConfigsSelectionWidget::currentConfigChanged,
[this](const Core::Id &) { emit changed(); });
// m_ui->buildBeforeAnalysis is handled in fromSettings()
connect(m_ui->parallelJobsSpinBox,
QOverload<int>::of(&QSpinBox::valueChanged),
[this](int) { emit changed(); });
}
RunSettingsWidget::~RunSettingsWidget()
@@ -57,7 +49,17 @@ RunSettingsWidget::~RunSettingsWidget()
void RunSettingsWidget::fromSettings(const RunSettings &s)
{
m_ui->diagnosticWidget->refresh(s.diagnosticConfigId());
disconnect(m_ui->diagnosticWidget, 0, 0, 0);
m_ui->diagnosticWidget->refresh(diagnosticConfigsModel(),
s.diagnosticConfigId(),
/*showTidyClazyUi=*/true);
connect(m_ui->diagnosticWidget,
&CppTools::ClangDiagnosticConfigsSelectionWidget::diagnosticConfigsEdited,
this,
&RunSettingsWidget::diagnosticConfigsEdited);
connect(m_ui->diagnosticWidget,
&CppTools::ClangDiagnosticConfigsSelectionWidget::currentConfigChanged,
[this](const Core::Id &) { emit changed(); });
disconnect(m_ui->buildBeforeAnalysis, 0, 0, 0);
m_ui->buildBeforeAnalysis->setToolTip(hintAboutBuildBeforeAnalysis());
@@ -68,9 +70,13 @@ void RunSettingsWidget::fromSettings(const RunSettings &s)
emit changed();
});
disconnect(m_ui->parallelJobsSpinBox, 0, 0, 0);
m_ui->parallelJobsSpinBox->setValue(s.parallelJobs());
m_ui->parallelJobsSpinBox->setMinimum(1);
m_ui->parallelJobsSpinBox->setMaximum(QThread::idealThreadCount());
connect(m_ui->parallelJobsSpinBox,
QOverload<int>::of(&QSpinBox::valueChanged),
[this](int) { emit changed(); });
}
RunSettings RunSettingsWidget::toSettings() const