Editors: Make snippets and code style honor font settings

Task-number: QTCREATORBUG-5007

Change-Id: Ied78ef17ea7a25d22c37d36fd4eb7257c6c9f4c0
Reviewed-on: http://codereview.qt.nokia.com/293
Reviewed-by: Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>
This commit is contained in:
Leandro Melo
2011-05-31 16:36:58 +02:00
committed by Leandro T. C. Melo
parent 7ccfe19deb
commit 61325aae0d
3 changed files with 42 additions and 15 deletions

View File

@@ -191,19 +191,10 @@ CppCodeStylePreferencesWidget::CppCodeStylePreferencesWidget(QWidget *parent)
m_previews[i]->setPlainText(defaultCodeStyleSnippets[i]);
}
const QList<ISnippetProvider *> &providers =
ExtensionSystem::PluginManager::instance()->getObjects<ISnippetProvider>();
foreach (ISnippetProvider *provider, providers) {
if (provider->groupId() == QLatin1String(CppEditor::Constants::CPP_SNIPPETS_GROUP_ID)) {
foreach (TextEditor::SnippetEditorWidget *preview, m_previews)
provider->decorateEditor(preview);
break;
}
}
TextEditor::TextEditorSettings *settings = TextEditorSettings::instance();
setFontSettings(settings->fontSettings());
decorateEditors(settings->fontSettings());
connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
this, SLOT(setFontSettings(TextEditor::FontSettings)));
this, SLOT(decorateEditors(TextEditor::FontSettings)));
setVisualizeWhitespace(true);
@@ -420,10 +411,23 @@ void CppCodeStylePreferencesWidget::updatePreview()
}
}
void CppCodeStylePreferencesWidget::setFontSettings(const TextEditor::FontSettings &fontSettings)
void CppCodeStylePreferencesWidget::decorateEditors(const TextEditor::FontSettings &fontSettings)
{
foreach (TextEditor::SnippetEditorWidget *editor, m_previews)
editor->setFont(fontSettings.font());
const ISnippetProvider *provider = 0;
const QList<ISnippetProvider *> &providers =
ExtensionSystem::PluginManager::instance()->getObjects<ISnippetProvider>();
foreach (const ISnippetProvider *current, providers) {
if (current->groupId() == QLatin1String(CppEditor::Constants::CPP_SNIPPETS_GROUP_ID)) {
provider = current;
break;
}
}
foreach (TextEditor::SnippetEditorWidget *editor, m_previews) {
editor->setFontSettings(fontSettings);
if (provider)
provider->decorateEditor(editor);
}
}
void CppCodeStylePreferencesWidget::setVisualizeWhitespace(bool on)