From 292d4bc3d52d567d16f662f950cc815976b059af Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Fri, 23 Jan 2009 19:13:00 +0100 Subject: [PATCH] Fixes: fakevim: provide an option in the text editor settings --- src/plugins/fakevim/fakevimhandler.cpp | 1 - src/plugins/fakevim/fakevimplugin.cpp | 19 +++++++++++++------ src/plugins/texteditor/basetexteditor.h | 2 +- .../texteditor/generalsettingspage.cpp | 10 +++++----- src/plugins/texteditor/generalsettingspage.h | 1 - .../texteditor/interactionsettings.cpp | 2 +- src/plugins/texteditor/linenumberfilter.cpp | 17 +++++++++-------- src/plugins/texteditor/linenumberfilter.h | 11 ++--------- src/plugins/texteditor/texteditorplugin.cpp | 5 +++-- src/plugins/texteditor/texteditorsettings.cpp | 3 +-- src/plugins/texteditor/texteditorsettings.h | 9 +-------- 11 files changed, 36 insertions(+), 44 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index b8ae84ba4e6..d2825c57959 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -2043,7 +2043,6 @@ FakeVimHandler::FakeVimHandler(QWidget *widget, QObject *parent) FakeVimHandler::~FakeVimHandler() { - qDebug() << "DELETING HANDLER" << this; delete d; } diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 26a7d7fbbc0..5bf7c32675d 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -183,12 +183,6 @@ bool FakeVimPluginPrivate::initialize() return true; } -void FakeVimPluginPrivate::installHandler() -{ - if (Core::IEditor *editor = m_core->editorManager()->currentEditor()) - installHandler(editor); -} - void FakeVimPluginPrivate::installHandler(Core::IEditor *editor) { QWidget *widget = editor->widget(); @@ -230,6 +224,8 @@ void FakeVimPluginPrivate::installHandler(Core::IEditor *editor) void FakeVimPluginPrivate::writeFile(bool *handled, const QString &fileName, const QString &contents) { + Q_UNUSED(contents); + FakeVimHandler *handler = qobject_cast<FakeVimHandler *>(sender()); if (!handler) return; @@ -260,6 +256,16 @@ void FakeVimPluginPrivate::editorOpened(Core::IEditor *editor) Q_UNUSED(editor); //qDebug() << "OPENING: " << editor << editor->widget(); //installHandler(editor); + +#if 1 + QSettings *s = ICore::instance()->settings(); + bool automatic = s->value("textInteractionSettings/UseVim").toBool(); + //qDebug() << "USE VIM: " << automatic; + if (automatic) + installHandler(editor); +#endif + +#if 0 QWidget *widget = editor->widget(); if (BaseTextEditor *bt = qobject_cast<BaseTextEditor *>(widget)) { InteractionSettings settings = bt->interactionSettings(); @@ -267,6 +273,7 @@ void FakeVimPluginPrivate::editorOpened(Core::IEditor *editor) if (settings.m_useVim) installHandler(editor); } +#endif } void FakeVimPluginPrivate::editorAboutToClose(Core::IEditor *editor) diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 7724f277356..83ce1538c7e 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -416,7 +416,7 @@ public: }; // the blocks list must be sorted - void setIfdefedOutBlocks(const QList<BaseTextEditor::BlockRange> &blocks); + void setIfdefedOutBlocks(const QList<BlockRange> &blocks); public slots: virtual void setTabSettings(const TextEditor::TabSettings &); diff --git a/src/plugins/texteditor/generalsettingspage.cpp b/src/plugins/texteditor/generalsettingspage.cpp index ec3c6178d16..7482080ab95 100644 --- a/src/plugins/texteditor/generalsettingspage.cpp +++ b/src/plugins/texteditor/generalsettingspage.cpp @@ -115,10 +115,11 @@ void GeneralSettingsPage::apply() newInteractionSettings); Core::ICore *core = Core::ICore::instance(); + QSettings *s = core->settings(); if (newTabSettings != m_d->m_tabSettings) { m_d->m_tabSettings = newTabSettings; - if (QSettings *s = core->settings()) + if (s) m_d->m_tabSettings.toSettings(m_d->m_parameters.settingsPrefix, s); emit tabSettingsChanged(newTabSettings); @@ -126,7 +127,7 @@ void GeneralSettingsPage::apply() if (newStorageSettings != m_d->m_storageSettings) { m_d->m_storageSettings = newStorageSettings; - if (QSettings *s = core->settings()) + if (s) m_d->m_storageSettings.toSettings(m_d->m_parameters.settingsPrefix, s); emit storageSettingsChanged(newStorageSettings); @@ -134,7 +135,7 @@ void GeneralSettingsPage::apply() if (newDisplaySettings != m_d->m_displaySettings) { m_d->m_displaySettings = newDisplaySettings; - if (QSettings *s = core->settings()) + if (s) m_d->m_displaySettings.toSettings(m_d->m_parameters.settingsPrefix, s); emit displaySettingsChanged(newDisplaySettings); @@ -142,10 +143,9 @@ void GeneralSettingsPage::apply() if (newInteractionSettings != m_d->m_interactionSettings) { m_d->m_interactionSettings = newInteractionSettings; - if (QSettings *s = core->settings()) + if (s) m_d->m_interactionSettings.toSettings(m_d->m_parameters.settingsPrefix, s); - emit interactionSettingsChanged(newInteractionSettings); } } diff --git a/src/plugins/texteditor/generalsettingspage.h b/src/plugins/texteditor/generalsettingspage.h index 7679d7b16db..1f70fd6b0b0 100644 --- a/src/plugins/texteditor/generalsettingspage.h +++ b/src/plugins/texteditor/generalsettingspage.h @@ -83,7 +83,6 @@ signals: void tabSettingsChanged(const TextEditor::TabSettings &); void storageSettingsChanged(const TextEditor::StorageSettings &); void displaySettingsChanged(const TextEditor::DisplaySettings &); - void interactionSettingsChanged(const TextEditor::InteractionSettings &); private: void settingsFromUI(TabSettings &rc, diff --git a/src/plugins/texteditor/interactionsettings.cpp b/src/plugins/texteditor/interactionsettings.cpp index ae3be5203f6..368bc3ff615 100644 --- a/src/plugins/texteditor/interactionsettings.cpp +++ b/src/plugins/texteditor/interactionsettings.cpp @@ -38,7 +38,7 @@ namespace TextEditor { -static const char *useVimKey = "useVim"; +static const char *useVimKey = "UseVim"; static const char *groupPostfix = "InteractionSettings"; InteractionSettings::InteractionSettings() diff --git a/src/plugins/texteditor/linenumberfilter.cpp b/src/plugins/texteditor/linenumberfilter.cpp index cb02b0f8088..d8d2ea6cbda 100644 --- a/src/plugins/texteditor/linenumberfilter.cpp +++ b/src/plugins/texteditor/linenumberfilter.cpp @@ -43,10 +43,9 @@ using namespace QuickOpen; using namespace TextEditor; using namespace TextEditor::Internal; -LineNumberFilter::LineNumberFilter(EditorManager *editorManager, QObject *parent): - IQuickOpenFilter(parent) +LineNumberFilter::LineNumberFilter(QObject *parent) + : IQuickOpenFilter(parent) { - m_editorManager = editorManager; setShortcutString("l"); setIncludedByDefault(true); } @@ -65,17 +64,19 @@ void LineNumberFilter::accept(FilterEntry selection) const { ITextEditor *editor = currentTextEditor(); if (editor) { - m_editorManager->ensureEditorManagerVisible(); - m_editorManager->addCurrentPositionToNavigationHistory(true); + Core::EditorManager *editorManager = Core::EditorManager::instance(); + editorManager->ensureEditorManagerVisible(); + editorManager->addCurrentPositionToNavigationHistory(true); editor->gotoLine(selection.internalData.toInt()); - m_editorManager->addCurrentPositionToNavigationHistory(); + editorManager->addCurrentPositionToNavigationHistory(); editor->widget()->setFocus(); } } ITextEditor *LineNumberFilter::currentTextEditor() const { - if (!m_editorManager->currentEditor()) + Core::EditorManager *editorManager = Core::EditorManager::instance(); + if (!editorManager->currentEditor()) return 0; - return qobject_cast<TextEditor::ITextEditor*>(m_editorManager->currentEditor()); + return qobject_cast<TextEditor::ITextEditor*>(editorManager->currentEditor()); } diff --git a/src/plugins/texteditor/linenumberfilter.h b/src/plugins/texteditor/linenumberfilter.h index bc29b1db374..7ee8a6f6d5d 100644 --- a/src/plugins/texteditor/linenumberfilter.h +++ b/src/plugins/texteditor/linenumberfilter.h @@ -38,13 +38,7 @@ #include <QtCore/QString> #include <QtCore/QList> -#include <QtCore/QByteArray> #include <QtCore/QFutureInterface> -#include <QtGui/QWidget> - -namespace Core { -class EditorManager; -} namespace TextEditor { @@ -57,7 +51,8 @@ class LineNumberFilter : public QuickOpen::IQuickOpenFilter Q_OBJECT public: - LineNumberFilter(Core::EditorManager *editorManager, QObject *parent = 0); + explicit LineNumberFilter(QObject *parent = 0); + QString trName() const { return tr("Line in current document"); } QString name() const { return "Line in current document"; } QuickOpen::IQuickOpenFilter::Priority priority() const { return QuickOpen::IQuickOpenFilter::High; } @@ -67,8 +62,6 @@ public: private: ITextEditor *currentTextEditor() const; - - Core::EditorManager *m_editorManager; }; } // namespace Internal diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 1e6a47e47d4..765a4de2f11 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -42,6 +42,7 @@ #include "plaintexteditorfactory.h" #include "plaintexteditor.h" #include "storagesettings.h" +#include "interactionsettings.h" #include <coreplugin/icore.h> #include <coreplugin/coreconstants.h> @@ -104,7 +105,7 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe addAutoReleasedObject(m_wizard); - m_settings = new TextEditorSettings(this, this); + m_settings = new TextEditorSettings(this); // Add plain text editor factory m_editorFactory = new PlainTextEditorFactory; @@ -112,7 +113,7 @@ bool TextEditorPlugin::initialize(const QStringList &arguments, QString *errorMe // Goto line functionality for quick open Core::ICore *core = Core::ICore::instance(); - m_lineNumberFilter = new LineNumberFilter(core->editorManager()); + m_lineNumberFilter = new LineNumberFilter; addAutoReleasedObject(m_lineNumberFilter); int contextId = core->uniqueIDManager()->uniqueIdentifier(TextEditor::Constants::C_TEXTEDITOR); diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index ea61d571725..999ad0d8ae7 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -51,8 +51,7 @@ using namespace TextEditor::Constants; TextEditorSettings *TextEditorSettings::m_instance = 0; -TextEditorSettings::TextEditorSettings(Internal::TextEditorPlugin *plugin, - QObject *parent) +TextEditorSettings::TextEditorSettings(QObject *parent) : QObject(parent) { QTC_ASSERT(!m_instance, return); diff --git a/src/plugins/texteditor/texteditorsettings.h b/src/plugins/texteditor/texteditorsettings.h index 032a8a139af..efaec3176b2 100644 --- a/src/plugins/texteditor/texteditorsettings.h +++ b/src/plugins/texteditor/texteditorsettings.h @@ -46,11 +46,6 @@ class FontSettings; struct TabSettings; struct StorageSettings; struct DisplaySettings; -struct InteractionSettings; - -namespace Internal { -class TextEditorPlugin; -} /** * This class provides a central place for basic text editor settings. These @@ -62,7 +57,7 @@ class TEXTEDITOR_EXPORT TextEditorSettings : public QObject Q_OBJECT public: - TextEditorSettings(Internal::TextEditorPlugin *plugin, QObject *parent); + explicit TextEditorSettings(QObject *parent); ~TextEditorSettings(); static TextEditorSettings *instance(); @@ -71,14 +66,12 @@ public: TabSettings tabSettings() const; StorageSettings storageSettings() const; DisplaySettings displaySettings() const; - InteractionSettings interactionSettings() const; signals: void fontSettingsChanged(const TextEditor::FontSettings &); void tabSettingsChanged(const TextEditor::TabSettings &); void storageSettingsChanged(const TextEditor::StorageSettings &); void displaySettingsChanged(const TextEditor::DisplaySettings &); - void interactionSettingsChanged(const TextEditor::InteractionSettings &); private: TextEditor::FontSettingsPage *m_fontSettingsPage; -- GitLab