TextEditor: Centralize settings connections setup

All editors did that manually, with varying approaches. Connect once
when the document is made known to the EditorWidget instead.

Change-Id: Ib0828b08158539859f6f89c8080435a027aa06ed
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
This commit is contained in:
hjk
2014-08-19 12:12:45 +02:00
parent b25c575b22
commit cb35594800
30 changed files with 73 additions and 144 deletions

View File

@@ -329,48 +329,6 @@ TextEditorSettings *TextEditorSettings::instance()
return m_instance;
}
/**
* Initializes editor settings. Also connects signals to keep them up to date
* when they are changed.
*/
void TextEditorSettings::initializeEditor(BaseTextEditorWidget *editor)
{
// Connect to settings change signals
connect(m_instance, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
editor->textDocument(), SLOT(setFontSettings(TextEditor::FontSettings)));
connect(m_instance, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
editor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
connect(m_instance, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
editor, SLOT(setStorageSettings(TextEditor::StorageSettings)));
connect(m_instance, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
editor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
connect(m_instance, SIGNAL(marginSettingsChanged(TextEditor::MarginSettings)),
editor, SLOT(setMarginSettings(TextEditor::MarginSettings)));
connect(m_instance, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
editor, SLOT(setDisplaySettings(TextEditor::DisplaySettings)));
connect(m_instance, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)),
editor, SLOT(setCompletionSettings(TextEditor::CompletionSettings)));
connect(m_instance, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
editor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
connect(editor, SIGNAL(requestFontZoom(int)),
m_instance, SLOT(fontZoomRequested(int)));
connect(editor, SIGNAL(requestZoomReset()),
m_instance, SLOT(zoomResetRequested()));
// Apply current settings
editor->textDocument()->setFontSettings(fontSettings());
editor->textDocument()->setTabSettings(codeStyle()->tabSettings()); // also set through code style ???
editor->setTypingSettings(typingSettings());
editor->setStorageSettings(storageSettings());
editor->setBehaviorSettings(behaviorSettings());
editor->setMarginSettings(marginSettings());
editor->setDisplaySettings(displaySettings());
editor->setCompletionSettings(completionSettings());
editor->setExtraEncodingSettings(extraEncodingSettings());
editor->setCodeStyle(codeStyle(editor->languageSettingsId()));
}
const FontSettings &TextEditorSettings::fontSettings()
{
return d->m_fontSettingsPage->fontSettings();