diff options
author | hjk <qtc-committer@nokia.com> | 2009-06-11 15:41:20 +0200 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2009-06-11 15:42:01 +0200 |
commit | b919dbe572eb2ece07089310dee35a122e9baea3 (patch) | |
tree | ddd1af5c1180f8b91f9ce2078f2c70717ac86ed9 /src | |
parent | dc47257081d10316301b55959908e5dd580638d5 (diff) | |
download | qt-creator-b919dbe572eb2ece07089310dee35a122e9baea3.tar.gz |
fakevim: fix cursor column positioning bug after cfx + <Down>
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/fakevim/fakevimhandler.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index f78bd890ac..bb46ba2c81 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -253,7 +253,10 @@ public: void moveToFirstNonBlankOnLine(); void moveToTargetColumn(); - void setTargetColumn() { m_targetColumn = leftDist(); } + void setTargetColumn() { + m_targetColumn = leftDist(); + //qDebug() << "TARGET: " << m_targetColumn; + } void moveToNextWord(bool simple); void moveToMatchingParanthesis(); void moveToWordBoundary(bool simple, bool forward); @@ -672,6 +675,8 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand) m_submode = NoSubMode; if (atEndOfLine()) moveLeft(); + else + setTargetColumn(); } else if (m_submode == YankSubMode) { m_registers[m_register] = selectedText(); setPosition(m_savedYankPosition); @@ -2507,9 +2512,12 @@ void FakeVimHandler::Private::replay(const QString &command, int n) { //qDebug() << "REPLAY: " << command; m_inReplay = true; - for (int i = n; --i >= 0; ) - foreach (QChar c, command) + for (int i = n; --i >= 0; ) { + foreach (QChar c, command) { + //qDebug() << " REPLAY: " << QString(c); handleKey(c.unicode(), c.unicode(), QString(c)); + } + } m_inReplay = false; } |