TextEditor: Simplify BehaviorSettingsPage implementation a bit

ICore::settings() lives longer than anything in TextEditor.

Change-Id: I67df38f291f43763bdd236ea611db614ac515c97
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2021-12-06 12:41:09 +01:00
parent 41b8e302ef
commit 9c0bc16e94

View File

@@ -39,7 +39,9 @@
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <utils/hostosinfo.h> #include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
// for opening the respective coding style preferences // for opening the respective coding style preferences
#include <cppeditor/cppeditorconstants.h> #include <cppeditor/cppeditorconstants.h>
@@ -142,22 +144,20 @@ void BehaviorSettingsPage::apply()
&newBehaviorSettings, &newExtraEncodingSettings); &newBehaviorSettings, &newExtraEncodingSettings);
QSettings *s = Core::ICore::settings(); QSettings *s = Core::ICore::settings();
QTC_ASSERT(s, return);
if (d->m_codeStyle->tabSettings() != d->m_pageCodeStyle->tabSettings()) { if (d->m_codeStyle->tabSettings() != d->m_pageCodeStyle->tabSettings()) {
d->m_codeStyle->setTabSettings(d->m_pageCodeStyle->tabSettings()); d->m_codeStyle->setTabSettings(d->m_pageCodeStyle->tabSettings());
if (s)
d->m_codeStyle->toSettings(d->m_settingsPrefix, s); d->m_codeStyle->toSettings(d->m_settingsPrefix, s);
} }
if (d->m_codeStyle->currentDelegate() != d->m_pageCodeStyle->currentDelegate()) { if (d->m_codeStyle->currentDelegate() != d->m_pageCodeStyle->currentDelegate()) {
d->m_codeStyle->setCurrentDelegate(d->m_pageCodeStyle->currentDelegate()); d->m_codeStyle->setCurrentDelegate(d->m_pageCodeStyle->currentDelegate());
if (s)
d->m_codeStyle->toSettings(d->m_settingsPrefix, s); d->m_codeStyle->toSettings(d->m_settingsPrefix, s);
} }
if (newTypingSettings != d->m_typingSettings) { if (newTypingSettings != d->m_typingSettings) {
d->m_typingSettings = newTypingSettings; d->m_typingSettings = newTypingSettings;
if (s)
d->m_typingSettings.toSettings(d->m_settingsPrefix, s); d->m_typingSettings.toSettings(d->m_settingsPrefix, s);
emit TextEditorSettings::instance()->typingSettingsChanged(newTypingSettings); emit TextEditorSettings::instance()->typingSettingsChanged(newTypingSettings);
@@ -165,7 +165,6 @@ void BehaviorSettingsPage::apply()
if (newStorageSettings != d->m_storageSettings) { if (newStorageSettings != d->m_storageSettings) {
d->m_storageSettings = newStorageSettings; d->m_storageSettings = newStorageSettings;
if (s)
d->m_storageSettings.toSettings(d->m_settingsPrefix, s); d->m_storageSettings.toSettings(d->m_settingsPrefix, s);
emit TextEditorSettings::instance()->storageSettingsChanged(newStorageSettings); emit TextEditorSettings::instance()->storageSettingsChanged(newStorageSettings);
@@ -173,7 +172,6 @@ void BehaviorSettingsPage::apply()
if (newBehaviorSettings != d->m_behaviorSettings) { if (newBehaviorSettings != d->m_behaviorSettings) {
d->m_behaviorSettings = newBehaviorSettings; d->m_behaviorSettings = newBehaviorSettings;
if (s)
d->m_behaviorSettings.toSettings(d->m_settingsPrefix, s); d->m_behaviorSettings.toSettings(d->m_settingsPrefix, s);
emit TextEditorSettings::instance()->behaviorSettingsChanged(newBehaviorSettings); emit TextEditorSettings::instance()->behaviorSettingsChanged(newBehaviorSettings);
@@ -181,19 +179,16 @@ void BehaviorSettingsPage::apply()
if (newExtraEncodingSettings != d->m_extraEncodingSettings) { if (newExtraEncodingSettings != d->m_extraEncodingSettings) {
d->m_extraEncodingSettings = newExtraEncodingSettings; d->m_extraEncodingSettings = newExtraEncodingSettings;
if (s)
d->m_extraEncodingSettings.toSettings(d->m_settingsPrefix, s); d->m_extraEncodingSettings.toSettings(d->m_settingsPrefix, s);
emit TextEditorSettings::instance()->extraEncodingSettingsChanged(newExtraEncodingSettings); emit TextEditorSettings::instance()->extraEncodingSettingsChanged(newExtraEncodingSettings);
} }
if (s) {
s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULTTEXTENCODING), s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULTTEXTENCODING),
d->m_page->behaviorWidget->assignedCodecName()); d->m_page->behaviorWidget->assignedCodecName());
s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULT_LINE_TERMINATOR), s->setValue(QLatin1String(Core::Constants::SETTINGS_DEFAULT_LINE_TERMINATOR),
d->m_page->behaviorWidget->assignedLineEnding()); d->m_page->behaviorWidget->assignedLineEnding());
} }
}
void BehaviorSettingsPage::settingsFromUI(TypingSettings *typingSettings, void BehaviorSettingsPage::settingsFromUI(TypingSettings *typingSettings,
StorageSettings *storageSettings, StorageSettings *storageSettings,