diff options
author | hjk <qthjk@ovi.com> | 2011-12-26 16:38:31 +0100 |
---|---|---|
committer | hjk <qthjk@ovi.com> | 2011-12-26 16:42:55 +0100 |
commit | 29223bc11793b58b0625c0a5ca5b361921a9247a (patch) | |
tree | 19ccb6af3b31b86998e80ba30c45afe66c59f26d /src | |
parent | 4443532d14a97284a55ecfc80bb2f24c488aa1f1 (diff) | |
download | qt-creator-29223bc11793b58b0625c0a5ca5b361921a9247a.tar.gz |
fakevim: more vim-ish cursor positioning after undo/redo
Change-Id: Ie689a719b023ed1e3756470bd144e22b1099bb07
Reviewed-by: hjk <qthjk@ovi.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 2073ac1452..e5df5b52af 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1485,7 +1485,6 @@ void FakeVimHandler::Private::stopIncrementalFind() void FakeVimHandler::Private::setUndoPosition(int pos) { - //qDebug() << " CURSOR POS: " << m_undoCursorPosition; m_undoCursorPosition[document()->availableUndoSteps()] = pos; } @@ -2893,6 +2892,7 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input) moveLeft(qMin(1, leftDist())); setTargetColumn(); leaveVisualMode(); + breakEditBlock(); } g.dotCommand += m_lastInsertion; g.dotCommand += QChar(27); @@ -2955,11 +2955,13 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input) setTargetColumn(); m_lastInsertion.clear(); } else if (input.isReturn()) { + joinPreviousEditBlock(); m_submode = NoSubMode; insertText(QString("\n")); m_lastInsertion += '\n'; insertAutomaticIndentation(true); setTargetColumn(); + endEditBlock(); } else if (input.isBackspace()) { joinPreviousEditBlock(); m_justAutoIndented = 0; @@ -4835,7 +4837,6 @@ QWidget *FakeVimHandler::Private::editor() const void FakeVimHandler::Private::undo() { - //qDebug() << " CURSOR POS: " << m_undoCursorPosition; // FIXME: That's only an approximaxtion. The real solution might // be to store marks and old userData with QTextBlock setUserData // and retrieve them afterward. |