diff options
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); } |