Apply static pattern to TextEditorSetting

Change-Id: I4e6f573d893c0aa2bb4ca9812fc8db2961dac172
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
hjk
2013-09-19 17:59:27 +02:00
parent bd10688a62
commit ca15d0aa95
49 changed files with 262 additions and 299 deletions

View File

@@ -52,6 +52,6 @@ AndroidManifestEditorFactory::AndroidManifestEditorFactory(QObject *parent)
Core::IEditor *AndroidManifestEditorFactory::createEditor(QWidget *parent)
{
AndroidManifestEditorWidget *editor = new AndroidManifestEditorWidget(parent, m_actionHandler);
TextEditor::TextEditorSettings::instance()->initializeEditor(editor);
TextEditor::TextEditorSettings::initializeEditor(editor);
return editor->editor();
}

View File

@@ -49,8 +49,7 @@ namespace Internal {
// Retrieve the comment char format from the text editor.
static QTextCharFormat commentFormat()
{
const TextEditor::FontSettings settings = TextEditor::TextEditorSettings::instance()->fontSettings();
return settings.toTextCharFormat(TextEditor::C_COMMENT);
return TextEditor::TextEditorSettings::fontSettings().toTextCharFormat(TextEditor::C_COMMENT);
}
// Highlighter for Bazaar submit messages. Make the first line bold, indicates

View File

@@ -109,9 +109,9 @@ BinEditorWidget::BinEditorWidget(QWidget *parent)
setFrameStyle(QFrame::Plain);
// Font settings
TextEditor::TextEditorSettings *settings = TextEditor::TextEditorSettings::instance();
setFontSettings(settings->fontSettings());
connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
setFontSettings(TextEditor::TextEditorSettings::fontSettings());
connect(TextEditor::TextEditorSettings::instance(),
SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
this, SLOT(setFontSettings(TextEditor::FontSettings)));
}

View File

@@ -70,7 +70,7 @@ Core::IEditor *CMakeEditor::duplicate(QWidget *parent)
CMakeEditorWidget *w = qobject_cast<CMakeEditorWidget*>(widget());
CMakeEditorWidget *ret = new CMakeEditorWidget(parent, w->factory(), w->actionHandler());
ret->duplicateFrom(w);
TextEditor::TextEditorSettings::instance()->initializeEditor(ret);
TextEditor::TextEditorSettings::initializeEditor(ret);
return ret->editor();
}

View File

@@ -73,6 +73,6 @@ CMakeEditorFactory::CMakeEditorFactory(CMakeManager *manager)
Core::IEditor *CMakeEditorFactory::createEditor(QWidget *parent)
{
CMakeEditorWidget *rc = new CMakeEditorWidget(parent, this, m_actionHandler);
TextEditor::TextEditorSettings::instance()->initializeEditor(rc);
TextEditor::TextEditorSettings::initializeEditor(rc);
return rc->editor();
}

View File

@@ -124,7 +124,7 @@ void CppEditorPlugin::initializeEditor(CPPEditorWidget *editor)
m_actionHandler->setupActions(editor);
editor->setLanguageSettingsId(CppTools::Constants::CPP_SETTINGS_ID);
TextEditor::TextEditorSettings::instance()->initializeEditor(editor);
TextEditor::TextEditorSettings::initializeEditor(editor);
// method combo box sorting
connect(this, SIGNAL(outlineSortingChanged(bool)),

View File

@@ -4410,8 +4410,7 @@ public:
m_factory->classFunctionModel->clear();
Overview printer = CppCodeStyleSettings::currentProjectCodeStyleOverview();
printer.showFunctionSignatures = true;
const TextEditor::FontSettings &fs =
TextEditor::TextEditorSettings::instance()->fontSettings();
const TextEditor::FontSettings &fs = TextEditor::TextEditorSettings::fontSettings();
const Format formatReimpFunc = fs.formatFor(C_DISABLED_CODE);
foreach (const Class *clazz, baseClasses) {
QStandardItem *itemBase = new QStandardItem(printer.prettyName(clazz->name()));

View File

@@ -63,7 +63,7 @@ QWidget *CompletionSettingsPage::createPage(QWidget *parent)
m_page->setupUi(w);
const TextEditor::CompletionSettings &settings =
TextEditor::TextEditorSettings::instance()->completionSettings();
TextEditor::TextEditorSettings::completionSettings();
int caseSensitivityIndex = 0;
switch (settings.m_caseSensitivity) {
@@ -131,7 +131,7 @@ void CompletionSettingsPage::apply()
settings.m_partiallyComplete = m_page->partiallyComplete->isChecked();
settings.m_spaceAfterFunctionName = m_page->spaceAfterFunctionName->isChecked();
TextEditor::TextEditorSettings::instance()->setCompletionSettings(settings);
TextEditor::TextEditorSettings::setCompletionSettings(settings);
if (!requireCommentsSettingsUpdate())
return;

View File

@@ -275,9 +275,8 @@ CppCodeStylePreferencesWidget::CppCodeStylePreferencesWidget(QWidget *parent)
for (int i = 0; i < m_previews.size(); ++i)
m_previews[i]->setPlainText(QLatin1String(defaultCodeStyleSnippets[i]));
TextEditor::TextEditorSettings *textEditorSettings = TextEditorSettings::instance();
decorateEditors(textEditorSettings->fontSettings());
connect(textEditorSettings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
decorateEditors(TextEditorSettings::fontSettings());
connect(TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
this, SLOT(decorateEditors(TextEditor::FontSettings)));
setVisualizeWhitespace(true);
@@ -575,8 +574,7 @@ QWidget *CppCodeStyleSettingsPage::createPage(QWidget *parent)
m_pageCppCodeStylePreferences->setCurrentDelegate(originalCodeStylePreferences->currentDelegate());
// we set id so that it won't be possible to set delegate to the original prefs
m_pageCppCodeStylePreferences->setId(originalCodeStylePreferences->id());
TextEditorSettings *settings = TextEditorSettings::instance();
m_widget = new CodeStyleEditor(settings->codeStyleFactory(CppTools::Constants::CPP_SETTINGS_ID),
m_widget = new CodeStyleEditor(TextEditorSettings::codeStyleFactory(CppTools::Constants::CPP_SETTINGS_ID),
m_pageCppCodeStylePreferences, parent);
return m_widget;

View File

@@ -210,8 +210,7 @@ void CppAssistProposalItem::applyContextualContent(TextEditor::BaseTextEditor *e
} else {
toInsert = text();
const CompletionSettings &completionSettings =
TextEditorSettings::instance()->completionSettings();
const CompletionSettings &completionSettings = TextEditorSettings::completionSettings();
const bool autoInsertBrackets = completionSettings.m_autoInsertBrackets;
if (autoInsertBrackets && symbol && symbol->type()) {

View File

@@ -50,7 +50,7 @@ static const char idKey[] = "CppGlobal";
using namespace CppTools;
using namespace CppTools::Internal;
using TextEditor::TabSettings;
using namespace TextEditor;
namespace CppTools {
namespace Internal {
@@ -89,15 +89,13 @@ CppToolsSettings::CppToolsSettings(QObject *parent)
this,
SIGNAL(commentsSettingsChanged(CppTools::CommentsSettings)));
TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
// code style factory
TextEditor::ICodeStylePreferencesFactory *factory = new CppTools::CppCodeStylePreferencesFactory();
textEditorSettings->registerCodeStyleFactory(factory);
ICodeStylePreferencesFactory *factory = new CppTools::CppCodeStylePreferencesFactory();
TextEditorSettings::registerCodeStyleFactory(factory);
// code style pool
TextEditor::CodeStylePool *pool = new TextEditor::CodeStylePool(factory, this);
textEditorSettings->registerCodeStylePool(Constants::CPP_SETTINGS_ID, pool);
CodeStylePool *pool = new CodeStylePool(factory, this);
TextEditorSettings::registerCodeStylePool(Constants::CPP_SETTINGS_ID, pool);
// global code style settings
d->m_globalCodeStyle = new CppCodeStylePreferences(this);
@@ -105,7 +103,7 @@ CppToolsSettings::CppToolsSettings(QObject *parent)
d->m_globalCodeStyle->setDisplayName(tr("Global", "Settings"));
d->m_globalCodeStyle->setId(QLatin1String(idKey));
pool->addCodeStyle(d->m_globalCodeStyle);
textEditorSettings->registerCodeStyle(CppTools::Constants::CPP_SETTINGS_ID, d->m_globalCodeStyle);
TextEditorSettings::registerCodeStyle(CppTools::Constants::CPP_SETTINGS_ID, d->m_globalCodeStyle);
/*
For every language we have exactly 1 pool. The pool contains:
@@ -203,7 +201,7 @@ CppToolsSettings::CppToolsSettings(QObject *parent)
QString(), s, &legacyTabSettings);
} else {
// delegating to global
legacyTabSettings = textEditorSettings->codeStyle()->currentTabSettings();
legacyTabSettings = TextEditorSettings::codeStyle()->currentTabSettings();
}
// create custom code style out of old settings
@@ -224,16 +222,16 @@ CppToolsSettings::CppToolsSettings(QObject *parent)
// mimetypes to be handled
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::C_SOURCE_MIMETYPE),
Constants::CPP_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::C_HEADER_MIMETYPE),
Constants::CPP_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::CPP_SOURCE_MIMETYPE),
Constants::CPP_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::CPP_HEADER_MIMETYPE),
Constants::CPP_SETTINGS_ID);
}
@@ -242,10 +240,9 @@ CppToolsSettings::~CppToolsSettings()
{
ExtensionSystem::PluginManager::removeObject(d->m_completionSettingsPage);
TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
textEditorSettings->unregisterCodeStyle(Constants::CPP_SETTINGS_ID);
textEditorSettings->unregisterCodeStylePool(Constants::CPP_SETTINGS_ID);
textEditorSettings->unregisterCodeStyleFactory(Constants::CPP_SETTINGS_ID);
TextEditorSettings::unregisterCodeStyle(Constants::CPP_SETTINGS_ID);
TextEditorSettings::unregisterCodeStylePool(Constants::CPP_SETTINGS_ID);
TextEditorSettings::unregisterCodeStyleFactory(Constants::CPP_SETTINGS_ID);
delete d;

View File

@@ -701,7 +701,7 @@ EditorData FormEditorW::createEditor(QWidget *parent)
#endif
data.widgetHost = new SharedTools::WidgetHost( /* parent */ 0, form);
DesignerXmlEditorWidget *xmlEditor = new DesignerXmlEditorWidget(form, parent);
TextEditor::TextEditorSettings::instance()->initializeEditor(xmlEditor);
TextEditor::TextEditorSettings::initializeEditor(xmlEditor);
data.formWindowEditor = xmlEditor->designerEditor();
connect(data.widgetHost, SIGNAL(formWindowSizeChanged(int,int)),
xmlEditor, SIGNAL(changed()));

View File

@@ -722,30 +722,31 @@ DiffEditorWidget::DiffEditorWidget(QWidget *parent)
m_syncScrollBars(true),
m_foldingBlocker(false)
{
TextEditor::TextEditorSettings *settings = TextEditorSettings::instance();
m_leftEditor = new DiffViewEditorWidget(this);
m_leftEditor->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
m_leftEditor->setReadOnly(true);
connect(settings, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
connect(TextEditorSettings::instance(),
SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
m_leftEditor, SLOT(setDisplaySettings(TextEditor::DisplaySettings)));
m_leftEditor->setDisplaySettings(settings->displaySettings());
m_leftEditor->setCodeStyle(settings->codeStyle());
m_leftEditor->setDisplaySettings(TextEditorSettings::displaySettings());
m_leftEditor->setCodeStyle(TextEditorSettings::codeStyle());
connect(m_leftEditor, SIGNAL(jumpToOriginalFileRequested(int,int,int)),
this, SLOT(slotLeftJumpToOriginalFileRequested(int,int,int)));
m_rightEditor = new DiffViewEditorWidget(this);
m_rightEditor->setReadOnly(true);
connect(settings, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
connect(TextEditorSettings::instance(),
SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
m_rightEditor, SLOT(setDisplaySettings(TextEditor::DisplaySettings)));
m_rightEditor->setDisplaySettings(settings->displaySettings());
m_rightEditor->setCodeStyle(settings->codeStyle());
m_rightEditor->setDisplaySettings(TextEditorSettings::displaySettings());
m_rightEditor->setCodeStyle(TextEditorSettings::codeStyle());
connect(m_rightEditor, SIGNAL(jumpToOriginalFileRequested(int,int,int)),
this, SLOT(slotRightJumpToOriginalFileRequested(int,int,int)));
connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
connect(TextEditorSettings::instance(),
SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
this, SLOT(setFontSettings(TextEditor::FontSettings)));
setFontSettings(settings->fontSettings());
setFontSettings(TextEditorSettings::fontSettings());
connect(m_leftEditor->verticalScrollBar(), SIGNAL(valueChanged(int)),
this, SLOT(leftVSliderChanged()));

View File

@@ -118,14 +118,13 @@ DiffShowEditor::DiffShowEditor(DiffEditorWidget *editorWidget)
splitter->addWidget(editorWidget);
setWidget(splitter);
TextEditorSettings *settings = TextEditorSettings::instance();
connect(settings, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
connect(TextEditorSettings::instance(), SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
m_diffShowWidget, SLOT(setDisplaySettings(TextEditor::DisplaySettings)));
connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
connect(TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
m_diffShowWidget, SLOT(setFontSettings(TextEditor::FontSettings)));
m_diffShowWidget->setDisplaySettings(settings->displaySettings());
m_diffShowWidget->setCodeStyle(settings->codeStyle());
m_diffShowWidget->setFontSettings(settings->fontSettings());
m_diffShowWidget->setDisplaySettings(TextEditorSettings::displaySettings());
m_diffShowWidget->setCodeStyle(TextEditorSettings::codeStyle());
m_diffShowWidget->setFontSettings(TextEditorSettings::fontSettings());
}
DiffShowEditor::~DiffShowEditor()

View File

@@ -359,8 +359,8 @@ QWidget *FakeVimOptionPage::createPage(QWidget *parent)
void FakeVimOptionPage::copyTextEditorSettings()
{
TabSettings ts = TextEditorSettings::instance()->codeStyle()->tabSettings();
TypingSettings tps = TextEditorSettings::instance()->typingSettings();
TabSettings ts = TextEditorSettings::codeStyle()->tabSettings();
TypingSettings tps = TextEditorSettings::typingSettings();
m_ui.checkBoxExpandTab->setChecked(ts.m_tabPolicy != TabSettings::TabsOnlyTabPolicy);
m_ui.spinBoxTabStop->setValue(ts.m_tabSize);
m_ui.spinBoxShiftWidth->setValue(ts.m_indentSize);

View File

@@ -64,7 +64,7 @@ ProjectFilesFactory::ProjectFilesFactory(Manager *manager, TextEditorActionHandl
Core::IEditor *ProjectFilesFactory::createEditor(QWidget *parent)
{
ProjectFilesEditorWidget *ed = new ProjectFilesEditorWidget(parent, this, m_actionHandler);
TextEditorSettings::instance()->initializeEditor(ed);
TextEditorSettings::initializeEditor(ed);
return ed->editor();
}
@@ -96,7 +96,7 @@ Core::IEditor *ProjectFilesEditor::duplicate(QWidget *parent)
ProjectFilesEditorWidget *editor = new ProjectFilesEditorWidget(parent,
parentEditor->factory(),
parentEditor->actionHandler());
TextEditorSettings::instance()->initializeEditor(editor);
TextEditorSettings::initializeEditor(editor);
return editor->editor();
}

View File

@@ -239,7 +239,7 @@ void GLSLEditorPlugin::initializeEditor(GLSLTextEditorWidget *editor)
{
QTC_CHECK(m_instance);
dd->m_actionHandler->setupActions(editor);
TextEditorSettings::instance()->initializeEditor(editor);
TextEditorSettings::initializeEditor(editor);
}
static QByteArray glslFile(const QString &fileName)

View File

@@ -50,8 +50,7 @@ namespace Internal {
// Retrieve the comment char format from the text editor.
static QTextCharFormat commentFormat()
{
const TextEditor::FontSettings settings = TextEditor::TextEditorSettings::instance()->fontSettings();
return settings.toTextCharFormat(TextEditor::C_COMMENT);
return TextEditor::TextEditorSettings::fontSettings().toTextCharFormat(TextEditor::C_COMMENT);
}
// Highlighter for Mercurial submit messages. Make the first line bold, indicates

View File

@@ -301,7 +301,7 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
this, SLOT(appendMessage(ProjectExplorer::RunControl*,QString,Utils::OutputFormat)));
Utils::OutputFormatter *formatter = rc->outputFormatter();
formatter->setFont(TextEditor::TextEditorSettings::instance()->fontSettings().font());
formatter->setFont(TextEditor::TextEditorSettings::fontSettings().font());
// First look if we can reuse a tab
const int size = m_runControlTabs.size();

View File

@@ -75,7 +75,7 @@ CodeStyleSettingsWidget::CodeStyleSettingsWidget(Project *project) : QWidget(),
const EditorConfiguration *config = m_project->editorConfiguration();
QMap<Core::Id, ICodeStylePreferencesFactory *> factories
= TextEditor::TextEditorSettings::instance()->codeStyleFactories();
= TextEditor::TextEditorSettings::codeStyleFactories();
QMapIterator<Core::Id, ICodeStylePreferencesFactory *> it(factories);
while (it.hasNext()) {
it.next();

View File

@@ -82,7 +82,7 @@ public:
private slots:
void fontSettingsChanged()
{
setFont(TextEditor::TextEditorSettings::instance()->fontSettings().font());
setFont(TextEditor::TextEditorSettings::fontSettings().font());
}
protected:

View File

@@ -63,10 +63,10 @@ struct EditorConfigurationPrivate
{
EditorConfigurationPrivate()
: m_useGlobal(true)
, m_typingSettings(TextEditorSettings::instance()->typingSettings())
, m_storageSettings(TextEditorSettings::instance()->storageSettings())
, m_behaviorSettings(TextEditorSettings::instance()->behaviorSettings())
, m_extraEncodingSettings(TextEditorSettings::instance()->extraEncodingSettings())
, m_typingSettings(TextEditorSettings::typingSettings())
, m_storageSettings(TextEditorSettings::storageSettings())
, m_behaviorSettings(TextEditorSettings::behaviorSettings())
, m_extraEncodingSettings(TextEditorSettings::extraEncodingSettings())
, m_textCodec(Core::EditorManager::defaultTextCodec())
{
}
@@ -84,17 +84,15 @@ struct EditorConfigurationPrivate
EditorConfiguration::EditorConfiguration() : d(new EditorConfigurationPrivate)
{
TextEditorSettings *textEditorSettings = TextEditorSettings::instance();
const QMap<Core::Id, ICodeStylePreferences *> languageCodeStylePreferences = textEditorSettings->codeStyles();
const QMap<Core::Id, ICodeStylePreferences *> languageCodeStylePreferences = TextEditorSettings::codeStyles();
QMapIterator<Core::Id, ICodeStylePreferences *> itCodeStyle(languageCodeStylePreferences);
while (itCodeStyle.hasNext()) {
itCodeStyle.next();
Core::Id languageId = itCodeStyle.key();
ICodeStylePreferences *originalPreferences = itCodeStyle.value();
ICodeStylePreferencesFactory *factory = textEditorSettings->codeStyleFactory(languageId);
ICodeStylePreferencesFactory *factory = TextEditorSettings::codeStyleFactory(languageId);
ICodeStylePreferences *preferences = factory->createCodeStyle();
preferences->setDelegatingPool(textEditorSettings->codeStylePool(languageId));
preferences->setDelegatingPool(TextEditorSettings::codeStylePool(languageId));
preferences->setId(languageId.toString() + QLatin1String("Project"));
preferences->setDisplayName(tr("Project %1", "Settings, %1 is a language (C++ or QML)").arg(factory->displayName()));
preferences->setCurrentDelegate(originalPreferences);
@@ -102,11 +100,10 @@ EditorConfiguration::EditorConfiguration() : d(new EditorConfigurationPrivate)
}
d->m_defaultCodeStyle = new SimpleCodeStylePreferences(this);
d->m_defaultCodeStyle->setDelegatingPool(textEditorSettings->codeStylePool());
d->m_defaultCodeStyle->setDelegatingPool(TextEditorSettings::codeStylePool());
d->m_defaultCodeStyle->setDisplayName(tr("Project", "Settings"));
d->m_defaultCodeStyle->setId(kId);
d->m_defaultCodeStyle->setCurrentDelegate(d->m_useGlobal
? TextEditorSettings::instance()->codeStyle() : 0);
d->m_defaultCodeStyle->setCurrentDelegate(d->m_useGlobal ? TextEditorSettings::codeStyle() : 0);
}
EditorConfiguration::~EditorConfiguration()
@@ -122,13 +119,11 @@ bool EditorConfiguration::useGlobalSettings() const
void EditorConfiguration::cloneGlobalSettings()
{
TextEditorSettings *textEditorSettings = TextEditorSettings::instance();
d->m_defaultCodeStyle->setTabSettings(textEditorSettings->codeStyle()->tabSettings());
setTypingSettings(textEditorSettings->typingSettings());
setStorageSettings(textEditorSettings->storageSettings());
setBehaviorSettings(textEditorSettings->behaviorSettings());
setExtraEncodingSettings(textEditorSettings->extraEncodingSettings());
d->m_defaultCodeStyle->setTabSettings(TextEditorSettings::codeStyle()->tabSettings());
setTypingSettings(TextEditorSettings::typingSettings());
setStorageSettings(TextEditorSettings::storageSettings());
setBehaviorSettings(TextEditorSettings::behaviorSettings());
setExtraEncodingSettings(TextEditorSettings::extraEncodingSettings());
d->m_textCodec = Core::EditorManager::defaultTextCodec();
}
@@ -247,7 +242,7 @@ void EditorConfiguration::setUseGlobalSettings(bool use)
{
d->m_useGlobal = use;
d->m_defaultCodeStyle->setCurrentDelegate(d->m_useGlobal
? TextEditorSettings::instance()->codeStyle() : 0);
? TextEditorSettings::codeStyle() : 0);
QList<Core::IEditor *> opened = Core::EditorManager::documentModel()->editorsForDocuments(
Core::EditorManager::documentModel()->openedDocuments());
foreach (Core::IEditor *editor, opened) {
@@ -259,41 +254,43 @@ void EditorConfiguration::setUseGlobalSettings(bool use)
}
}
void EditorConfiguration::switchSettings(BaseTextEditorWidget *baseTextEditor) const
static void switchSettings_helper(const QObject *newSender, const QObject *oldSender,
BaseTextEditorWidget *baseTextEditor)
{
if (d->m_useGlobal)
switchSettings_helper(TextEditorSettings::instance(), this, baseTextEditor);
else
switchSettings_helper(this, TextEditorSettings::instance(), baseTextEditor);
QObject::disconnect(oldSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
baseTextEditor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
QObject::disconnect(oldSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
baseTextEditor, SLOT(setStorageSettings(TextEditor::StorageSettings)));
QObject::disconnect(oldSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
baseTextEditor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
QObject::disconnect(oldSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
baseTextEditor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
QObject::connect(newSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
baseTextEditor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
QObject::connect(newSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
baseTextEditor, SLOT(setStorageSettings(TextEditor::StorageSettings)));
QObject::connect(newSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
baseTextEditor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
QObject::connect(newSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
baseTextEditor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
}
template <class NewSenderT, class OldSenderT>
void EditorConfiguration::switchSettings_helper(const NewSenderT *newSender,
const OldSenderT *oldSender,
BaseTextEditorWidget *baseTextEditor) const
void EditorConfiguration::switchSettings(BaseTextEditorWidget *baseTextEditor) const
{
baseTextEditor->setTypingSettings(newSender->typingSettings());
baseTextEditor->setStorageSettings(newSender->storageSettings());
baseTextEditor->setBehaviorSettings(newSender->behaviorSettings());
baseTextEditor->setExtraEncodingSettings(newSender->extraEncodingSettings());
disconnect(oldSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
baseTextEditor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
disconnect(oldSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
baseTextEditor, SLOT(setStorageSettings(TextEditor::StorageSettings)));
disconnect(oldSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
baseTextEditor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
disconnect(oldSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
baseTextEditor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
connect(newSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
baseTextEditor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
connect(newSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
baseTextEditor, SLOT(setStorageSettings(TextEditor::StorageSettings)));
connect(newSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
baseTextEditor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
connect(newSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
baseTextEditor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
if (d->m_useGlobal) {
baseTextEditor->setTypingSettings(TextEditorSettings::typingSettings());
baseTextEditor->setStorageSettings(TextEditorSettings::storageSettings());
baseTextEditor->setBehaviorSettings(TextEditorSettings::behaviorSettings());
baseTextEditor->setExtraEncodingSettings(TextEditorSettings::extraEncodingSettings());
switchSettings_helper(TextEditorSettings::instance(), this, baseTextEditor);
} else {
baseTextEditor->setTypingSettings(typingSettings());
baseTextEditor->setStorageSettings(storageSettings());
baseTextEditor->setBehaviorSettings(behaviorSettings());
baseTextEditor->setExtraEncodingSettings(extraEncodingSettings());
switchSettings_helper(this, TextEditorSettings::instance(), baseTextEditor);
}
}
void EditorConfiguration::setTypingSettings(const TextEditor::TypingSettings &settings)
@@ -331,7 +328,7 @@ TabSettings actualTabSettings(const QString &fileName, const BaseTextEditorWidge
return baseTextEditor->tabSettings();
if (Project *project = SessionManager::projectForFile(fileName))
return project->editorConfiguration()->codeStyle()->tabSettings();
return TextEditorSettings::instance()->codeStyle()->tabSettings();
return TextEditorSettings::codeStyle()->tabSettings();
}
} // ProjectExplorer

View File

@@ -98,10 +98,6 @@ private slots:
private:
void switchSettings(TextEditor::BaseTextEditorWidget *baseTextEditor) const;
template <class NewSenderT, class OldSenderT>
void switchSettings_helper(const NewSenderT *newSender,
const OldSenderT *oldSender,
TextEditor::BaseTextEditorWidget *baseTextEditor) const;
EditorConfigurationPrivate *d;
};

View File

@@ -71,8 +71,7 @@ EnvironmentItemsWidget::EnvironmentItemsWidget(QWidget *parent) :
QWidget(parent), d(new EnvironmentItemsWidgetPrivate)
{
d->m_editor = new TextEditor::SnippetEditorWidget(this);
TextEditor::TextEditorSettings *settings = TextEditor::TextEditorSettings::instance();
d->m_editor->setFontSettings(settings->fontSettings());
d->m_editor->setFontSettings(TextEditor::TextEditorSettings::fontSettings());
QVBoxLayout *layout = new QVBoxLayout(this);
layout->addWidget(d->m_editor);
}

View File

@@ -538,7 +538,7 @@ static TextEditor::ICodeStylePreferences *codeStylePreferences(ProjectExplorer::
if (project)
return project->editorConfiguration()->codeStyle(languageId);
return TextEditor::TextEditorSettings::instance()->codeStyle(languageId);
return TextEditor::TextEditorSettings::codeStyle(languageId);
}
void ProjectFileWizardExtension::applyCodeStyle(Core::GeneratedFile *file) const
@@ -547,7 +547,7 @@ void ProjectFileWizardExtension::applyCodeStyle(Core::GeneratedFile *file) const
return; // nothing to do
Core::MimeType mt = Core::MimeDatabase::findByFile(QFileInfo(file->path()));
Core::Id languageId = TextEditor::TextEditorSettings::instance()->languageId(mt.type());
Core::Id languageId = TextEditor::TextEditorSettings::languageId(mt.type());
if (!languageId.isValid())
return; // don't modify files like *.ui *.pro
@@ -560,7 +560,7 @@ void ProjectFileWizardExtension::applyCodeStyle(Core::GeneratedFile *file) const
Project *baseProject = SessionManager::projectForNode(project);
TextEditor::ICodeStylePreferencesFactory *factory
= TextEditor::TextEditorSettings::instance()->codeStyleFactory(languageId);
= TextEditor::TextEditorSettings::codeStyleFactory(languageId);
TextEditor::Indenter *indenter = 0;
if (factory)
@@ -575,7 +575,7 @@ void ProjectFileWizardExtension::applyCodeStyle(Core::GeneratedFile *file) const
cursor.select(QTextCursor::Document);
indenter->indent(&doc, cursor, QChar::Null, codeStylePrefs->currentTabSettings());
delete indenter;
if (TextEditor::TextEditorSettings::instance()->storageSettings().m_cleanWhitespace) {
if (TextEditor::TextEditorSettings::storageSettings().m_cleanWhitespace) {
QTextBlock block = doc.firstBlock();
while (block.isValid()) {
codeStylePrefs->currentTabSettings().removeTrailingWhitespace(cursor, block);

View File

@@ -250,7 +250,7 @@ void PythonEditorPlugin::extensionsInitialized()
void PythonEditorPlugin::initializeEditor(EditorWidget *widget)
{
instance()->m_actionHandler->setupActions(widget);
TextEditor::TextEditorSettings::instance()->initializeEditor(widget);
TextEditor::TextEditorSettings::initializeEditor(widget);
}
QSet<QString> PythonEditorPlugin::keywords()

View File

@@ -364,9 +364,8 @@ void QmlJSAssistProposalItem::applyContextualContent(TextEditor::BaseTextEditor
QString content = text();
int cursorOffset = 0;
const CompletionSettings &completionSettings =
TextEditorSettings::instance()->completionSettings();
const bool autoInsertBrackets = completionSettings.m_autoInsertBrackets;
const bool autoInsertBrackets =
TextEditorSettings::completionSettings().m_autoInsertBrackets;
if (autoInsertBrackets && data().canConvert<CompleteFunctionCall>()) {
CompleteFunctionCall function = data().value<CompleteFunctionCall>();

View File

@@ -266,7 +266,7 @@ void QmlJSEditorPlugin::initializeEditor(QmlJSTextEditorWidget *editor)
m_actionHandler->setupActions(editor);
editor->setLanguageSettingsId(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
TextEditor::TextEditorSettings::instance()->initializeEditor(editor);
TextEditor::TextEditorSettings::initializeEditor(editor);
}
Utils::JsonSchemaManager *QmlJSEditorPlugin::jsonManager() const

View File

@@ -70,9 +70,8 @@ QmlJSCodeStylePreferencesWidget::QmlJSCodeStylePreferencesWidget(QWidget *parent
}
}
TextEditor::TextEditorSettings *textEditorSettings = TextEditorSettings::instance();
decorateEditor(textEditorSettings->fontSettings());
connect(textEditorSettings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
decorateEditor(TextEditorSettings::fontSettings());
connect(TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
this, SLOT(decorateEditor(TextEditor::FontSettings)));
setVisualizeWhitespace(true);
@@ -142,7 +141,7 @@ void QmlJSCodeStylePreferencesWidget::updatePreview()
const TextEditor::TabSettings &ts = m_preferences
? m_preferences->currentTabSettings()
: TextEditorSettings::instance()->codeStyle()->tabSettings();
: TextEditorSettings::codeStyle()->tabSettings();
m_ui->previewTextEdit->setTabSettings(ts);
CreatorCodeFormatter formatter(ts);
formatter.invalidateCache(doc);
@@ -181,8 +180,7 @@ QWidget *QmlJSCodeStyleSettingsPage::createPage(QWidget *parent)
m_pageTabPreferences->setTabSettings(originalTabPreferences->tabSettings());
m_pageTabPreferences->setCurrentDelegate(originalTabPreferences->currentDelegate());
m_pageTabPreferences->setId(originalTabPreferences->id());
TextEditorSettings *settings = TextEditorSettings::instance();
m_widget = new CodeStyleEditor(settings->codeStyleFactory(QmlJSTools::Constants::QML_JS_SETTINGS_ID),
m_widget = new CodeStyleEditor(TextEditorSettings::codeStyleFactory(QmlJSTools::Constants::QML_JS_SETTINGS_ID),
m_pageTabPreferences, parent);
return m_widget;

View File

@@ -55,15 +55,13 @@ QmlJSToolsSettings::QmlJSToolsSettings(QObject *parent)
{
QTC_ASSERT(!m_globalCodeStyle, return);
TextEditorSettings *textEditorSettings = TextEditorSettings::instance();
// code style factory
ICodeStylePreferencesFactory *factory = new QmlJSCodeStylePreferencesFactory();
textEditorSettings->registerCodeStyleFactory(factory);
TextEditorSettings::registerCodeStyleFactory(factory);
// code style pool
CodeStylePool *pool = new CodeStylePool(factory, this);
textEditorSettings->registerCodeStylePool(Constants::QML_JS_SETTINGS_ID, pool);
TextEditorSettings::registerCodeStylePool(Constants::QML_JS_SETTINGS_ID, pool);
// global code style settings
m_globalCodeStyle = new SimpleCodeStylePreferences(this);
@@ -71,7 +69,7 @@ QmlJSToolsSettings::QmlJSToolsSettings(QObject *parent)
m_globalCodeStyle->setDisplayName(tr("Global", "Settings"));
m_globalCodeStyle->setId(QLatin1String(idKey));
pool->addCodeStyle(m_globalCodeStyle);
textEditorSettings->registerCodeStyle(QmlJSTools::Constants::QML_JS_SETTINGS_ID, m_globalCodeStyle);
TextEditorSettings::registerCodeStyle(QmlJSTools::Constants::QML_JS_SETTINGS_ID, m_globalCodeStyle);
// built-in settings
// Qt style
@@ -119,7 +117,7 @@ QmlJSToolsSettings::QmlJSToolsSettings(QObject *parent)
QString(), s, &legacyTabSettings);
} else {
// delegating to global
legacyTabSettings = textEditorSettings->codeStyle()->currentTabSettings();
legacyTabSettings = TextEditorSettings::codeStyle()->currentTabSettings();
}
// create custom code style out of old settings
@@ -137,32 +135,31 @@ QmlJSToolsSettings::QmlJSToolsSettings(QObject *parent)
}
// mimetypes to be handled
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::QML_MIMETYPE),
Constants::QML_JS_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::QBS_MIMETYPE),
Constants::QML_JS_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::QMLPROJECT_MIMETYPE),
Constants::QML_JS_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::QMLTYPES_MIMETYPE),
Constants::QML_JS_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::JS_MIMETYPE),
Constants::QML_JS_SETTINGS_ID);
textEditorSettings->registerMimeTypeForLanguageId(
TextEditorSettings::registerMimeTypeForLanguageId(
QLatin1String(Constants::JSON_MIMETYPE),
Constants::QML_JS_SETTINGS_ID);
}
QmlJSToolsSettings::~QmlJSToolsSettings()
{
TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance();
textEditorSettings->unregisterCodeStyle(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
textEditorSettings->unregisterCodeStylePool(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
textEditorSettings->unregisterCodeStyleFactory(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
TextEditorSettings::unregisterCodeStyle(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
TextEditorSettings::unregisterCodeStylePool(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
TextEditorSettings::unregisterCodeStyleFactory(QmlJSTools::Constants::QML_JS_SETTINGS_ID);
delete m_globalCodeStyle;
m_globalCodeStyle = 0;

View File

@@ -61,7 +61,7 @@ BlackBerryDeviceConfigurationWidget::BlackBerryDeviceConfigurationWidget(const I
{
ui->setupUi(this);
ui->connectionLog->setFont(TextEditor::TextEditorSettings::instance()->fontSettings().font());
ui->connectionLog->setFont(TextEditor::TextEditorSettings::fontSettings().font());
connect(ui->hostLineEdit, SIGNAL(editingFinished()), this, SLOT(hostNameEditingFinished()));
connect(ui->pwdLineEdit, SIGNAL(editingFinished()), this, SLOT(passwordEditingFinished()));

View File

@@ -64,7 +64,7 @@ Core::IEditor *ProFileEditor::duplicate(QWidget *parent)
ProFileEditorWidget *ret = new ProFileEditorWidget(parent, qobject_cast<ProFileEditorWidget*>(editorWidget())->factory(),
qobject_cast<ProFileEditorWidget*>(editorWidget())->actionHandler());
ret->duplicateFrom(editorWidget());
TextEditor::TextEditorSettings::instance()->initializeEditor(ret);
TextEditor::TextEditorSettings::initializeEditor(ret);
return ret->editor();
}

View File

@@ -60,6 +60,6 @@ ProFileEditorFactory::ProFileEditorFactory(Qt4Manager *manager, TextEditor::Text
Core::IEditor *ProFileEditorFactory::createEditor(QWidget *parent)
{
ProFileEditorWidget *editor = new ProFileEditorWidget(parent, this, m_actionHandler);
TextEditor::TextEditorSettings::instance()->initializeEditor(editor);
TextEditor::TextEditorSettings::initializeEditor(editor);
return editor->editor();
}

View File

@@ -4560,7 +4560,7 @@ void BaseTextEditorWidget::onCodeStylePreferencesDestroyed()
{
if (sender() != d->m_codeStylePreferences)
return;
ICodeStylePreferences *prefs = TextEditorSettings::instance()->codeStyle(languageSettingsId());
ICodeStylePreferences *prefs = TextEditorSettings::codeStyle(languageSettingsId());
if (prefs == d->m_codeStylePreferences)
prefs = 0;
// avoid failing disconnects, m_codeStylePreferences has already been reduced to QObject

View File

@@ -225,7 +225,7 @@ void BasicProposalItemListModel::filter(const QString &prefix)
* It also implements the fully and first-letter-only case sensitivity.
*/
const TextEditor::CaseSensitivity caseSensitivity =
TextEditorSettings::instance()->completionSettings().m_caseSensitivity;
TextEditorSettings::completionSettings().m_caseSensitivity;
QString keyRegExp;
keyRegExp += QLatin1Char('^');

View File

@@ -151,7 +151,7 @@ CodeAssistantPrivate::CodeAssistantPrivate(CodeAssistant *assistant)
, m_requestProvider(0)
, m_proposalWidget(0)
, m_receivedContentWhileWaiting(false)
, m_settings(TextEditorSettings::instance()->completionSettings())
, m_settings(TextEditorSettings::completionSettings())
, m_abortedBasePosition(-1)
{
m_automaticProposalTimer.setSingleShot(true);

View File

@@ -82,8 +82,7 @@ bool isPerfectMatch(const QString &prefix, const IGenericProposalModel *model)
for (int i = 0; i < model->size(); ++i) {
const QString &current = cleanText(model->text(i));
if (!current.isEmpty()) {
TextEditor::CaseSensitivity cs =
TextEditor::TextEditorSettings::instance()->completionSettings().m_caseSensitivity;
CaseSensitivity cs = TextEditorSettings::completionSettings().m_caseSensitivity;
if (cs == TextEditor::CaseSensitive) {
if (prefix == current)
return true;
@@ -468,7 +467,7 @@ bool GenericProposalWidget::updateAndCheck(const QString &prefix)
d->m_explicitlySelected = false;
}
if (TextEditorSettings::instance()->completionSettings().m_partiallyComplete
if (TextEditorSettings::completionSettings().m_partiallyComplete
&& d->m_kind == Completion
&& d->m_justInvoked
&& d->m_isSynchronized) {

View File

@@ -102,7 +102,7 @@ bool KeywordsAssistProposalItem::prematurelyApplies(const QChar &c) const
void KeywordsAssistProposalItem::applyContextualContent(TextEditor::BaseTextEditor *editor,
int basePosition) const
{
const CompletionSettings &settings = TextEditorSettings::instance()->completionSettings();
const CompletionSettings &settings = TextEditorSettings::completionSettings();
int replaceLength = editor->position() - basePosition;
QString toInsert = text();

View File

@@ -54,8 +54,7 @@ CodeStyleEditor::CodeStyleEditor(ICodeStylePreferencesFactory *factory,
CodeStyleSelectorWidget *selector = new CodeStyleSelectorWidget(factory, this);
selector->setCodeStyle(codeStyle);
m_preview = new SnippetEditorWidget(this);
TextEditor::TextEditorSettings *settings = TextEditorSettings::instance();
m_preview->setFontSettings(settings->fontSettings());
m_preview->setFontSettings(TextEditorSettings::fontSettings());
DisplaySettings displaySettings = m_preview->displaySettings();
displaySettings.m_visualizeWhitespace = true;
m_preview->setDisplaySettings(displaySettings);

View File

@@ -185,7 +185,7 @@ const int ManagerProcessor::kMaxProgress = 200;
ManagerProcessor::ManagerProcessor()
: m_knownSuffixes(QSet<QString>::fromList(MimeDatabase::suffixes()))
{
const HighlighterSettings &settings = TextEditorSettings::instance()->highlighterSettings();
const HighlighterSettings &settings = TextEditorSettings::highlighterSettings();
m_definitionsPaths.append(settings.definitionFilesPath());
if (settings.useFallbackLocation())
m_definitionsPaths.append(settings.fallbackDefinitionFilesPath());

View File

@@ -148,12 +148,12 @@ void PlainTextEditorWidget::configure(const MimeType &mimeType)
}
} else if (editorDocument()) {
const QString &fileName = editorDocument()->filePath();
if (TextEditorSettings::instance()->highlighterSettings().isIgnoredFilePattern(fileName))
if (TextEditorSettings::highlighterSettings().isIgnoredFilePattern(fileName))
m_isMissingSyntaxDefinition = false;
}
}
setFontSettings(TextEditorSettings::instance()->fontSettings());
setFontSettings(TextEditorSettings::fontSettings());
emit configured(editor());
}

View File

@@ -334,7 +334,7 @@ void SnippetsSettingsPagePrivate::configureUi(QWidget *w)
foreach (ISnippetProvider *provider, providers) {
m_ui.groupCombo->addItem(provider->displayName(), provider->groupId());
SnippetEditorWidget *snippetEditor = new SnippetEditorWidget(w);
snippetEditor->setFontSettings(TextEditorSettings::instance()->fontSettings());
snippetEditor->setFontSettings(TextEditorSettings::fontSettings());
provider->decorateEditor(snippetEditor);
m_ui.snippetsEditorStack->insertWidget(m_ui.groupCombo->count() - 1, snippetEditor);
connect(snippetEditor, SIGNAL(snippetContentChanged()), this, SLOT(setSnippetContent()));

View File

@@ -801,7 +801,7 @@ void SyntaxHighlighter::setTextFormatCategories(const QVector<TextEditor::TextSt
{
Q_D(SyntaxHighlighter);
d->formatCategories = categories;
d->updateFormatsForCategories(TextEditorSettings::instance()->fontSettings());
d->updateFormatsForCategories(TextEditorSettings::fontSettings());
}
QTextCharFormat SyntaxHighlighter::formatForCategory(int category) const

View File

@@ -258,7 +258,7 @@ void TextEditorPlugin::initializeEditor(PlainTextEditorWidget *editor)
// common actions
m_editorFactory->actionHandler()->setupActions(editor);
TextEditorSettings::instance()->initializeEditor(editor);
TextEditorSettings::initializeEditor(editor);
}
void TextEditorPlugin::invokeCompletion()

View File

@@ -74,37 +74,21 @@ public:
QMap<QString, Core::Id> m_mimeTypeToLanguage;
CompletionSettings m_completionSettings;
void fontZoomRequested(int pointSize);
void zoomResetRequested();
};
void TextEditorSettingsPrivate::fontZoomRequested(int zoom)
{
FontSettings &fs = const_cast<FontSettings&>(m_fontSettingsPage->fontSettings());
fs.setFontZoom(qMax(10, fs.fontZoom() + zoom));
m_fontSettingsPage->saveSettings();
}
void TextEditorSettingsPrivate::zoomResetRequested()
{
FontSettings &fs = const_cast<FontSettings&>(m_fontSettingsPage->fontSettings());
fs.setFontZoom(100);
m_fontSettingsPage->saveSettings();
}
} // namespace Internal
} // namespace TextEditor
TextEditorSettings *TextEditorSettings::m_instance = 0;
static TextEditorSettingsPrivate *d = 0;
static TextEditorSettings *m_instance = 0;
TextEditorSettings::TextEditorSettings(QObject *parent)
: QObject(parent)
, m_d(new Internal::TextEditorSettingsPrivate)
{
QTC_ASSERT(!m_instance, return);
m_instance = this;
d = new Internal::TextEditorSettingsPrivate;
// Note: default background colors are coming from FormatDescription::background()
@@ -279,58 +263,58 @@ TextEditorSettings::TextEditorSettings(QObject *parent)
"in differences (in side-by-side diff editor)."),
Format(QColor(), QColor(175, 255, 175))));
m_d->m_fontSettingsPage = new FontSettingsPage(formatDescr,
d->m_fontSettingsPage = new FontSettingsPage(formatDescr,
Constants::TEXT_EDITOR_FONT_SETTINGS,
this);
ExtensionSystem::PluginManager::addObject(m_d->m_fontSettingsPage);
ExtensionSystem::PluginManager::addObject(d->m_fontSettingsPage);
// Add the GUI used to configure the tab, storage and interaction settings
TextEditor::BehaviorSettingsPageParameters behaviorSettingsPageParameters;
behaviorSettingsPageParameters.id = Constants::TEXT_EDITOR_BEHAVIOR_SETTINGS;
behaviorSettingsPageParameters.displayName = tr("Behavior");
behaviorSettingsPageParameters.settingsPrefix = QLatin1String("text");
m_d->m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this);
ExtensionSystem::PluginManager::addObject(m_d->m_behaviorSettingsPage);
d->m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this);
ExtensionSystem::PluginManager::addObject(d->m_behaviorSettingsPage);
TextEditor::DisplaySettingsPageParameters displaySettingsPageParameters;
displaySettingsPageParameters.id = Constants::TEXT_EDITOR_DISPLAY_SETTINGS;
displaySettingsPageParameters.displayName = tr("Display");
displaySettingsPageParameters.settingsPrefix = QLatin1String("text");
m_d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this);
ExtensionSystem::PluginManager::addObject(m_d->m_displaySettingsPage);
d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this);
ExtensionSystem::PluginManager::addObject(d->m_displaySettingsPage);
m_d->m_highlighterSettingsPage =
d->m_highlighterSettingsPage =
new HighlighterSettingsPage(Constants::TEXT_EDITOR_HIGHLIGHTER_SETTINGS, this);
ExtensionSystem::PluginManager::addObject(m_d->m_highlighterSettingsPage);
ExtensionSystem::PluginManager::addObject(d->m_highlighterSettingsPage);
m_d->m_snippetsSettingsPage =
d->m_snippetsSettingsPage =
new SnippetsSettingsPage(Constants::TEXT_EDITOR_SNIPPETS_SETTINGS, this);
ExtensionSystem::PluginManager::addObject(m_d->m_snippetsSettingsPage);
ExtensionSystem::PluginManager::addObject(d->m_snippetsSettingsPage);
connect(m_d->m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)),
connect(d->m_fontSettingsPage, SIGNAL(changed(TextEditor::FontSettings)),
this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)));
connect(m_d->m_behaviorSettingsPage, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
connect(d->m_behaviorSettingsPage, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
this, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)));
connect(m_d->m_behaviorSettingsPage, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
connect(d->m_behaviorSettingsPage, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
this, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)));
connect(m_d->m_behaviorSettingsPage, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
connect(d->m_behaviorSettingsPage, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
this, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)));
connect(m_d->m_displaySettingsPage, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
connect(d->m_displaySettingsPage, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)));
// TODO: Move these settings to TextEditor category
m_d->m_completionSettings.fromSettings(QLatin1String("CppTools/"), Core::ICore::settings());
d->m_completionSettings.fromSettings(QLatin1String("CppTools/"), Core::ICore::settings());
}
TextEditorSettings::~TextEditorSettings()
{
ExtensionSystem::PluginManager::removeObject(m_d->m_fontSettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_behaviorSettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_displaySettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_highlighterSettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_snippetsSettingsPage);
ExtensionSystem::PluginManager::removeObject(d->m_fontSettingsPage);
ExtensionSystem::PluginManager::removeObject(d->m_behaviorSettingsPage);
ExtensionSystem::PluginManager::removeObject(d->m_displaySettingsPage);
ExtensionSystem::PluginManager::removeObject(d->m_highlighterSettingsPage);
ExtensionSystem::PluginManager::removeObject(d->m_snippetsSettingsPage);
delete m_d;
delete d;
m_instance = 0;
}
@@ -347,25 +331,25 @@ TextEditorSettings *TextEditorSettings::instance()
void TextEditorSettings::initializeEditor(BaseTextEditorWidget *editor)
{
// Connect to settings change signals
connect(this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
connect(m_instance, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
editor, SLOT(setFontSettingsIfVisible(TextEditor::FontSettings)));
connect(this, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
connect(m_instance, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)),
editor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
connect(this, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
connect(m_instance, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
editor, SLOT(setStorageSettings(TextEditor::StorageSettings)));
connect(this, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
connect(m_instance, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)),
editor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
connect(this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
connect(m_instance, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
editor, SLOT(setDisplaySettings(TextEditor::DisplaySettings)));
connect(this, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)),
connect(m_instance, SIGNAL(completionSettingsChanged(TextEditor::CompletionSettings)),
editor, SLOT(setCompletionSettings(TextEditor::CompletionSettings)));
connect(this, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
connect(m_instance, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
editor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
connect(editor, SIGNAL(requestFontZoom(int)),
this, SLOT(fontZoomRequested(int)));
m_instance, SLOT(fontZoomRequested(int)));
connect(editor, SIGNAL(requestZoomReset()),
this, SLOT(zoomResetRequested()));
m_instance, SLOT(zoomResetRequested()));
// Apply current settings (tab settings depend on font settings)
editor->setFontSettings(fontSettings());
@@ -379,130 +363,142 @@ void TextEditorSettings::initializeEditor(BaseTextEditorWidget *editor)
editor->setCodeStyle(codeStyle(editor->languageSettingsId()));
}
const FontSettings &TextEditorSettings::fontSettings() const
const FontSettings &TextEditorSettings::fontSettings()
{
return m_d->m_fontSettingsPage->fontSettings();
return d->m_fontSettingsPage->fontSettings();
}
const TypingSettings &TextEditorSettings::typingSettings() const
const TypingSettings &TextEditorSettings::typingSettings()
{
return m_d->m_behaviorSettingsPage->typingSettings();
return d->m_behaviorSettingsPage->typingSettings();
}
const StorageSettings &TextEditorSettings::storageSettings() const
const StorageSettings &TextEditorSettings::storageSettings()
{
return m_d->m_behaviorSettingsPage->storageSettings();
return d->m_behaviorSettingsPage->storageSettings();
}
const BehaviorSettings &TextEditorSettings::behaviorSettings() const
const BehaviorSettings &TextEditorSettings::behaviorSettings()
{
return m_d->m_behaviorSettingsPage->behaviorSettings();
return d->m_behaviorSettingsPage->behaviorSettings();
}
const DisplaySettings &TextEditorSettings::displaySettings() const
const DisplaySettings &TextEditorSettings::displaySettings()
{
return m_d->m_displaySettingsPage->displaySettings();
return d->m_displaySettingsPage->displaySettings();
}
const CompletionSettings &TextEditorSettings::completionSettings() const
const CompletionSettings &TextEditorSettings::completionSettings()
{
return m_d->m_completionSettings;
return d->m_completionSettings;
}
const HighlighterSettings &TextEditorSettings::highlighterSettings() const
const HighlighterSettings &TextEditorSettings::highlighterSettings()
{
return m_d->m_highlighterSettingsPage->highlighterSettings();
return d->m_highlighterSettingsPage->highlighterSettings();
}
const ExtraEncodingSettings &TextEditorSettings::extraEncodingSettings() const
const ExtraEncodingSettings &TextEditorSettings::extraEncodingSettings()
{
return m_d->m_behaviorSettingsPage->extraEncodingSettings();
return d->m_behaviorSettingsPage->extraEncodingSettings();
}
void TextEditorSettings::setCompletionSettings(const TextEditor::CompletionSettings &settings)
{
if (m_d->m_completionSettings == settings)
if (d->m_completionSettings == settings)
return;
m_d->m_completionSettings = settings;
m_d->m_completionSettings.toSettings(QLatin1String("CppTools/"), Core::ICore::settings());
d->m_completionSettings = settings;
d->m_completionSettings.toSettings(QLatin1String("CppTools/"), Core::ICore::settings());
emit completionSettingsChanged(m_d->m_completionSettings);
emit m_instance->completionSettingsChanged(d->m_completionSettings);
}
void TextEditorSettings::registerCodeStyleFactory(ICodeStylePreferencesFactory *factory)
{
m_d->m_languageToFactory.insert(factory->languageId(), factory);
d->m_languageToFactory.insert(factory->languageId(), factory);
}
void TextEditorSettings::unregisterCodeStyleFactory(Core::Id languageId)
{
m_d->m_languageToFactory.remove(languageId);
d->m_languageToFactory.remove(languageId);
}
QMap<Core::Id, ICodeStylePreferencesFactory *> TextEditorSettings::codeStyleFactories() const
QMap<Core::Id, ICodeStylePreferencesFactory *> TextEditorSettings::codeStyleFactories()
{
return m_d->m_languageToFactory;
return d->m_languageToFactory;
}
ICodeStylePreferencesFactory *TextEditorSettings::codeStyleFactory(Core::Id languageId) const
ICodeStylePreferencesFactory *TextEditorSettings::codeStyleFactory(Core::Id languageId)
{
return m_d->m_languageToFactory.value(languageId);
return d->m_languageToFactory.value(languageId);
}
ICodeStylePreferences *TextEditorSettings::codeStyle() const
ICodeStylePreferences *TextEditorSettings::codeStyle()
{
return m_d->m_behaviorSettingsPage->codeStyle();
return d->m_behaviorSettingsPage->codeStyle();
}
ICodeStylePreferences *TextEditorSettings::codeStyle(Core::Id languageId) const
ICodeStylePreferences *TextEditorSettings::codeStyle(Core::Id languageId)
{
return m_d->m_languageToCodeStyle.value(languageId, codeStyle());
return d->m_languageToCodeStyle.value(languageId, codeStyle());
}
QMap<Core::Id, ICodeStylePreferences *> TextEditorSettings::codeStyles() const
QMap<Core::Id, ICodeStylePreferences *> TextEditorSettings::codeStyles()
{
return m_d->m_languageToCodeStyle;
return d->m_languageToCodeStyle;
}
void TextEditorSettings::registerCodeStyle(Core::Id languageId, ICodeStylePreferences *prefs)
{
m_d->m_languageToCodeStyle.insert(languageId, prefs);
d->m_languageToCodeStyle.insert(languageId, prefs);
}
void TextEditorSettings::unregisterCodeStyle(Core::Id languageId)
{
m_d->m_languageToCodeStyle.remove(languageId);
d->m_languageToCodeStyle.remove(languageId);
}
CodeStylePool *TextEditorSettings::codeStylePool() const
CodeStylePool *TextEditorSettings::codeStylePool()
{
return m_d->m_behaviorSettingsPage->codeStylePool();
return d->m_behaviorSettingsPage->codeStylePool();
}
CodeStylePool *TextEditorSettings::codeStylePool(Core::Id languageId) const
CodeStylePool *TextEditorSettings::codeStylePool(Core::Id languageId)
{
return m_d->m_languageToCodeStylePool.value(languageId);
return d->m_languageToCodeStylePool.value(languageId);
}
void TextEditorSettings::registerCodeStylePool(Core::Id languageId, CodeStylePool *pool)
{
m_d->m_languageToCodeStylePool.insert(languageId, pool);
d->m_languageToCodeStylePool.insert(languageId, pool);
}
void TextEditorSettings::unregisterCodeStylePool(Core::Id languageId)
{
m_d->m_languageToCodeStylePool.remove(languageId);
d->m_languageToCodeStylePool.remove(languageId);
}
void TextEditorSettings::registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId)
{
m_d->m_mimeTypeToLanguage.insert(mimeType, languageId);
d->m_mimeTypeToLanguage.insert(mimeType, languageId);
}
Core::Id TextEditorSettings::languageId(const QString &mimeType) const
Core::Id TextEditorSettings::languageId(const QString &mimeType)
{
return m_d->m_mimeTypeToLanguage.value(mimeType);
return d->m_mimeTypeToLanguage.value(mimeType);
}
#include "moc_texteditorsettings.cpp"
void TextEditorSettings::fontZoomRequested(int zoom)
{
FontSettings &fs = const_cast<FontSettings&>(d->m_fontSettingsPage->fontSettings());
fs.setFontZoom(qMax(10, fs.fontZoom() + zoom));
d->m_fontSettingsPage->saveSettings();
}
void TextEditorSettings::zoomResetRequested()
{
FontSettings &fs = const_cast<FontSettings&>(d->m_fontSettingsPage->fontSettings());
fs.setFontZoom(100);
d->m_fontSettingsPage->saveSettings();
}

View File

@@ -57,10 +57,6 @@ class ICodeStylePreferences;
class ICodeStylePreferencesFactory;
class CodeStylePool;
namespace Internal {
class TextEditorSettingsPrivate;
}
/**
* This class provides a central place for basic text editor settings. These
* settings include font settings, tab settings, storage settings, behavior
@@ -76,37 +72,37 @@ public:
static TextEditorSettings *instance();
void initializeEditor(BaseTextEditorWidget *editor);
static void initializeEditor(BaseTextEditorWidget *editor);
const FontSettings &fontSettings() const;
const TypingSettings &typingSettings() const;
const StorageSettings &storageSettings() const;
const BehaviorSettings &behaviorSettings() const;
const DisplaySettings &displaySettings() const;
const CompletionSettings &completionSettings() const;
const HighlighterSettings &highlighterSettings() const;
const ExtraEncodingSettings &extraEncodingSettings() const;
static const FontSettings &fontSettings();
static const TypingSettings &typingSettings();
static const StorageSettings &storageSettings();
static const BehaviorSettings &behaviorSettings();
static const DisplaySettings &displaySettings();
static const CompletionSettings &completionSettings();
static const HighlighterSettings &highlighterSettings();
static const ExtraEncodingSettings &extraEncodingSettings();
void setCompletionSettings(const TextEditor::CompletionSettings &);
static void setCompletionSettings(const TextEditor::CompletionSettings &);
ICodeStylePreferencesFactory *codeStyleFactory(Core::Id languageId) const;
QMap<Core::Id, ICodeStylePreferencesFactory *> codeStyleFactories() const;
void registerCodeStyleFactory(ICodeStylePreferencesFactory *codeStyleFactory);
void unregisterCodeStyleFactory(Core::Id languageId);
static ICodeStylePreferencesFactory *codeStyleFactory(Core::Id languageId);
static QMap<Core::Id, ICodeStylePreferencesFactory *> codeStyleFactories();
static void registerCodeStyleFactory(ICodeStylePreferencesFactory *codeStyleFactory);
static void unregisterCodeStyleFactory(Core::Id languageId);
CodeStylePool *codeStylePool() const;
CodeStylePool *codeStylePool(Core::Id languageId) const;
void registerCodeStylePool(Core::Id languageId, CodeStylePool *pool);
void unregisterCodeStylePool(Core::Id languageId);
static CodeStylePool *codeStylePool();
static CodeStylePool *codeStylePool(Core::Id languageId);
static void registerCodeStylePool(Core::Id languageId, CodeStylePool *pool);
static void unregisterCodeStylePool(Core::Id languageId);
ICodeStylePreferences *codeStyle() const;
ICodeStylePreferences *codeStyle(Core::Id languageId) const;
QMap<Core::Id, ICodeStylePreferences *> codeStyles() const;
void registerCodeStyle(Core::Id languageId, ICodeStylePreferences *prefs);
void unregisterCodeStyle(Core::Id languageId);
static ICodeStylePreferences *codeStyle();
static ICodeStylePreferences *codeStyle(Core::Id languageId);
static QMap<Core::Id, ICodeStylePreferences *> codeStyles();
static void registerCodeStyle(Core::Id languageId, ICodeStylePreferences *prefs);
static void unregisterCodeStyle(Core::Id languageId);
void registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId);
Core::Id languageId(const QString &mimeType) const;
static void registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId);
static Core::Id languageId(const QString &mimeType);
signals:
void fontSettingsChanged(const TextEditor::FontSettings &);
@@ -117,12 +113,9 @@ signals:
void completionSettingsChanged(const TextEditor::CompletionSettings &);
void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &);
private:
Internal::TextEditorSettingsPrivate *m_d;
Q_PRIVATE_SLOT(m_d, void fontZoomRequested(int pointSize))
Q_PRIVATE_SLOT(m_d, void zoomResetRequested())
static TextEditorSettings *m_instance;
private slots:
void fontZoomRequested(int zoom);
void zoomResetRequested();
};
} // namespace TextEditor

View File

@@ -86,10 +86,9 @@ Core::IEditor *BaseVcsEditorFactory::createEditor(QWidget *parent)
d->m_editorHandler->setupActions(vcsEditor);
// Wire font settings and set initial values
TextEditor::TextEditorSettings *settings = TextEditor::TextEditorSettings::instance();
connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
connect(TextEditor::TextEditorSettings::instance(), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
vcsEditor, SLOT(setFontSettings(TextEditor::FontSettings)));
vcsEditor->setFontSettings(settings->fontSettings());
vcsEditor->setFontSettings(TextEditor::TextEditorSettings::fontSettings());
return vcsEditor->editor();
}

View File

@@ -703,7 +703,7 @@ void VcsBaseEditorWidget::init()
setCodeFoldingSupported(true);
baseTextDocument()->setSyntaxHighlighter(dh);
}
TextEditor::TextEditorSettings::instance()->initializeEditor(this);
TextEditor::TextEditorSettings::initializeEditor(this);
// override revisions display (green or red bar on the left, marking changes):
setRevisionsVisible(false);
}

View File

@@ -187,7 +187,7 @@ VcsBaseSubmitEditor::VcsBaseSubmitEditor(const VcsBaseSubmitEditorParameters *pa
// Message font according to settings
Utils::CompletingTextEdit *descriptionEdit = editorWidget->descriptionEdit();
const TextEditor::FontSettings fs = TextEditor::TextEditorSettings::instance()->fontSettings();
const TextEditor::FontSettings fs = TextEditor::TextEditorSettings::fontSettings();
const QTextCharFormat tf = fs.toTextCharFormat(TextEditor::C_TEXT);
descriptionEdit->setFont(tf.font());
const QTextCharFormat selectionFormat = fs.toTextCharFormat(TextEditor::C_SELECTION);