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

@@ -30,6 +30,10 @@
#include "clangtoolsconstants.h"
#include "clangtoolsutils.h"
#include <cpptools/clangdiagnosticconfigsmodel.h>
#include <utils/optional.h>
namespace ClangTools {
namespace Internal {
@@ -101,6 +105,21 @@ SettingsWidget::SettingsWidget(ClangToolsSettings *settings, QWidget *parent)
//
m_ui->runSettingsWidget->fromSettings(m_settings->runSettings());
connect(m_ui->runSettingsWidget,
&RunSettingsWidget::diagnosticConfigsEdited,
this,
[this](const CppTools::ClangDiagnosticConfigs &configs) {
const CppTools::ClangDiagnosticConfigsModel configsModel = diagnosticConfigsModel(
configs);
RunSettings runSettings = m_settings->runSettings();
if (!configsModel.hasConfigWithId(m_settings->runSettings().diagnosticConfigId())) {
runSettings.resetDiagnosticConfigId();
m_settings->setRunSettings(runSettings);
}
m_settings->setDiagnosticConfigs(configs);
m_settings->writeSettings();
m_ui->runSettingsWidget->fromSettings(runSettings);
});
}
void SettingsWidget::apply()