summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorArtem Sokolovskii <artem.sokolovskii@qt.io>2023-05-11 14:52:51 +0200
committerArtem Sokolovskii <artem.sokolovskii@qt.io>2023-05-15 10:08:38 +0000
commit948dc6b37edaea86c067fe2c4750977d7272314e (patch)
tree91c4b1ebd9ebd81dec76466a845886365d723990 /src
parentc6a69023c9bfd39c023e63e8394f433105479456 (diff)
downloadqt-creator-948dc6b37edaea86c067fe2c4750977d7272314e.tar.gz
ClangFormat: Fix clangformat ignores configuration file
Fixes: QTCREATORBUG-29145 Change-Id: I6950151aaab9df51cfdd0af0ad9cf3c7b35c0636 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/clangformat/clangformatglobalconfigwidget.cpp9
-rw-r--r--src/plugins/clangformat/clangformatglobalconfigwidget.h1
-rw-r--r--src/plugins/clangformat/clangformatutils.cpp7
3 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp
index 1f810c968c..5579e594e1 100644
--- a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp
+++ b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp
@@ -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());
}
diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.h b/src/plugins/clangformat/clangformatglobalconfigwidget.h
index 962a7daaf1..7b2d6fe7c9 100644
--- a/src/plugins/clangformat/clangformatglobalconfigwidget.h
+++ b/src/plugins/clangformat/clangformatglobalconfigwidget.h
@@ -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;
diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp
index a9f1a0d29b..95632db7a0 100644
--- a/src/plugins/clangformat/clangformatutils.cpp
+++ b/src/plugins/clangformat/clangformatutils.cpp
@@ -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);
}