Remove the need to create ISnippetProvider subclasses

Change-Id: I1810aaa945136d9726a66dad41377429a6adc8e1
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Eike Ziller
2017-04-24 15:52:04 +02:00
parent 46b7701398
commit 9443f7104b
49 changed files with 163 additions and 629 deletions

View File

@@ -27,6 +27,7 @@
#include "ui_nimcodestylepreferenceswidget.h"
#include "../nimconstants.h"
#include "../editor/nimeditorfactory.h"
#include <extensionsystem/pluginmanager.h>
#include <texteditor/displaysettings.h>
@@ -36,7 +37,7 @@
#include <texteditor/tabsettings.h>
#include <texteditor/textdocument.h>
#include <texteditor/texteditorsettings.h>
#include <texteditor/snippets/isnippetprovider.h>
#include <texteditor/snippets/snippetprovider.h>
using namespace TextEditor;
@@ -51,14 +52,6 @@ NimCodeStylePreferencesWidget::NimCodeStylePreferencesWidget(ICodeStylePreferenc
m_ui->tabPreferencesWidget->setPreferences(preferences);
m_ui->previewTextEdit->setPlainText(Nim::Constants::C_NIMCODESTYLEPREVIEWSNIPPET);
ISnippetProvider *provider = ExtensionSystem::PluginManager::getObject<ISnippetProvider>(
[](ISnippetProvider *provider) {
return provider->groupId() == Nim::Constants::C_NIMSNIPPETSGROUP_ID;
});
if (provider)
provider->decorateEditor(m_ui->previewTextEdit);
decorateEditor(TextEditorSettings::fontSettings());
connect(TextEditorSettings::instance(), &TextEditorSettings::fontSettingsChanged,
this, &NimCodeStylePreferencesWidget::decorateEditor);
@@ -79,14 +72,8 @@ NimCodeStylePreferencesWidget::~NimCodeStylePreferencesWidget()
void NimCodeStylePreferencesWidget::decorateEditor(const FontSettings &fontSettings)
{
const ISnippetProvider *provider = ExtensionSystem::PluginManager::getObject<ISnippetProvider>(
[](ISnippetProvider *current) {
return current->groupId() == Nim::Constants::C_NIMSNIPPETSGROUP_ID;
});
m_ui->previewTextEdit->textDocument()->setFontSettings(fontSettings);
if (provider)
provider->decorateEditor(m_ui->previewTextEdit);
NimEditorFactory::decorateEditor(m_ui->previewTextEdit);
}
void NimCodeStylePreferencesWidget::setVisualizeWhitespace(bool on)