Commit ab8c038e authored by hjk's avatar hjk
Browse files

Fixes: fakwvim: fix recently broken selection in standalone application

parent 8867568c
......@@ -158,6 +158,13 @@ QDebug &operator<<(QDebug &ts, const EditOperation &op)
return ts;
}
QDebug &operator<<(QDebug &ts, const QList<QTextEdit::ExtraSelection> &sels)
{
foreach (QTextEdit::ExtraSelection sel, sels)
ts << "SEL: " << sel.cursor.anchor() << sel.cursor.position();
return ts;
}
int lineCount(const QString &text)
{
//return text.count(QChar(ParagraphSeparator));
......@@ -456,6 +463,7 @@ bool FakeVimHandler::Private::handleKey(int key, int unmodified, const QString &
void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
{
//qDebug() << "ANCHOR: " << m_anchor;
if (m_submode == FilterSubMode) {
int beginLine = lineForPosition(anchor());
int endLine = lineForPosition(position());
......@@ -526,10 +534,13 @@ void FakeVimHandler::Private::updateSelection()
QTextEdit::ExtraSelection sel;
sel.cursor = m_tc;
sel.format = m_tc.blockCharFormat();
//sel.format.setFontWeight(QFont::Bold);
//sel.format.setFontUnderline(true);
#if 0
sel.format.setFontWeight(QFont::Bold);
sel.format.setFontUnderline(true);
#else
sel.format.setForeground(Qt::white);
sel.format.setBackground(Qt::black);
#endif
int cursorPos = m_tc.position();
int anchorPos = m_marks['<'];
//qDebug() << "POS: " << cursorPos << " ANCHOR: " << anchorPos;
......@@ -566,6 +577,7 @@ void FakeVimHandler::Private::updateSelection()
}
}
}
//qDebug() << "SELECTION: " << selections;
emit q->selectionChanged(selections);
}
......@@ -834,7 +846,7 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
m_mvcount.clear();
m_submode = DeleteSubMode;
} else if (key == 'd') {
setAnchor();
//setAnchor();
leaveVisualMode();
int beginLine = lineForPosition(m_marks['<']);
int endLine = lineForPosition(m_marks['>']);
......@@ -1819,6 +1831,7 @@ int FakeVimHandler::Private::lineForPosition(int pos) const
void FakeVimHandler::Private::enterVisualMode(VisualMode visualMode)
{
setAnchor();
m_visualMode = visualMode;
m_marks['<'] = m_tc.position();
m_marks['>'] = m_tc.position();
......
......@@ -258,8 +258,9 @@ void FakeVimPluginPrivate::removeHandler()
void FakeVimPluginPrivate::editorOpened(Core::IEditor *editor)
{
Q_UNUSED(editor);
//qDebug() << "OPENING: " << editor << editor->widget();
installHandler(editor);
//installHandler(editor);
}
void FakeVimPluginPrivate::editorAboutToClose(Core::IEditor *editor)
......
......@@ -24,9 +24,9 @@ public:
public slots:
void changeSelection(const QList<QTextEdit::ExtraSelection> &s)
{
if (QPlainTextEdit *ed = qobject_cast<QPlainTextEdit *>(sender()))
if (QPlainTextEdit *ed = qobject_cast<QPlainTextEdit *>(m_widget))
ed->setExtraSelections(s);
else if (QTextEdit *ed = qobject_cast<QTextEdit *>(sender()))
else if (QTextEdit *ed = qobject_cast<QTextEdit *>(m_widget))
ed->setExtraSelections(s);
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment