aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Sokolovskii <artem.sokolovskii@qt.io>2023-01-02 11:43:18 +0100
committerArtem Sokolovskii <artem.sokolovskii@qt.io>2023-01-05 09:12:15 +0000
commitce1a547b6cbfd875d2996ee71b9aa8f7327262aa (patch)
tree42caaa1d148374d437750c84b89515d625d9a9fb
parent0a74a1e99e37e6685e627577dd52d4f06e3c2832 (diff)
CodeStyle: Fix preview update
Fixes: QTCREATORBUG-28621 Change-Id: I66a66d9c16933ebd8197f9e286e72dce7a621933 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: David Schulz <david.schulz@qt.io>
-rw-r--r--src/plugins/cppeditor/cppcodestylesettingspage.cpp31
-rw-r--r--src/plugins/cppeditor/cppcodestylesettingspage.h4
2 files changed, 27 insertions, 8 deletions
diff --git a/src/plugins/cppeditor/cppcodestylesettingspage.cpp b/src/plugins/cppeditor/cppcodestylesettingspage.cpp
index 67a785809d..3fc0a3ba87 100644
--- a/src/plugins/cppeditor/cppcodestylesettingspage.cpp
+++ b/src/plugins/cppeditor/cppcodestylesettingspage.cpp
@@ -165,6 +165,9 @@ void CppCodeStylePreferencesWidget::setCodeStyle(CppCodeStylePreferences *codeSt
setCodeStyleSettings(m_preferences->currentCodeStyleSettings(), false);
slotCurrentPreferencesChanged(m_preferences->currentPreferences(), false);
+ m_originalCppCodeStyleSettings = cppCodeStyleSettings();
+ m_originalTabSettings = tabSettings();
+
updatePreview();
}
@@ -253,6 +256,12 @@ void CppCodeStylePreferencesWidget::slotCodeStyleSettingsChanged()
if (m_blockUpdates)
return;
+ if (m_preferences) {
+ auto current = qobject_cast<CppCodeStylePreferences *>(m_preferences->currentPreferences());
+ if (current)
+ current->setCodeStyleSettings(cppCodeStyleSettings());
+ }
+
emit codeStyleSettingsChanged(cppCodeStyleSettings());
updatePreview();
}
@@ -262,6 +271,12 @@ void CppCodeStylePreferencesWidget::slotTabSettingsChanged(const TabSettings &se
if (m_blockUpdates)
return;
+ if (m_preferences) {
+ auto current = qobject_cast<CppCodeStylePreferences *>(m_preferences->currentPreferences());
+ if (current)
+ current->setTabSettings(settings);
+ }
+
emit tabSettingsChanged(settings);
updatePreview();
}
@@ -344,19 +359,21 @@ void CppCodeStylePreferencesWidget::addTab(CppCodeStyleWidget *page, QString tab
void CppCodeStylePreferencesWidget::apply()
{
- if (m_preferences) {
- auto current = qobject_cast<CppCodeStylePreferences *>(m_preferences->currentPreferences());
- if (current) {
- current->setTabSettings(tabSettings());
- current->setCodeStyleSettings(cppCodeStyleSettings());
- }
- }
+ m_originalTabSettings = tabSettings();
+ m_originalCppCodeStyleSettings = cppCodeStyleSettings();
emit applyEmitted();
}
void CppCodeStylePreferencesWidget::finish()
{
+ if (m_preferences) {
+ auto current = qobject_cast<CppCodeStylePreferences *>(m_preferences->currentDelegate());
+ if (current) {
+ current->setCodeStyleSettings(m_originalCppCodeStyleSettings);
+ current->setTabSettings(m_originalTabSettings);
+ }
+ }
emit finishEmitted();
}
diff --git a/src/plugins/cppeditor/cppcodestylesettingspage.h b/src/plugins/cppeditor/cppcodestylesettingspage.h
index 844cfc0337..01a7860a19 100644
--- a/src/plugins/cppeditor/cppcodestylesettingspage.h
+++ b/src/plugins/cppeditor/cppcodestylesettingspage.h
@@ -8,13 +8,13 @@
#include <coreplugin/dialogs/ioptionspage.h>
#include <texteditor/icodestylepreferencesfactory.h>
+#include <texteditor/tabsettings.h>
#include <QWidget>
#include <QPointer>
namespace TextEditor {
class FontSettings;
- class TabSettings;
class SnippetEditorWidget;
class CodeStyleEditor;
class CodeStyleEditorWidget;
@@ -72,6 +72,8 @@ private:
CppCodeStylePreferences *m_preferences = nullptr;
Ui::CppCodeStyleSettingsPage *m_ui;
QList<TextEditor::SnippetEditorWidget *> m_previews;
+ CppCodeStyleSettings m_originalCppCodeStyleSettings;
+ TextEditor::TabSettings m_originalTabSettings;
bool m_blockUpdates = false;
signals:
void codeStyleSettingsChanged(const CppEditor::CppCodeStyleSettings &);