diff options
author | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2023-05-11 14:52:51 +0200 |
---|---|---|
committer | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2023-05-15 10:08:38 +0000 |
commit | 948dc6b37edaea86c067fe2c4750977d7272314e (patch) | |
tree | 91c4b1ebd9ebd81dec76466a845886365d723990 /src | |
parent | c6a69023c9bfd39c023e63e8394f433105479456 (diff) | |
download | qt-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.cpp | 9 | ||||
-rw-r--r-- | src/plugins/clangformat/clangformatglobalconfigwidget.h | 1 | ||||
-rw-r--r-- | src/plugins/clangformat/clangformatutils.cpp | 7 |
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); } |