From ca15d0aa95fec76ce41c72ed747894969c978986 Mon Sep 17 00:00:00 2001 From: hjk <hjk121@nokiamail.com> Date: Thu, 19 Sep 2013 17:59:27 +0200 Subject: [PATCH] Apply static pattern to TextEditorSetting Change-Id: I4e6f573d893c0aa2bb4ca9812fc8db2961dac172 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- .../android/androidmanifesteditorfactory.cpp | 2 +- src/plugins/bazaar/bazaarcommitwidget.cpp | 3 +- src/plugins/bineditor/bineditor.cpp | 6 +- .../cmakeprojectmanager/cmakeeditor.cpp | 2 +- .../cmakeeditorfactory.cpp | 2 +- src/plugins/cppeditor/cppeditorplugin.cpp | 2 +- src/plugins/cppeditor/cppquickfixes.cpp | 3 +- .../cpptools/completionsettingspage.cpp | 4 +- .../cpptools/cppcodestylesettingspage.cpp | 8 +- src/plugins/cpptools/cppcompletionassist.cpp | 3 +- src/plugins/cpptools/cpptoolssettings.cpp | 31 ++- src/plugins/designer/formeditorw.cpp | 2 +- src/plugins/diffeditor/diffeditorwidget.cpp | 21 +- src/plugins/diffeditor/diffshoweditor.cpp | 11 +- src/plugins/fakevim/fakevimplugin.cpp | 4 +- .../genericprojectfileseditor.cpp | 4 +- src/plugins/glsleditor/glsleditorplugin.cpp | 2 +- .../mercurial/mercurialcommitwidget.cpp | 3 +- src/plugins/projectexplorer/appoutputpane.cpp | 2 +- .../codestylesettingspropertiespage.cpp | 2 +- .../projectexplorer/compileoutputwindow.cpp | 2 +- .../projectexplorer/editorconfiguration.cpp | 89 ++++----- .../projectexplorer/editorconfiguration.h | 4 - .../environmentitemswidget.cpp | 3 +- .../projectfilewizardextension.cpp | 8 +- .../pythoneditor/pythoneditorplugin.cpp | 2 +- .../qmljseditor/qmljscompletionassist.cpp | 5 +- src/plugins/qmljseditor/qmljseditorplugin.cpp | 2 +- .../qmljstools/qmljscodestylesettingspage.cpp | 10 +- src/plugins/qmljstools/qmljstoolssettings.cpp | 29 ++- .../blackberrydeviceconfigurationwidget.cpp | 2 +- .../qt4projectmanager/profileeditor.cpp | 2 +- .../profileeditorfactory.cpp | 2 +- src/plugins/texteditor/basetexteditor.cpp | 2 +- .../codeassist/basicproposalitemlistmodel.cpp | 2 +- .../texteditor/codeassist/codeassistant.cpp | 2 +- .../codeassist/genericproposalwidget.cpp | 5 +- .../codeassist/keywordscompletionassist.cpp | 2 +- src/plugins/texteditor/codestyleeditor.cpp | 3 +- .../texteditor/generichighlighter/manager.cpp | 2 +- src/plugins/texteditor/plaintexteditor.cpp | 4 +- .../snippets/snippetssettingspage.cpp | 2 +- src/plugins/texteditor/syntaxhighlighter.cpp | 2 +- src/plugins/texteditor/texteditorplugin.cpp | 2 +- src/plugins/texteditor/texteditorsettings.cpp | 184 +++++++++--------- src/plugins/texteditor/texteditorsettings.h | 63 +++--- src/plugins/vcsbase/basevcseditorfactory.cpp | 5 +- src/plugins/vcsbase/vcsbaseeditor.cpp | 2 +- src/plugins/vcsbase/vcsbasesubmiteditor.cpp | 2 +- 49 files changed, 262 insertions(+), 299 deletions(-) diff --git a/src/plugins/android/androidmanifesteditorfactory.cpp b/src/plugins/android/androidmanifesteditorfactory.cpp index 2e11a8924e7..ba80296bd72 100644 --- a/src/plugins/android/androidmanifesteditorfactory.cpp +++ b/src/plugins/android/androidmanifesteditorfactory.cpp @@ -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(); } diff --git a/src/plugins/bazaar/bazaarcommitwidget.cpp b/src/plugins/bazaar/bazaarcommitwidget.cpp index 34e075c3d4b..3b25d4f08b0 100644 --- a/src/plugins/bazaar/bazaarcommitwidget.cpp +++ b/src/plugins/bazaar/bazaarcommitwidget.cpp @@ -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 diff --git a/src/plugins/bineditor/bineditor.cpp b/src/plugins/bineditor/bineditor.cpp index 95ccf225708..2c0d7c0a365 100644 --- a/src/plugins/bineditor/bineditor.cpp +++ b/src/plugins/bineditor/bineditor.cpp @@ -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))); } diff --git a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp index bc11f9bc598..f21f256a06e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditor.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeeditor.cpp @@ -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(); } diff --git a/src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp b/src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp index ea14d89f9de..7b7b32ae5ae 100644 --- a/src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp @@ -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(); } diff --git a/src/plugins/cppeditor/cppeditorplugin.cpp b/src/plugins/cppeditor/cppeditorplugin.cpp index 6cecb0ad438..17afbf148e6 100644 --- a/src/plugins/cppeditor/cppeditorplugin.cpp +++ b/src/plugins/cppeditor/cppeditorplugin.cpp @@ -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)), diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index c4103dea43e..a33a45c7c4e 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -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())); diff --git a/src/plugins/cpptools/completionsettingspage.cpp b/src/plugins/cpptools/completionsettingspage.cpp index 92b249fc457..37ca2ed1727 100644 --- a/src/plugins/cpptools/completionsettingspage.cpp +++ b/src/plugins/cpptools/completionsettingspage.cpp @@ -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; diff --git a/src/plugins/cpptools/cppcodestylesettingspage.cpp b/src/plugins/cpptools/cppcodestylesettingspage.cpp index 01a0589eb5e..ca94a0ec573 100644 --- a/src/plugins/cpptools/cppcodestylesettingspage.cpp +++ b/src/plugins/cpptools/cppcodestylesettingspage.cpp @@ -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; diff --git a/src/plugins/cpptools/cppcompletionassist.cpp b/src/plugins/cpptools/cppcompletionassist.cpp index 3ad517e6502..4a9ea061226 100644 --- a/src/plugins/cpptools/cppcompletionassist.cpp +++ b/src/plugins/cpptools/cppcompletionassist.cpp @@ -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()) { diff --git a/src/plugins/cpptools/cpptoolssettings.cpp b/src/plugins/cpptools/cpptoolssettings.cpp index 2f034bac91d..877b86da627 100644 --- a/src/plugins/cpptools/cpptoolssettings.cpp +++ b/src/plugins/cpptools/cpptoolssettings.cpp @@ -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; diff --git a/src/plugins/designer/formeditorw.cpp b/src/plugins/designer/formeditorw.cpp index 869fe3faedf..aa0064eb5f3 100644 --- a/src/plugins/designer/formeditorw.cpp +++ b/src/plugins/designer/formeditorw.cpp @@ -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())); diff --git a/src/plugins/diffeditor/diffeditorwidget.cpp b/src/plugins/diffeditor/diffeditorwidget.cpp index 4960b192633..881423b97a1 100644 --- a/src/plugins/diffeditor/diffeditorwidget.cpp +++ b/src/plugins/diffeditor/diffeditorwidget.cpp @@ -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())); diff --git a/src/plugins/diffeditor/diffshoweditor.cpp b/src/plugins/diffeditor/diffshoweditor.cpp index 2198874daac..3cc595f902a 100644 --- a/src/plugins/diffeditor/diffshoweditor.cpp +++ b/src/plugins/diffeditor/diffshoweditor.cpp @@ -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() diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index e3836c178f1..f8e79162f2e 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -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); diff --git a/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp b/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp index 739dd18bd22..287ce305635 100644 --- a/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp +++ b/src/plugins/genericprojectmanager/genericprojectfileseditor.cpp @@ -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(); } diff --git a/src/plugins/glsleditor/glsleditorplugin.cpp b/src/plugins/glsleditor/glsleditorplugin.cpp index 2af3a1b31f3..f2a457b9fd5 100644 --- a/src/plugins/glsleditor/glsleditorplugin.cpp +++ b/src/plugins/glsleditor/glsleditorplugin.cpp @@ -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) diff --git a/src/plugins/mercurial/mercurialcommitwidget.cpp b/src/plugins/mercurial/mercurialcommitwidget.cpp index 4f2d17f5089..262994bf566 100644 --- a/src/plugins/mercurial/mercurialcommitwidget.cpp +++ b/src/plugins/mercurial/mercurialcommitwidget.cpp @@ -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 diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp index d3e4dac0777..74917d06d7d 100644 --- a/src/plugins/projectexplorer/appoutputpane.cpp +++ b/src/plugins/projectexplorer/appoutputpane.cpp @@ -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(); diff --git a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp index 839feef5ac3..8cb5ebe29c9 100644 --- a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp @@ -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(); diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index db539c0fb12..b2babe8a99e 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -82,7 +82,7 @@ public: private slots: void fontSettingsChanged() { - setFont(TextEditor::TextEditorSettings::instance()->fontSettings().font()); + setFont(TextEditor::TextEditorSettings::fontSettings().font()); } protected: diff --git a/src/plugins/projectexplorer/editorconfiguration.cpp b/src/plugins/projectexplorer/editorconfiguration.cpp index 6d60d43c868..62cada1656f 100644 --- a/src/plugins/projectexplorer/editorconfiguration.cpp +++ b/src/plugins/projectexplorer/editorconfiguration.cpp @@ -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,43 +254,45 @@ void EditorConfiguration::setUseGlobalSettings(bool use) } } -void EditorConfiguration::switchSettings(BaseTextEditorWidget *baseTextEditor) const -{ - if (d->m_useGlobal) - switchSettings_helper(TextEditorSettings::instance(), this, baseTextEditor); - else - switchSettings_helper(this, TextEditorSettings::instance(), baseTextEditor); -} - -template <class NewSenderT, class OldSenderT> -void EditorConfiguration::switchSettings_helper(const NewSenderT *newSender, - const OldSenderT *oldSender, - BaseTextEditorWidget *baseTextEditor) const +static void switchSettings_helper(const QObject *newSender, const QObject *oldSender, + BaseTextEditorWidget *baseTextEditor) { - baseTextEditor->setTypingSettings(newSender->typingSettings()); - baseTextEditor->setStorageSettings(newSender->storageSettings()); - baseTextEditor->setBehaviorSettings(newSender->behaviorSettings()); - baseTextEditor->setExtraEncodingSettings(newSender->extraEncodingSettings()); - - disconnect(oldSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)), + QObject::disconnect(oldSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)), baseTextEditor, SLOT(setTypingSettings(TextEditor::TypingSettings))); - disconnect(oldSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), + QObject::disconnect(oldSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), baseTextEditor, SLOT(setStorageSettings(TextEditor::StorageSettings))); - disconnect(oldSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)), + QObject::disconnect(oldSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)), baseTextEditor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings))); - disconnect(oldSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)), + QObject::disconnect(oldSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)), baseTextEditor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings))); - connect(newSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)), + QObject::connect(newSender, SIGNAL(typingSettingsChanged(TextEditor::TypingSettings)), baseTextEditor, SLOT(setTypingSettings(TextEditor::TypingSettings))); - connect(newSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), + QObject::connect(newSender, SIGNAL(storageSettingsChanged(TextEditor::StorageSettings)), baseTextEditor, SLOT(setStorageSettings(TextEditor::StorageSettings))); - connect(newSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)), + QObject::connect(newSender, SIGNAL(behaviorSettingsChanged(TextEditor::BehaviorSettings)), baseTextEditor, SLOT(setBehaviorSettings(TextEditor::BehaviorSettings))); - connect(newSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)), + QObject::connect(newSender, SIGNAL(extraEncodingSettingsChanged(TextEditor::ExtraEncodingSettings)), baseTextEditor, SLOT(setExtraEncodingSettings(TextEditor::ExtraEncodingSettings))); } +void EditorConfiguration::switchSettings(BaseTextEditorWidget *baseTextEditor) const +{ + 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) { d->m_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 diff --git a/src/plugins/projectexplorer/editorconfiguration.h b/src/plugins/projectexplorer/editorconfiguration.h index 0caaf2f58cc..af419c8c6cb 100644 --- a/src/plugins/projectexplorer/editorconfiguration.h +++ b/src/plugins/projectexplorer/editorconfiguration.h @@ -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; }; diff --git a/src/plugins/projectexplorer/environmentitemswidget.cpp b/src/plugins/projectexplorer/environmentitemswidget.cpp index 3e3f30a03f5..381abe0adcb 100644 --- a/src/plugins/projectexplorer/environmentitemswidget.cpp +++ b/src/plugins/projectexplorer/environmentitemswidget.cpp @@ -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); } diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index f38e4bcb483..bb2f72608be 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -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); diff --git a/src/plugins/pythoneditor/pythoneditorplugin.cpp b/src/plugins/pythoneditor/pythoneditorplugin.cpp index 0811f30630c..65f5d6a0fc7 100644 --- a/src/plugins/pythoneditor/pythoneditorplugin.cpp +++ b/src/plugins/pythoneditor/pythoneditorplugin.cpp @@ -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() diff --git a/src/plugins/qmljseditor/qmljscompletionassist.cpp b/src/plugins/qmljseditor/qmljscompletionassist.cpp index 23c3dcbeb26..65a80f6d295 100644 --- a/src/plugins/qmljseditor/qmljscompletionassist.cpp +++ b/src/plugins/qmljseditor/qmljscompletionassist.cpp @@ -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>(); diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index 75721954ac7..55780f0d2dd 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -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 diff --git a/src/plugins/qmljstools/qmljscodestylesettingspage.cpp b/src/plugins/qmljstools/qmljscodestylesettingspage.cpp index bb1fbe755b7..b0dcc8a60d6 100644 --- a/src/plugins/qmljstools/qmljscodestylesettingspage.cpp +++ b/src/plugins/qmljstools/qmljscodestylesettingspage.cpp @@ -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; diff --git a/src/plugins/qmljstools/qmljstoolssettings.cpp b/src/plugins/qmljstools/qmljstoolssettings.cpp index 388a120ad47..d3b60098183 100644 --- a/src/plugins/qmljstools/qmljstoolssettings.cpp +++ b/src/plugins/qmljstools/qmljstoolssettings.cpp @@ -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; diff --git a/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp b/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp index b609d4b7603..d9d0115ffd2 100644 --- a/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp +++ b/src/plugins/qnx/blackberrydeviceconfigurationwidget.cpp @@ -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())); diff --git a/src/plugins/qt4projectmanager/profileeditor.cpp b/src/plugins/qt4projectmanager/profileeditor.cpp index 6d880ad890b..ab35944aaa7 100644 --- a/src/plugins/qt4projectmanager/profileeditor.cpp +++ b/src/plugins/qt4projectmanager/profileeditor.cpp @@ -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(); } diff --git a/src/plugins/qt4projectmanager/profileeditorfactory.cpp b/src/plugins/qt4projectmanager/profileeditorfactory.cpp index 066c49db3f0..21227bba9d1 100644 --- a/src/plugins/qt4projectmanager/profileeditorfactory.cpp +++ b/src/plugins/qt4projectmanager/profileeditorfactory.cpp @@ -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(); } diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index e25eafd380b..d19139cddf7 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -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 diff --git a/src/plugins/texteditor/codeassist/basicproposalitemlistmodel.cpp b/src/plugins/texteditor/codeassist/basicproposalitemlistmodel.cpp index 0ef0a05bfce..ae2ece571c2 100644 --- a/src/plugins/texteditor/codeassist/basicproposalitemlistmodel.cpp +++ b/src/plugins/texteditor/codeassist/basicproposalitemlistmodel.cpp @@ -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('^'); diff --git a/src/plugins/texteditor/codeassist/codeassistant.cpp b/src/plugins/texteditor/codeassist/codeassistant.cpp index c07aed72488..753c8e79453 100644 --- a/src/plugins/texteditor/codeassist/codeassistant.cpp +++ b/src/plugins/texteditor/codeassist/codeassistant.cpp @@ -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); diff --git a/src/plugins/texteditor/codeassist/genericproposalwidget.cpp b/src/plugins/texteditor/codeassist/genericproposalwidget.cpp index 057837e7390..22b7d158806 100644 --- a/src/plugins/texteditor/codeassist/genericproposalwidget.cpp +++ b/src/plugins/texteditor/codeassist/genericproposalwidget.cpp @@ -82,8 +82,7 @@ bool isPerfectMatch(const QString &prefix, const IGenericProposalModel *model) for (int i = 0; i < model->size(); ++i) { const QString ¤t = 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) { diff --git a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp index 96fdc71b12c..e58f395f1b2 100644 --- a/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp +++ b/src/plugins/texteditor/codeassist/keywordscompletionassist.cpp @@ -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(); diff --git a/src/plugins/texteditor/codestyleeditor.cpp b/src/plugins/texteditor/codestyleeditor.cpp index 92fe407021e..101eb6f4ced 100644 --- a/src/plugins/texteditor/codestyleeditor.cpp +++ b/src/plugins/texteditor/codestyleeditor.cpp @@ -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); diff --git a/src/plugins/texteditor/generichighlighter/manager.cpp b/src/plugins/texteditor/generichighlighter/manager.cpp index 2253c6d318d..05dcdcf06f0 100644 --- a/src/plugins/texteditor/generichighlighter/manager.cpp +++ b/src/plugins/texteditor/generichighlighter/manager.cpp @@ -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()); diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp index 573961cc236..1e99aa448e7 100644 --- a/src/plugins/texteditor/plaintexteditor.cpp +++ b/src/plugins/texteditor/plaintexteditor.cpp @@ -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()); } diff --git a/src/plugins/texteditor/snippets/snippetssettingspage.cpp b/src/plugins/texteditor/snippets/snippetssettingspage.cpp index d9d2c72312a..c59d510f325 100644 --- a/src/plugins/texteditor/snippets/snippetssettingspage.cpp +++ b/src/plugins/texteditor/snippets/snippetssettingspage.cpp @@ -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())); diff --git a/src/plugins/texteditor/syntaxhighlighter.cpp b/src/plugins/texteditor/syntaxhighlighter.cpp index 0ad601f162e..f2483f9e58c 100644 --- a/src/plugins/texteditor/syntaxhighlighter.cpp +++ b/src/plugins/texteditor/syntaxhighlighter.cpp @@ -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 diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index f07a2f6f10f..d80b4622209 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -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() diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index f083d8b2f18..7ad32aa5e10 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -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) +{ + return d->m_mimeTypeToLanguage.value(mimeType); } -Core::Id TextEditorSettings::languageId(const QString &mimeType) const +void TextEditorSettings::fontZoomRequested(int zoom) { - return m_d->m_mimeTypeToLanguage.value(mimeType); + FontSettings &fs = const_cast<FontSettings&>(d->m_fontSettingsPage->fontSettings()); + fs.setFontZoom(qMax(10, fs.fontZoom() + zoom)); + d->m_fontSettingsPage->saveSettings(); } -#include "moc_texteditorsettings.cpp" +void TextEditorSettings::zoomResetRequested() +{ + FontSettings &fs = const_cast<FontSettings&>(d->m_fontSettingsPage->fontSettings()); + fs.setFontZoom(100); + d->m_fontSettingsPage->saveSettings(); +} diff --git a/src/plugins/texteditor/texteditorsettings.h b/src/plugins/texteditor/texteditorsettings.h index 5bd56ced17f..f99030ae657 100644 --- a/src/plugins/texteditor/texteditorsettings.h +++ b/src/plugins/texteditor/texteditorsettings.h @@ -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 diff --git a/src/plugins/vcsbase/basevcseditorfactory.cpp b/src/plugins/vcsbase/basevcseditorfactory.cpp index 924fa3c1d4e..9d085ab639e 100644 --- a/src/plugins/vcsbase/basevcseditorfactory.cpp +++ b/src/plugins/vcsbase/basevcseditorfactory.cpp @@ -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(); } diff --git a/src/plugins/vcsbase/vcsbaseeditor.cpp b/src/plugins/vcsbase/vcsbaseeditor.cpp index 5f628309816..714843f1ef3 100644 --- a/src/plugins/vcsbase/vcsbaseeditor.cpp +++ b/src/plugins/vcsbase/vcsbaseeditor.cpp @@ -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); } diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp index d532318d256..2f30cc16462 100644 --- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp +++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp @@ -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); -- GitLab