forked from qt-creator/qt-creator
Clang: Avoid storing settings more than needed
There is no need to store on every key stroken when changing the diagnostic config in the projects mode. Change-Id: I627c11621b999527c110862365ba5c2a0b1e878b Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -76,6 +76,8 @@ ClangProjectSettingsWidget::ClangProjectSettingsWidget(ProjectExplorer::Project
|
||||
connect(m_ui.clangSettings,
|
||||
static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
||||
this, &ClangProjectSettingsWidget::onClangSettingsChanged);
|
||||
connect(project, &ProjectExplorer::Project::aboutToSaveSettings,
|
||||
this, &ClangProjectSettingsWidget::onAboutToSaveProjectSettings);
|
||||
|
||||
m_ui.diagnosticConfigurationGroupBox->layout()->addWidget(m_diagnosticConfigWidget);
|
||||
}
|
||||
@@ -86,7 +88,6 @@ void ClangProjectSettingsWidget::onCurrentWarningConfigChanged(const Core::Id &c
|
||||
if (m_projectSettings.useGlobalConfig())
|
||||
return;
|
||||
m_projectSettings.setWarningConfigId(currentConfigId);
|
||||
m_projectSettings.store();
|
||||
}
|
||||
|
||||
void ClangProjectSettingsWidget::onCustomWarningConfigsChanged(
|
||||
@@ -97,7 +98,6 @@ void ClangProjectSettingsWidget::onCustomWarningConfigsChanged(
|
||||
const QSharedPointer<CppTools::CppCodeModelSettings> codeModelSettings
|
||||
= CppTools::codeModelSettings();
|
||||
codeModelSettings->setClangCustomDiagnosticConfigs(customConfigs);
|
||||
codeModelSettings->toSettings(Core::ICore::settings());
|
||||
|
||||
connectToCppCodeModelSettingsChanged();
|
||||
}
|
||||
@@ -115,16 +115,19 @@ void ClangProjectSettingsWidget::onDelayedTemplateParseClicked(bool checked)
|
||||
options.removeAll(QLatin1String{ClangProjectSettings::NoDelayedTemplateParsing});
|
||||
options.append(extraFlag);
|
||||
m_projectSettings.setCommandLineOptions(options);
|
||||
m_projectSettings.store();
|
||||
}
|
||||
|
||||
void ClangProjectSettingsWidget::onClangSettingsChanged(int index)
|
||||
{
|
||||
m_projectSettings.setUseGlobalConfig(index == 0 ? true : false);
|
||||
m_projectSettings.store();
|
||||
syncOtherWidgetsToComboBox();
|
||||
}
|
||||
|
||||
void ClangProjectSettingsWidget::onAboutToSaveProjectSettings()
|
||||
{
|
||||
CppTools::codeModelSettings()->toSettings(Core::ICore::settings());
|
||||
}
|
||||
|
||||
void ClangProjectSettingsWidget::syncOtherWidgetsToComboBox()
|
||||
{
|
||||
const QStringList options = m_projectSettings.commandLineOptions();
|
||||
|
||||
Reference in New Issue
Block a user