forked from qt-creator/qt-creator
ClangFormat: Fix code style preferences are grayed out
Code style preferences are grayed out even when formatting mode is set to disable. Fixes: QTCREATORBUG-29129 Change-Id: Icf82fa0751f9291122c2af55111b6bd5fac85c7b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -153,9 +153,20 @@ void ClangFormatGlobalConfigWidget::initOverrideCheckBox()
|
||||
"can be overridden by the settings below."));
|
||||
}
|
||||
|
||||
auto setEnableOverrideCheckBox = [this](int index) {
|
||||
auto setTemporarilyReadOnly = [this]() {
|
||||
if (m_ignoreChanges.isLocked())
|
||||
return;
|
||||
Utils::GuardLocker locker(m_ignoreChanges);
|
||||
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!m_overrideDefault->isChecked());
|
||||
m_codeStyle->currentPreferences()->setIsAdditionalTabDisabled(!m_overrideDefault->isEnabled());
|
||||
ClangFormatSettings::instance().write();
|
||||
emit m_codeStyle->currentPreferencesChanged(m_codeStyle->currentPreferences());
|
||||
};
|
||||
|
||||
auto setEnableOverrideCheckBox = [this, setTemporarilyReadOnly](int index) {
|
||||
bool isDisable = index == static_cast<int>(ClangFormatSettings::Mode::Disable);
|
||||
m_overrideDefault->setDisabled(isDisable);
|
||||
setTemporarilyReadOnly();
|
||||
};
|
||||
|
||||
setEnableOverrideCheckBox(m_indentingOrFormatting->currentIndex());
|
||||
@@ -166,20 +177,19 @@ void ClangFormatGlobalConfigWidget::initOverrideCheckBox()
|
||||
Tr::tr("Override Clang Format configuration file with the chosen configuration."));
|
||||
|
||||
m_overrideDefault->setChecked(getProjectOverriddenSettings(m_project));
|
||||
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!m_overrideDefault->isChecked());
|
||||
setTemporarilyReadOnly();
|
||||
|
||||
connect(m_overrideDefault, &QCheckBox::toggled, this, [this](bool checked) {
|
||||
connect(m_overrideDefault, &QCheckBox::toggled, this, [this, setTemporarilyReadOnly](bool checked) {
|
||||
if (m_project)
|
||||
m_project->setNamedSettings(Constants::OVERRIDE_FILE_ID, checked);
|
||||
else {
|
||||
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!checked);
|
||||
emit m_codeStyle->currentPreferencesChanged(m_codeStyle->currentPreferences());
|
||||
}
|
||||
else
|
||||
setTemporarilyReadOnly();
|
||||
});
|
||||
|
||||
connect(m_codeStyle, &TextEditor::ICodeStylePreferences::currentPreferencesChanged, this, [this] {
|
||||
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!m_overrideDefault->isChecked());
|
||||
});
|
||||
connect(m_codeStyle,
|
||||
&TextEditor::ICodeStylePreferences::currentPreferencesChanged,
|
||||
this,
|
||||
setTemporarilyReadOnly);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user