fakevim: make visual selections also visual in creator

This commit is contained in:
hjk
2009-01-13 13:47:00 +01:00
parent 669b56fde9
commit 45d9cca1d6
5 changed files with 54 additions and 11 deletions

View File

@@ -474,7 +474,7 @@ void FakeVimHandler::Private::updateSelection()
}
}
}
EDITOR(setExtraSelections(selections));
emit q->selectionChanged(editor(), selections);
}
void FakeVimHandler::Private::updateMiniBuffer()

View File

@@ -34,7 +34,8 @@
#ifndef FAKEVIM_HANDLER_H
#define FAKEVIM_HANDLER_H
#include <QObject>
#include <QtCore/QObject>
#include <QtGui/QTextEdit>
QT_BEGIN_NAMESPACE
class QString;
@@ -69,6 +70,8 @@ signals:
void statusDataChanged(const QString &msg);
void extraInformationChanged(const QString &msg);
void quitRequested(QWidget *);
void selectionChanged(QWidget *widget,
const QList<QTextEdit::ExtraSelection> &selection);
private:
bool eventFilter(QObject *ob, QEvent *ev);

View File

@@ -165,14 +165,17 @@ void FakeVimPlugin::installHandler(QWidget *widget)
this, SLOT(showCommandBuffer(QString)));
connect(m_handler, SIGNAL(quitRequested(QWidget *)),
this, SLOT(removeHandler(QWidget *)));
connect(m_handler,
SIGNAL(selectionChanged(QWidget*,QList<QTextEdit::ExtraSelection>)),
this, SLOT(changeSelection(QWidget*,QList<QTextEdit::ExtraSelection>)));
m_handler->addWidget(widget);
BaseTextEditor *baseTextEditor = qobject_cast<BaseTextEditor *>(widget);
if (baseTextEditor) {
BaseTextEditor *bt = qobject_cast<BaseTextEditor *>(widget);
if (bt) {
using namespace TextEditor;
using namespace FakeVim::Constants;
TabSettings settings = baseTextEditor->tabSettings();
TabSettings settings = bt->tabSettings();
m_handler->setConfigValue(ConfigTabStop,
QString::number(settings.m_tabSize));
m_handler->setConfigValue(ConfigShiftWidth,
@@ -219,6 +222,13 @@ void FakeVimPlugin::showExtraInformation(const QString &text)
QMessageBox::information(0, tr("FakeVim Information"), text);
}
void FakeVimPlugin::changeSelection(QWidget *widget,
const QList<QTextEdit::ExtraSelection> &selection)
{
if (BaseTextEditor *bt = qobject_cast<BaseTextEditor *>(widget))
bt->setExtraSelections(BaseTextEditor::FakeVimSelection, selection);
}
//#include "fakevimplugin.moc"
Q_EXPORT_PLUGIN(FakeVimPlugin)

View File

@@ -37,6 +37,8 @@
#include <extensionsystem/iplugin.h>
#include <QtCore/QObject>
#include <QtCore/QList>
#include <QtGui/QTextEdit>
QT_BEGIN_NAMESPACE
class QAction;
@@ -84,6 +86,8 @@ private slots:
void showExtraInformation(const QString &msg);
void editorOpened(Core::IEditor *);
void editorAboutToClose(Core::IEditor *);
void changeSelection(QWidget *widget,
const QList<QTextEdit::ExtraSelection> &selections);
private:
FakeVimHandler *m_handler;