forked from qt-creator/qt-creator
fakevim: make visual selections also visual in creator
This commit is contained in:
@@ -474,7 +474,7 @@ void FakeVimHandler::Private::updateSelection()
|
||||
}
|
||||
}
|
||||
}
|
||||
EDITOR(setExtraSelections(selections));
|
||||
emit q->selectionChanged(editor(), selections);
|
||||
}
|
||||
|
||||
void FakeVimHandler::Private::updateMiniBuffer()
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user