From b24acbc28be35ce55b4e9b15c2f265ebf9f3440b Mon Sep 17 00:00:00 2001 From: Artem Sokolovskii Date: Thu, 7 Mar 2024 15:04:00 +0100 Subject: [PATCH] ClangFormat: Fix General tab is missing Fixes: QTCREATORBUG-30501 Change-Id: Ic1f09e513114acf6fb6ee52c8b5f066a2071e202 Reviewed-by: Christian Kandeler --- .../clangformat/clangformatglobalconfigwidget.cpp | 1 + src/plugins/cppeditor/cppcodestylesettingspage.cpp | 8 +++++--- src/plugins/texteditor/icodestylepreferences.cpp | 11 +++++++++++ src/plugins/texteditor/icodestylepreferences.h | 3 +++ 4 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp index 7027511868e..4dc344601d7 100644 --- a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp +++ b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp @@ -277,6 +277,7 @@ void ClangFormatGlobalConfigWidget::initCustomSettingsCheckBox() !m_useCustomSettingsCheckBox->isChecked()); m_codeStyle->currentPreferences()->setIsAdditionalTabVisible( m_useCustomSettingsCheckBox->isEnabled()); + m_codeStyle->currentPreferences()->setAdditionalTabExist(true); ClangFormatSettings::instance().write(); emit m_codeStyle->currentPreferencesChanged(m_codeStyle->currentPreferences()); }; diff --git a/src/plugins/cppeditor/cppcodestylesettingspage.cpp b/src/plugins/cppeditor/cppcodestylesettingspage.cpp index 74f505d663c..2ad6ba8baa9 100644 --- a/src/plugins/cppeditor/cppcodestylesettingspage.cpp +++ b/src/plugins/cppeditor/cppcodestylesettingspage.cpp @@ -429,9 +429,11 @@ void CppCodeStylePreferencesWidget::slotCurrentPreferencesChanged(ICodeStylePref const bool enable = !preferences->isReadOnly() && (!preferences->isTemporarilyReadOnly() || !preferences->isAdditionalTabVisible()); - d->m_categoryTab->setTabVisible(0, preferences->isAdditionalTabVisible()); - for (int i = 1; i < d->m_categoryTab->count(); ++i) - d->m_categoryTab->setTabVisible(i, !preferences->isAdditionalTabVisible()); + if (preferences->additionalTabExist()) { + d->m_categoryTab->setTabVisible(0, preferences->isAdditionalTabVisible()); + for (int i = 1; i < d->m_categoryTab->count(); ++i) + d->m_categoryTab->setTabVisible(i, !preferences->isAdditionalTabVisible()); + } for (QWidget *widget : d->m_controllers) widget->setEnabled(enable); diff --git a/src/plugins/texteditor/icodestylepreferences.cpp b/src/plugins/texteditor/icodestylepreferences.cpp index 82a478e6977..8eae1c4be70 100644 --- a/src/plugins/texteditor/icodestylepreferences.cpp +++ b/src/plugins/texteditor/icodestylepreferences.cpp @@ -25,6 +25,7 @@ public: bool m_readOnly = false; bool m_temporarilyReadOnly = false; bool m_isAdditionalTabVisible = false; + bool m_isAdditionalTabExist = false; Key m_settingsSuffix; }; @@ -92,6 +93,16 @@ void ICodeStylePreferences::setIsAdditionalTabVisible(bool on) d->m_isAdditionalTabVisible = on; } +bool ICodeStylePreferences::additionalTabExist() const +{ + return d->m_isAdditionalTabExist; +} + +void ICodeStylePreferences::setAdditionalTabExist(bool on) +{ + d->m_isAdditionalTabExist = on; +} + void ICodeStylePreferences::setTabSettings(const TabSettings &settings) { if (d->m_tabSettings == settings) diff --git a/src/plugins/texteditor/icodestylepreferences.h b/src/plugins/texteditor/icodestylepreferences.h index 451ac669ccf..aab34d3dc25 100644 --- a/src/plugins/texteditor/icodestylepreferences.h +++ b/src/plugins/texteditor/icodestylepreferences.h @@ -44,6 +44,9 @@ public: bool isAdditionalTabVisible() const; void setIsAdditionalTabVisible(bool on); + bool additionalTabExist() const; + void setAdditionalTabExist(bool on); + void setTabSettings(const TabSettings &settings); TabSettings tabSettings() const; TabSettings currentTabSettings() const;