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) Core::IEditor *AndroidManifestEditorFactory::createEditor(QWidget *parent)
{ {
AndroidManifestEditorWidget *editor = new AndroidManifestEditorWidget(parent, m_actionHandler); AndroidManifestEditorWidget *editor = new AndroidManifestEditorWidget(parent, m_actionHandler);
TextEditor::TextEditorSettings::instance()->initializeEditor(editor); TextEditor::TextEditorSettings::initializeEditor(editor);
return editor->editor(); return editor->editor();
} }

View File

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

View File

@@ -109,9 +109,9 @@ BinEditorWidget::BinEditorWidget(QWidget *parent)
setFrameStyle(QFrame::Plain); setFrameStyle(QFrame::Plain);
// Font settings // Font settings
TextEditor::TextEditorSettings *settings = TextEditor::TextEditorSettings::instance(); setFontSettings(TextEditor::TextEditorSettings::fontSettings());
setFontSettings(settings->fontSettings()); connect(TextEditor::TextEditorSettings::instance(),
connect(settings, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)), SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
this, SLOT(setFontSettings(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 *w = qobject_cast<CMakeEditorWidget*>(widget());
CMakeEditorWidget *ret = new CMakeEditorWidget(parent, w->factory(), w->actionHandler()); CMakeEditorWidget *ret = new CMakeEditorWidget(parent, w->factory(), w->actionHandler());
ret->duplicateFrom(w); ret->duplicateFrom(w);
TextEditor::TextEditorSettings::instance()->initializeEditor(ret); TextEditor::TextEditorSettings::initializeEditor(ret);
return ret->editor(); return ret->editor();
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -50,8 +50,7 @@ namespace Internal {
// Retrieve the comment char format from the text editor. // Retrieve the comment char format from the text editor.
static QTextCharFormat commentFormat() static QTextCharFormat commentFormat()
{ {
const TextEditor::FontSettings settings = TextEditor::TextEditorSettings::instance()->fontSettings(); return TextEditor::TextEditorSettings::fontSettings().toTextCharFormat(TextEditor::C_COMMENT);
return settings.toTextCharFormat(TextEditor::C_COMMENT);
} }
// Highlighter for Mercurial submit messages. Make the first line bold, indicates // 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))); this, SLOT(appendMessage(ProjectExplorer::RunControl*,QString,Utils::OutputFormat)));
Utils::OutputFormatter *formatter = rc->outputFormatter(); 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 // First look if we can reuse a tab
const int size = m_runControlTabs.size(); const int size = m_runControlTabs.size();

View File

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

View File

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

View File

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

View File

@@ -98,10 +98,6 @@ private slots:
private: private:
void switchSettings(TextEditor::BaseTextEditorWidget *baseTextEditor) const; 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; EditorConfigurationPrivate *d;
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -61,7 +61,7 @@ BlackBerryDeviceConfigurationWidget::BlackBerryDeviceConfigurationWidget(const I
{ {
ui->setupUi(this); 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->hostLineEdit, SIGNAL(editingFinished()), this, SLOT(hostNameEditingFinished()));
connect(ui->pwdLineEdit, SIGNAL(editingFinished()), this, SLOT(passwordEditingFinished())); 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(), ProFileEditorWidget *ret = new ProFileEditorWidget(parent, qobject_cast<ProFileEditorWidget*>(editorWidget())->factory(),
qobject_cast<ProFileEditorWidget*>(editorWidget())->actionHandler()); qobject_cast<ProFileEditorWidget*>(editorWidget())->actionHandler());
ret->duplicateFrom(editorWidget()); ret->duplicateFrom(editorWidget());
TextEditor::TextEditorSettings::instance()->initializeEditor(ret); TextEditor::TextEditorSettings::initializeEditor(ret);
return ret->editor(); return ret->editor();
} }

View File

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

View File

@@ -4560,7 +4560,7 @@ void BaseTextEditorWidget::onCodeStylePreferencesDestroyed()
{ {
if (sender() != d->m_codeStylePreferences) if (sender() != d->m_codeStylePreferences)
return; return;
ICodeStylePreferences *prefs = TextEditorSettings::instance()->codeStyle(languageSettingsId()); ICodeStylePreferences *prefs = TextEditorSettings::codeStyle(languageSettingsId());
if (prefs == d->m_codeStylePreferences) if (prefs == d->m_codeStylePreferences)
prefs = 0; prefs = 0;
// avoid failing disconnects, m_codeStylePreferences has already been reduced to QObject // 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. * It also implements the fully and first-letter-only case sensitivity.
*/ */
const TextEditor::CaseSensitivity caseSensitivity = const TextEditor::CaseSensitivity caseSensitivity =
TextEditorSettings::instance()->completionSettings().m_caseSensitivity; TextEditorSettings::completionSettings().m_caseSensitivity;
QString keyRegExp; QString keyRegExp;
keyRegExp += QLatin1Char('^'); keyRegExp += QLatin1Char('^');

View File

@@ -151,7 +151,7 @@ CodeAssistantPrivate::CodeAssistantPrivate(CodeAssistant *assistant)
, m_requestProvider(0) , m_requestProvider(0)
, m_proposalWidget(0) , m_proposalWidget(0)
, m_receivedContentWhileWaiting(false) , m_receivedContentWhileWaiting(false)
, m_settings(TextEditorSettings::instance()->completionSettings()) , m_settings(TextEditorSettings::completionSettings())
, m_abortedBasePosition(-1) , m_abortedBasePosition(-1)
{ {
m_automaticProposalTimer.setSingleShot(true); 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) { for (int i = 0; i < model->size(); ++i) {
const QString &current = cleanText(model->text(i)); const QString &current = cleanText(model->text(i));
if (!current.isEmpty()) { if (!current.isEmpty()) {
TextEditor::CaseSensitivity cs = CaseSensitivity cs = TextEditorSettings::completionSettings().m_caseSensitivity;
TextEditor::TextEditorSettings::instance()->completionSettings().m_caseSensitivity;
if (cs == TextEditor::CaseSensitive) { if (cs == TextEditor::CaseSensitive) {
if (prefix == current) if (prefix == current)
return true; return true;
@@ -468,7 +467,7 @@ bool GenericProposalWidget::updateAndCheck(const QString &prefix)
d->m_explicitlySelected = false; d->m_explicitlySelected = false;
} }
if (TextEditorSettings::instance()->completionSettings().m_partiallyComplete if (TextEditorSettings::completionSettings().m_partiallyComplete
&& d->m_kind == Completion && d->m_kind == Completion
&& d->m_justInvoked && d->m_justInvoked
&& d->m_isSynchronized) { && d->m_isSynchronized) {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -74,37 +74,21 @@ public:
QMap<QString, Core::Id> m_mimeTypeToLanguage; QMap<QString, Core::Id> m_mimeTypeToLanguage;
CompletionSettings m_completionSettings; 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 Internal
} // namespace TextEditor } // namespace TextEditor
TextEditorSettings *TextEditorSettings::m_instance = 0; static TextEditorSettingsPrivate *d = 0;
static TextEditorSettings *m_instance = 0;
TextEditorSettings::TextEditorSettings(QObject *parent) TextEditorSettings::TextEditorSettings(QObject *parent)
: QObject(parent) : QObject(parent)
, m_d(new Internal::TextEditorSettingsPrivate)
{ {
QTC_ASSERT(!m_instance, return); QTC_ASSERT(!m_instance, return);
m_instance = this; m_instance = this;
d = new Internal::TextEditorSettingsPrivate;
// Note: default background colors are coming from FormatDescription::background() // 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)."), "in differences (in side-by-side diff editor)."),
Format(QColor(), QColor(175, 255, 175)))); Format(QColor(), QColor(175, 255, 175))));
m_d->m_fontSettingsPage = new FontSettingsPage(formatDescr, d->m_fontSettingsPage = new FontSettingsPage(formatDescr,
Constants::TEXT_EDITOR_FONT_SETTINGS, Constants::TEXT_EDITOR_FONT_SETTINGS,
this); 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 // Add the GUI used to configure the tab, storage and interaction settings
TextEditor::BehaviorSettingsPageParameters behaviorSettingsPageParameters; TextEditor::BehaviorSettingsPageParameters behaviorSettingsPageParameters;
behaviorSettingsPageParameters.id = Constants::TEXT_EDITOR_BEHAVIOR_SETTINGS; behaviorSettingsPageParameters.id = Constants::TEXT_EDITOR_BEHAVIOR_SETTINGS;
behaviorSettingsPageParameters.displayName = tr("Behavior"); behaviorSettingsPageParameters.displayName = tr("Behavior");
behaviorSettingsPageParameters.settingsPrefix = QLatin1String("text"); behaviorSettingsPageParameters.settingsPrefix = QLatin1String("text");
m_d->m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this); d->m_behaviorSettingsPage = new BehaviorSettingsPage(behaviorSettingsPageParameters, this);
ExtensionSystem::PluginManager::addObject(m_d->m_behaviorSettingsPage); ExtensionSystem::PluginManager::addObject(d->m_behaviorSettingsPage);
TextEditor::DisplaySettingsPageParameters displaySettingsPageParameters; TextEditor::DisplaySettingsPageParameters displaySettingsPageParameters;
displaySettingsPageParameters.id = Constants::TEXT_EDITOR_DISPLAY_SETTINGS; displaySettingsPageParameters.id = Constants::TEXT_EDITOR_DISPLAY_SETTINGS;
displaySettingsPageParameters.displayName = tr("Display"); displaySettingsPageParameters.displayName = tr("Display");
displaySettingsPageParameters.settingsPrefix = QLatin1String("text"); displaySettingsPageParameters.settingsPrefix = QLatin1String("text");
m_d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this); d->m_displaySettingsPage = new DisplaySettingsPage(displaySettingsPageParameters, this);
ExtensionSystem::PluginManager::addObject(m_d->m_displaySettingsPage); ExtensionSystem::PluginManager::addObject(d->m_displaySettingsPage);
m_d->m_highlighterSettingsPage = d->m_highlighterSettingsPage =
new HighlighterSettingsPage(Constants::TEXT_EDITOR_HIGHLIGHTER_SETTINGS, this); 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); 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))); 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))); 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))); 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))); 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))); this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)));
// TODO: Move these settings to TextEditor category // 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() TextEditorSettings::~TextEditorSettings()
{ {
ExtensionSystem::PluginManager::removeObject(m_d->m_fontSettingsPage); ExtensionSystem::PluginManager::removeObject(d->m_fontSettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_behaviorSettingsPage); ExtensionSystem::PluginManager::removeObject(d->m_behaviorSettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_displaySettingsPage); ExtensionSystem::PluginManager::removeObject(d->m_displaySettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_highlighterSettingsPage); ExtensionSystem::PluginManager::removeObject(d->m_highlighterSettingsPage);
ExtensionSystem::PluginManager::removeObject(m_d->m_snippetsSettingsPage); ExtensionSystem::PluginManager::removeObject(d->m_snippetsSettingsPage);
delete m_d; delete d;
m_instance = 0; m_instance = 0;
} }
@@ -347,25 +331,25 @@ TextEditorSettings *TextEditorSettings::instance()
void TextEditorSettings::initializeEditor(BaseTextEditorWidget *editor) void TextEditorSettings::initializeEditor(BaseTextEditorWidget *editor)
{ {
// Connect to settings change signals // Connect to settings change signals
connect(this, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)), connect(m_instance, SIGNAL(fontSettingsChanged(TextEditor::FontSettings)),
editor, SLOT(setFontSettingsIfVisible(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))); editor, SLOT(setTypingSettings(TextEditor::TypingSettings)));
connect(this, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), connect(m_instance, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)),
editor, SLOT(setStorageSettings(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))); editor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings)));
connect(this, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)), connect(m_instance, SIGNAL(displaySettingsChanged(TextEditor::DisplaySettings)),
editor, SLOT(setDisplaySettings(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))); editor, SLOT(setCompletionSettings(TextEditor::CompletionSettings)));
connect(this, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)), connect(m_instance, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)),
editor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings))); editor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings)));
connect(editor, SIGNAL(requestFontZoom(int)), connect(editor, SIGNAL(requestFontZoom(int)),
this, SLOT(fontZoomRequested(int))); m_instance, SLOT(fontZoomRequested(int)));
connect(editor, SIGNAL(requestZoomReset()), connect(editor, SIGNAL(requestZoomReset()),
this, SLOT(zoomResetRequested())); m_instance, SLOT(zoomResetRequested()));
// Apply current settings (tab settings depend on font settings) // Apply current settings (tab settings depend on font settings)
editor->setFontSettings(fontSettings()); editor->setFontSettings(fontSettings());
@@ -379,130 +363,142 @@ void TextEditorSettings::initializeEditor(BaseTextEditorWidget *editor)
editor->setCodeStyle(codeStyle(editor->languageSettingsId())); 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) void TextEditorSettings::setCompletionSettings(const TextEditor::CompletionSettings &settings)
{ {
if (m_d->m_completionSettings == settings) if (d->m_completionSettings == settings)
return; return;
m_d->m_completionSettings = settings; d->m_completionSettings = settings;
m_d->m_completionSettings.toSettings(QLatin1String("CppTools/"), Core::ICore::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) 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) 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) 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) 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) 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) 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) 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 ICodeStylePreferencesFactory;
class CodeStylePool; class CodeStylePool;
namespace Internal {
class TextEditorSettingsPrivate;
}
/** /**
* This class provides a central place for basic text editor settings. These * This class provides a central place for basic text editor settings. These
* settings include font settings, tab settings, storage settings, behavior * settings include font settings, tab settings, storage settings, behavior
@@ -76,37 +72,37 @@ public:
static TextEditorSettings *instance(); static TextEditorSettings *instance();
void initializeEditor(BaseTextEditorWidget *editor); static void initializeEditor(BaseTextEditorWidget *editor);
const FontSettings &fontSettings() const; static const FontSettings &fontSettings();
const TypingSettings &typingSettings() const; static const TypingSettings &typingSettings();
const StorageSettings &storageSettings() const; static const StorageSettings &storageSettings();
const BehaviorSettings &behaviorSettings() const; static const BehaviorSettings &behaviorSettings();
const DisplaySettings &displaySettings() const; static const DisplaySettings &displaySettings();
const CompletionSettings &completionSettings() const; static const CompletionSettings &completionSettings();
const HighlighterSettings &highlighterSettings() const; static const HighlighterSettings &highlighterSettings();
const ExtraEncodingSettings &extraEncodingSettings() const; static const ExtraEncodingSettings &extraEncodingSettings();
void setCompletionSettings(const TextEditor::CompletionSettings &); static void setCompletionSettings(const TextEditor::CompletionSettings &);
ICodeStylePreferencesFactory *codeStyleFactory(Core::Id languageId) const; static ICodeStylePreferencesFactory *codeStyleFactory(Core::Id languageId);
QMap<Core::Id, ICodeStylePreferencesFactory *> codeStyleFactories() const; static QMap<Core::Id, ICodeStylePreferencesFactory *> codeStyleFactories();
void registerCodeStyleFactory(ICodeStylePreferencesFactory *codeStyleFactory); static void registerCodeStyleFactory(ICodeStylePreferencesFactory *codeStyleFactory);
void unregisterCodeStyleFactory(Core::Id languageId); static void unregisterCodeStyleFactory(Core::Id languageId);
CodeStylePool *codeStylePool() const; static CodeStylePool *codeStylePool();
CodeStylePool *codeStylePool(Core::Id languageId) const; static CodeStylePool *codeStylePool(Core::Id languageId);
void registerCodeStylePool(Core::Id languageId, CodeStylePool *pool); static void registerCodeStylePool(Core::Id languageId, CodeStylePool *pool);
void unregisterCodeStylePool(Core::Id languageId); static void unregisterCodeStylePool(Core::Id languageId);
ICodeStylePreferences *codeStyle() const; static ICodeStylePreferences *codeStyle();
ICodeStylePreferences *codeStyle(Core::Id languageId) const; static ICodeStylePreferences *codeStyle(Core::Id languageId);
QMap<Core::Id, ICodeStylePreferences *> codeStyles() const; static QMap<Core::Id, ICodeStylePreferences *> codeStyles();
void registerCodeStyle(Core::Id languageId, ICodeStylePreferences *prefs); static void registerCodeStyle(Core::Id languageId, ICodeStylePreferences *prefs);
void unregisterCodeStyle(Core::Id languageId); static void unregisterCodeStyle(Core::Id languageId);
void registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId); static void registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId);
Core::Id languageId(const QString &mimeType) const; static Core::Id languageId(const QString &mimeType);
signals: signals:
void fontSettingsChanged(const TextEditor::FontSettings &); void fontSettingsChanged(const TextEditor::FontSettings &);
@@ -117,12 +113,9 @@ signals:
void completionSettingsChanged(const TextEditor::CompletionSettings &); void completionSettingsChanged(const TextEditor::CompletionSettings &);
void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &); void extraEncodingSettingsChanged(const TextEditor::ExtraEncodingSettings &);
private: private slots:
Internal::TextEditorSettingsPrivate *m_d; void fontZoomRequested(int zoom);
Q_PRIVATE_SLOT(m_d, void fontZoomRequested(int pointSize)) void zoomResetRequested();
Q_PRIVATE_SLOT(m_d, void zoomResetRequested())
static TextEditorSettings *m_instance;
}; };
} // namespace TextEditor } // namespace TextEditor

View File

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

View File

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

View File

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