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:
@@ -64,6 +64,17 @@ ClangProjectSettingsWidget::ClangProjectSettingsWidget(ProjectExplorer::Project
|
||||
connect(m_ui.clangDiagnosticConfigsSelectionWidget,
|
||||
&ClangDiagnosticConfigsSelectionWidget::currentConfigChanged,
|
||||
this, &ClangProjectSettingsWidget::onCurrentWarningConfigChanged);
|
||||
connect(m_ui.clangDiagnosticConfigsSelectionWidget,
|
||||
&ClangDiagnosticConfigsSelectionWidget::diagnosticConfigsEdited,
|
||||
this, [this](const ClangDiagnosticConfigs &configs){
|
||||
QSharedPointer<CppCodeModelSettings> cmSettings = CppTools::codeModelSettings();
|
||||
const ClangDiagnosticConfigsModel configsModel = CppTools::diagnosticConfigsModel(configs);
|
||||
if (!configsModel.hasConfigWithId(cmSettings->clangDiagnosticConfigId()))
|
||||
cmSettings->resetClangDiagnosticConfigId();
|
||||
cmSettings->setClangCustomDiagnosticConfigs(configs);
|
||||
cmSettings->toSettings(Core::ICore::settings());
|
||||
refreshDiagnosticConfigsWidgetFromSettings();
|
||||
});
|
||||
|
||||
connect(m_ui.delayedTemplateParseCheckBox, &QCheckBox::toggled,
|
||||
this, &ClangProjectSettingsWidget::onDelayedTemplateParseClicked);
|
||||
@@ -146,7 +157,9 @@ void ClangProjectSettingsWidget::syncOtherWidgetsToComboBox()
|
||||
|
||||
void ClangProjectSettingsWidget::refreshDiagnosticConfigsWidgetFromSettings()
|
||||
{
|
||||
m_ui.clangDiagnosticConfigsSelectionWidget->refresh(configIdForProject(m_projectSettings));
|
||||
m_ui.clangDiagnosticConfigsSelectionWidget->refresh(CppTools::diagnosticConfigsModel(),
|
||||
configIdForProject(m_projectSettings),
|
||||
/*showTidyClazyUi=*/false);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
Reference in New Issue
Block a user