NimCodeStylePreferencesWidget::NimCodeStylePreferencesWidget(ICodeStylePreferences *preferences, QWidget *parent) : QWidget(parent) , m_preferences(preferences) , m_ui(new Ui::NimCodeStylePreferencesWidget()) { m_ui->setupUi(this); 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); connect(m_preferences, &ICodeStylePreferences::currentTabSettingsChanged, this, &NimCodeStylePreferencesWidget::updatePreview); setVisualizeWhitespace(true); updatePreview(); }
CodeStyleEditor::CodeStyleEditor(ICodeStylePreferencesFactory *factory, ICodeStylePreferences *codeStyle, QWidget *parent) : QWidget(parent), m_factory(factory), m_codeStyle(codeStyle) { m_layout = new QVBoxLayout(this); CodeStyleSelectorWidget *selector = new CodeStyleSelectorWidget(factory, this); selector->setCodeStyle(codeStyle); m_preview = new SnippetEditorWidget(this); TextEditor::TextEditorSettings *settings = TextEditorSettings::instance(); m_preview->setFontSettings(settings->fontSettings()); DisplaySettings displaySettings = m_preview->displaySettings(); displaySettings.m_visualizeWhitespace = true; m_preview->setDisplaySettings(displaySettings); ISnippetProvider *provider = factory->snippetProvider(); if (provider) provider->decorateEditor(m_preview); QLabel *label = new QLabel( tr("Edit preview contents to see how the current settings " "are applied to custom code snippets. Changes in the preview " "do not affect the current settings."), this); QFont font = label->font(); font.setItalic(true); label->setFont(font); label->setWordWrap(true); m_layout->addWidget(selector); m_layout->addWidget(m_preview); m_layout->addWidget(label); connect(codeStyle, SIGNAL(currentTabSettingsChanged(TextEditor::TabSettings)), this, SLOT(updatePreview())); connect(codeStyle, SIGNAL(currentValueChanged(QVariant)), this, SLOT(updatePreview())); connect(codeStyle, SIGNAL(currentPreferencesChanged(TextEditor::ICodeStylePreferences*)), this, SLOT(updatePreview())); m_preview->setCodeStyle(m_codeStyle); m_preview->setPlainText(factory->previewText()); updatePreview(); }
QmlJSCodeStylePreferencesWidget::QmlJSCodeStylePreferencesWidget(QWidget *parent) : QWidget(parent), m_preferences(0), m_ui(new Ui::QmlJSCodeStyleSettingsPage) { m_ui->setupUi(this); ISnippetProvider *provider = ExtensionSystem::PluginManager::getObject<ISnippetProvider>( [](ISnippetProvider *provider) { return provider->groupId() == QLatin1String(QmlJSEditor::Constants::QML_SNIPPETS_GROUP_ID); }); if (provider) provider->decorateEditor(m_ui->previewTextEdit); decorateEditor(TextEditorSettings::fontSettings()); connect(TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)), this, SLOT(decorateEditor(TextEditor::FontSettings))); setVisualizeWhitespace(true); updatePreview(); }