diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp index 1b57403f32c..a0344e14eda 100644 --- a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp +++ b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp @@ -196,4 +196,10 @@ void ClangFormatGlobalConfigWidget::apply() settings.write(); } +void ClangFormatGlobalConfigWidget::finish() +{ + m_codeStyle->currentPreferences()->setTemporarilyReadOnly( + !ClangFormatSettings::instance().overrideDefaultFile()); +} + } // namespace ClangFormat diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.h b/src/plugins/clangformat/clangformatglobalconfigwidget.h index 989aa58a925..063c82852a3 100644 --- a/src/plugins/clangformat/clangformatglobalconfigwidget.h +++ b/src/plugins/clangformat/clangformatglobalconfigwidget.h @@ -28,6 +28,7 @@ public: QWidget *parent = nullptr); ~ClangFormatGlobalConfigWidget() override; void apply() override; + void finish() override; private: void initCheckBoxes(); diff --git a/src/plugins/clangformat/clangformatutils.cpp b/src/plugins/clangformat/clangformatutils.cpp index ca6fea8f18e..7ba6229db37 100644 --- a/src/plugins/clangformat/clangformatutils.cpp +++ b/src/plugins/clangformat/clangformatutils.cpp @@ -215,9 +215,10 @@ bool getCurrentOverriddenSettings(const Utils::FilePath &filePath) const ProjectExplorer::Project *project = ProjectExplorer::SessionManager::projectForFile( filePath); - return getProjectUseGlobalSettings(project) - ? ClangFormatSettings::instance().overrideDefaultFile() - : getProjectOverriddenSettings(project); + return getProjectUseGlobalSettings(project) ? !TextEditor::TextEditorSettings::codeStyle("Cpp") + ->currentPreferences() + ->isTemporarilyReadOnly() + : getProjectOverriddenSettings(project); } ClangFormatSettings::Mode getProjectIndentationOrFormattingSettings( diff --git a/src/plugins/texteditor/codestyleeditor.cpp b/src/plugins/texteditor/codestyleeditor.cpp index 6aaf5ae9483..ac75f1ad6d3 100644 --- a/src/plugins/texteditor/codestyleeditor.cpp +++ b/src/plugins/texteditor/codestyleeditor.cpp @@ -108,6 +108,9 @@ void CodeStyleEditor::finish() { if (m_widget) m_widget->finish(); + + if (m_additionalGlobalSettingsWidget) + m_additionalGlobalSettingsWidget->finish(); } } // TextEditor