forked from qt-creator/qt-creator
ClangFormat: Fix clangformat ignores configuration file
Fixes: QTCREATORBUG-29145 Change-Id: I6950151aaab9df51cfdd0af0ad9cf3c7b35c0636 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -41,6 +41,7 @@ ClangFormatGlobalConfigWidget::ClangFormatGlobalConfigWidget(
|
||||
m_overrideDefault = new QCheckBox(Tr::tr("Override Clang Format configuration file"));
|
||||
m_useGlobalSettings = new QCheckBox(Tr::tr("Use global settings"));
|
||||
m_useGlobalSettings->hide();
|
||||
m_overrideDefaultFile = ClangFormatSettings::instance().overrideDefaultFile();
|
||||
|
||||
using namespace Layouting;
|
||||
|
||||
@@ -180,10 +181,12 @@ void ClangFormatGlobalConfigWidget::initOverrideCheckBox()
|
||||
setTemporarilyReadOnly();
|
||||
|
||||
connect(m_overrideDefault, &QCheckBox::toggled, this, [this, setTemporarilyReadOnly](bool checked) {
|
||||
if (m_project)
|
||||
if (m_project) {
|
||||
m_project->setNamedSettings(Constants::OVERRIDE_FILE_ID, checked);
|
||||
else
|
||||
} else {
|
||||
ClangFormatSettings::instance().setOverrideDefaultFile(checked);
|
||||
setTemporarilyReadOnly();
|
||||
}
|
||||
});
|
||||
|
||||
connect(m_codeStyle,
|
||||
@@ -202,12 +205,14 @@ void ClangFormatGlobalConfigWidget::apply()
|
||||
settings.setMode(
|
||||
static_cast<ClangFormatSettings::Mode>(m_indentingOrFormatting->currentIndex()));
|
||||
settings.setOverrideDefaultFile(m_overrideDefault->isChecked());
|
||||
m_overrideDefaultFile = m_overrideDefault->isChecked();
|
||||
}
|
||||
settings.write();
|
||||
}
|
||||
|
||||
void ClangFormatGlobalConfigWidget::finish()
|
||||
{
|
||||
ClangFormatSettings::instance().setOverrideDefaultFile(m_overrideDefaultFile);
|
||||
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(
|
||||
!ClangFormatSettings::instance().overrideDefaultFile());
|
||||
}
|
||||
|
@@ -43,6 +43,7 @@ private:
|
||||
ProjectExplorer::Project *m_project;
|
||||
TextEditor::ICodeStylePreferences *m_codeStyle;
|
||||
Utils::Guard m_ignoreChanges;
|
||||
bool m_overrideDefaultFile;
|
||||
|
||||
QLabel *m_projectHasClangFormat;
|
||||
QLabel *m_formattingModeLabel;
|
||||
|
@@ -214,12 +214,7 @@ bool getCurrentOverriddenSettings(const Utils::FilePath &filePath)
|
||||
filePath);
|
||||
|
||||
return getProjectUseGlobalSettings(project)
|
||||
? !TextEditor::TextEditorSettings::codeStyle("Cpp")
|
||||
->currentPreferences()
|
||||
->isTemporarilyReadOnly()
|
||||
&& !TextEditor::TextEditorSettings::codeStyle("Cpp")
|
||||
->currentPreferences()
|
||||
->isAdditionalTabDisabled()
|
||||
? ClangFormatSettings::instance().overrideDefaultFile()
|
||||
: getProjectOverriddenSettings(project);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user