From e101a629ddda7f73936b7771862c6b202175bfae Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 29 Jan 2019 16:12:31 +0100 Subject: [PATCH] Clang: Sync ClangProjectSettingsWidget to changed settings Change-Id: Ic123c8a3b10a18d9f9313462a682c470eb3ffdaf Reviewed-by: Ivan Donchevskii --- .../clangprojectsettingswidget.cpp | 17 ++++++++++++++--- .../clangcodemodel/clangprojectsettingswidget.h | 3 +++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp b/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp index 563bdd0913e..09caba4a2df 100644 --- a/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp +++ b/src/plugins/clangcodemodel/clangprojectsettingswidget.cpp @@ -61,8 +61,6 @@ ClangProjectSettingsWidget::ClangProjectSettingsWidget(ProjectExplorer::Project m_ui.delayedTemplateParseCheckBox->setVisible(Utils::HostOsInfo::isWindowsHost()); - m_ui.globalOrCustomComboBox->setCurrentIndex(m_projectSettings.useGlobalConfig() ? 0 : 1); - connect(m_ui.clangDiagnosticConfigsSelectionWidget, &ClangDiagnosticConfigsSelectionWidget::currentConfigChanged, this, &ClangProjectSettingsWidget::onCurrentWarningConfigChanged); @@ -75,10 +73,12 @@ ClangProjectSettingsWidget::ClangProjectSettingsWidget(ProjectExplorer::Project connect(project, &ProjectExplorer::Project::aboutToSaveSettings, this, &ClangProjectSettingsWidget::onAboutToSaveProjectSettings); + connect(&m_projectSettings, &ClangProjectSettings::changed, + this, &ClangProjectSettingsWidget::syncWidgets); connect(CppTools::codeModelSettings().data(), &CppTools::CppCodeModelSettings::changed, this, &ClangProjectSettingsWidget::syncOtherWidgetsToComboBox); - syncOtherWidgetsToComboBox(); + syncWidgets(); } void ClangProjectSettingsWidget::onCurrentWarningConfigChanged(const Core::Id ¤tConfigId) @@ -115,6 +115,17 @@ void ClangProjectSettingsWidget::onAboutToSaveProjectSettings() CppTools::codeModelSettings()->toSettings(Core::ICore::settings()); } +void ClangProjectSettingsWidget::syncWidgets() +{ + syncGlobalCustomComboBox(); + syncOtherWidgetsToComboBox(); +} + +void ClangProjectSettingsWidget::syncGlobalCustomComboBox() +{ + m_ui.globalOrCustomComboBox->setCurrentIndex(m_projectSettings.useGlobalConfig() ? 0 : 1); +} + void ClangProjectSettingsWidget::syncOtherWidgetsToComboBox() { const QStringList options = m_projectSettings.commandLineOptions(); diff --git a/src/plugins/clangcodemodel/clangprojectsettingswidget.h b/src/plugins/clangcodemodel/clangprojectsettingswidget.h index 50010673b92..be57a67a138 100644 --- a/src/plugins/clangcodemodel/clangprojectsettingswidget.h +++ b/src/plugins/clangcodemodel/clangprojectsettingswidget.h @@ -48,6 +48,9 @@ private: void onDelayedTemplateParseClicked(bool); void onGlobalCustomChanged(int index); void onAboutToSaveProjectSettings(); + + void syncWidgets(); + void syncGlobalCustomComboBox(); void syncOtherWidgetsToComboBox(); void refreshDiagnosticConfigsWidgetFromSettings();