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();