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);
}
}
-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)
#include "ui_snippetssettingspage.h"
#include <coreplugin/icore.h>
+#include <texteditor/texteditorsettings.h>
+#include <texteditor/fontsettings.h>
#include <extensionsystem/pluginmanager.h>
#include <QtCore/QModelIndex>
void selectMovedSnippet(const QModelIndex &, int, int, const QModelIndex &, int row);
void setSnippetContent();
void updateCurrentSnippetDependent(const QModelIndex &modelIndex = QModelIndex());
+ void decorateEditors(const TextEditor::FontSettings &fontSettings);
private:
SnippetEditorWidget *currentEditor() const;
foreach (ISnippetProvider *provider, providers) {
m_ui.groupCombo->addItem(provider->displayName(), provider->groupId());
SnippetEditorWidget *snippetEditor = new SnippetEditorWidget(w);
+ snippetEditor->setFontSettings(TextEditorSettings::instance()->fontSettings());
provider->decorateEditor(snippetEditor);
m_ui.snippetsEditorStack->insertWidget(m_ui.groupCombo->count() - 1, snippetEditor);
connect(snippetEditor, SIGNAL(snippetContentChanged()), this, SLOT(setSnippetContent()));
connect(m_ui.revertButton, SIGNAL(clicked()), this, SLOT(revertBuiltInSnippet()));
connect(m_ui.snippetsTable->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
this, SLOT(updateCurrentSnippetDependent(QModelIndex)));
+
+ connect(TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
+ this, SLOT(decorateEditors(TextEditor::FontSettings)));
}
void SnippetsSettingsPagePrivate::apply()
}
}
+void SnippetsSettingsPagePrivate::decorateEditors(const TextEditor::FontSettings &fontSettings)
+{
+ const QList<ISnippetProvider *> &providers =
+ ExtensionSystem::PluginManager::instance()->getObjects<ISnippetProvider>();
+ for (int i = 0; i < m_ui.groupCombo->count(); ++i) {
+ SnippetEditorWidget *snippetEditor = editorAt(i);
+ snippetEditor->setFontSettings(fontSettings);
+ const QString &id = m_ui.groupCombo->itemData(i).toString();
+ // This list should be quite short... Re-iterating over it is ok.
+ foreach (const ISnippetProvider *provider, providers) {
+ if (provider->groupId() == id)
+ provider->decorateEditor(snippetEditor);
+ }
+ }
+}
+
// SnippetsSettingsPage
SnippetsSettingsPage::SnippetsSettingsPage(const QString &id, QObject *parent) :
TextEditorOptionsPage(parent),