diff options
author | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-05-25 14:28:15 +0200 |
---|---|---|
committer | Ivan Donchevskii <ivan.donchevskii@qt.io> | 2018-05-29 07:52:24 +0000 |
commit | 0d64011e4744b40b04d8f7999967700d87332c64 (patch) | |
tree | 3a25c1ad9c84d7d96746b8ea1dad6852befdb7c4 | |
parent | 80dd54ec8bf732917f44ebb235d8083cec829ec6 (diff) | |
download | qt-creator-0d64011e4744b40b04d8f7999967700d87332c64.tar.gz |
ClangTools: Synchronize standalone tool diagnostic settings
...to the global diagnostic settings list.
It was possible to add/remove some configurations without
adding/removing them to the checks combobox.
Change-Id: I31608fd3758c385aa2fb7ce06aceeb0b91403c50
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
-rw-r--r-- | src/plugins/clangtools/clangselectablefilesdialog.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/plugins/clangtools/clangselectablefilesdialog.cpp b/src/plugins/clangtools/clangselectablefilesdialog.cpp index 4dab13a726..91b5c8ea53 100644 --- a/src/plugins/clangtools/clangselectablefilesdialog.cpp +++ b/src/plugins/clangtools/clangselectablefilesdialog.cpp @@ -31,7 +31,9 @@ #include "clangtoolsutils.h" #include <cpptools/compileroptionsbuilder.h> +#include <cpptools/cppcodemodelsettings.h> #include <cpptools/cppmodelmanager.h> +#include <cpptools/cpptoolsreuse.h> #include <cpptools/projectinfo.h> #include <cpptools/projectpart.h> @@ -265,6 +267,13 @@ private: enum { GlobalSettings , CustomSettings }; +static Core::Id diagnosticConfiguration(ClangToolsProjectSettings *settings) +{ + if (settings->useGlobalSettings()) + return ClangToolsSettings::instance()->savedDiagnosticConfigId(); + return settings->diagnosticConfig(); +} + SelectableFilesDialog::SelectableFilesDialog(const ProjectInfo &projectInfo, const FileInfos &allFileInfos) : QDialog(nullptr) @@ -285,18 +294,15 @@ SelectableFilesDialog::SelectableFilesDialog(const ProjectInfo &projectInfo, ClangToolsProjectSettings *settings = ClangToolsProjectSettingsManager::getSettings(m_project); - Core::Id diagnosticConfig; if (settings->useGlobalSettings()) { m_ui->globalOrCustom->setCurrentIndex(GlobalSettings); m_ui->diagnosticConfigsSelectionWidget->setEnabled(false); - diagnosticConfig = ClangToolsSettings::instance()->savedDiagnosticConfigId(); } else { m_ui->globalOrCustom->setCurrentIndex(CustomSettings); m_ui->diagnosticConfigsSelectionWidget->setEnabled(true); - diagnosticConfig = settings->diagnosticConfig(); } - m_customDiagnosticConfig = diagnosticConfig; - m_ui->diagnosticConfigsSelectionWidget->refresh(diagnosticConfig); + m_customDiagnosticConfig = diagnosticConfiguration(settings); + m_ui->diagnosticConfigsSelectionWidget->refresh(m_customDiagnosticConfig); connect(m_ui->globalOrCustom, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), @@ -326,6 +332,11 @@ SelectableFilesDialog::SelectableFilesDialog(const ProjectInfo &projectInfo, connect(m_filesModel.get(), &QAbstractItemModel::dataChanged, [this]() { m_analyzeButton->setEnabled(m_filesModel->hasCheckedFiles()); }); + + connect(CppTools::codeModelSettings().data(), &CppTools::CppCodeModelSettings::changed, + this, [=]() { + m_ui->diagnosticConfigsSelectionWidget->refresh(diagnosticConfiguration(settings)); + }); } SelectableFilesDialog::~SelectableFilesDialog() {} |