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_overrideDefault = new QCheckBox(Tr::tr("Override Clang Format configuration file"));
|
||||||
m_useGlobalSettings = new QCheckBox(Tr::tr("Use global settings"));
|
m_useGlobalSettings = new QCheckBox(Tr::tr("Use global settings"));
|
||||||
m_useGlobalSettings->hide();
|
m_useGlobalSettings->hide();
|
||||||
|
m_overrideDefaultFile = ClangFormatSettings::instance().overrideDefaultFile();
|
||||||
|
|
||||||
using namespace Layouting;
|
using namespace Layouting;
|
||||||
|
|
||||||
@@ -180,10 +181,12 @@ void ClangFormatGlobalConfigWidget::initOverrideCheckBox()
|
|||||||
setTemporarilyReadOnly();
|
setTemporarilyReadOnly();
|
||||||
|
|
||||||
connect(m_overrideDefault, &QCheckBox::toggled, this, [this, setTemporarilyReadOnly](bool checked) {
|
connect(m_overrideDefault, &QCheckBox::toggled, this, [this, setTemporarilyReadOnly](bool checked) {
|
||||||
if (m_project)
|
if (m_project) {
|
||||||
m_project->setNamedSettings(Constants::OVERRIDE_FILE_ID, checked);
|
m_project->setNamedSettings(Constants::OVERRIDE_FILE_ID, checked);
|
||||||
else
|
} else {
|
||||||
|
ClangFormatSettings::instance().setOverrideDefaultFile(checked);
|
||||||
setTemporarilyReadOnly();
|
setTemporarilyReadOnly();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(m_codeStyle,
|
connect(m_codeStyle,
|
||||||
@@ -202,12 +205,14 @@ void ClangFormatGlobalConfigWidget::apply()
|
|||||||
settings.setMode(
|
settings.setMode(
|
||||||
static_cast<ClangFormatSettings::Mode>(m_indentingOrFormatting->currentIndex()));
|
static_cast<ClangFormatSettings::Mode>(m_indentingOrFormatting->currentIndex()));
|
||||||
settings.setOverrideDefaultFile(m_overrideDefault->isChecked());
|
settings.setOverrideDefaultFile(m_overrideDefault->isChecked());
|
||||||
|
m_overrideDefaultFile = m_overrideDefault->isChecked();
|
||||||
}
|
}
|
||||||
settings.write();
|
settings.write();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClangFormatGlobalConfigWidget::finish()
|
void ClangFormatGlobalConfigWidget::finish()
|
||||||
{
|
{
|
||||||
|
ClangFormatSettings::instance().setOverrideDefaultFile(m_overrideDefaultFile);
|
||||||
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(
|
m_codeStyle->currentPreferences()->setTemporarilyReadOnly(
|
||||||
!ClangFormatSettings::instance().overrideDefaultFile());
|
!ClangFormatSettings::instance().overrideDefaultFile());
|
||||||
}
|
}
|
||||||
|
@@ -43,6 +43,7 @@ private:
|
|||||||
ProjectExplorer::Project *m_project;
|
ProjectExplorer::Project *m_project;
|
||||||
TextEditor::ICodeStylePreferences *m_codeStyle;
|
TextEditor::ICodeStylePreferences *m_codeStyle;
|
||||||
Utils::Guard m_ignoreChanges;
|
Utils::Guard m_ignoreChanges;
|
||||||
|
bool m_overrideDefaultFile;
|
||||||
|
|
||||||
QLabel *m_projectHasClangFormat;
|
QLabel *m_projectHasClangFormat;
|
||||||
QLabel *m_formattingModeLabel;
|
QLabel *m_formattingModeLabel;
|
||||||
|
@@ -214,12 +214,7 @@ bool getCurrentOverriddenSettings(const Utils::FilePath &filePath)
|
|||||||
filePath);
|
filePath);
|
||||||
|
|
||||||
return getProjectUseGlobalSettings(project)
|
return getProjectUseGlobalSettings(project)
|
||||||
? !TextEditor::TextEditorSettings::codeStyle("Cpp")
|
? ClangFormatSettings::instance().overrideDefaultFile()
|
||||||
->currentPreferences()
|
|
||||||
->isTemporarilyReadOnly()
|
|
||||||
&& !TextEditor::TextEditorSettings::codeStyle("Cpp")
|
|
||||||
->currentPreferences()
|
|
||||||
->isAdditionalTabDisabled()
|
|
||||||
: getProjectOverriddenSettings(project);
|
: getProjectOverriddenSettings(project);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user