forked from qt-creator/qt-creator
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:
@@ -29,6 +29,7 @@
|
||||
#include "clangtool.h"
|
||||
#include "clangtoolsconstants.h"
|
||||
#include "clangtoolsprojectsettings.h"
|
||||
#include "clangtoolsutils.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
|
||||
@@ -36,6 +37,8 @@
|
||||
|
||||
#include <QAbstractTableModel>
|
||||
|
||||
#include <cpptools/clangdiagnosticconfigsmodel.h>
|
||||
|
||||
namespace ClangTools {
|
||||
namespace Internal {
|
||||
|
||||
@@ -98,6 +101,25 @@ ProjectSettingsWidget::ProjectSettingsWidget(ProjectExplorer::Project *project,
|
||||
connect(m_ui->runSettingsWidget, &RunSettingsWidget::changed, [this]() {
|
||||
m_projectSettings->setRunSettings(m_ui->runSettingsWidget->toSettings());
|
||||
});
|
||||
connect(m_ui->runSettingsWidget,
|
||||
&RunSettingsWidget::diagnosticConfigsEdited,
|
||||
this,
|
||||
[this](const CppTools::ClangDiagnosticConfigs &configs) {
|
||||
const CppTools::ClangDiagnosticConfigsModel configsModel = diagnosticConfigsModel(
|
||||
configs);
|
||||
RunSettings runSettings = m_projectSettings->runSettings();
|
||||
if (!configsModel.hasConfigWithId(runSettings.diagnosticConfigId())) {
|
||||
runSettings.resetDiagnosticConfigId();
|
||||
m_projectSettings->setRunSettings(runSettings);
|
||||
}
|
||||
ClangToolsSettings::instance()->setDiagnosticConfigs(configs);
|
||||
ClangToolsSettings::instance()->writeSettings();
|
||||
m_ui->runSettingsWidget->fromSettings(runSettings);
|
||||
});
|
||||
connect(ClangToolsSettings::instance(), &ClangToolsSettings::changed,
|
||||
this, [this](){
|
||||
m_ui->runSettingsWidget->fromSettings(m_projectSettings->runSettings());
|
||||
});
|
||||
|
||||
// Suppressed diagnostics
|
||||
auto * const model = new SuppressedDiagnosticsModel(this);
|
||||
|
||||
Reference in New Issue
Block a user