summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhjk <qtc-committer@nokia.com>2009-06-11 15:41:20 +0200
committerhjk <qtc-committer@nokia.com>2009-06-11 15:42:01 +0200
commitb919dbe572eb2ece07089310dee35a122e9baea3 (patch)
treeddd1af5c1180f8b91f9ce2078f2c70717ac86ed9 /src
parentdc47257081d10316301b55959908e5dd580638d5 (diff)
downloadqt-creator-b919dbe572eb2ece07089310dee35a122e9baea3.tar.gz
fakevim: fix cursor column positioning bug after cfx + <Down>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/fakevim/fakevimhandler.cpp14
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;
}