OSDN Git Service

fakevim: fix <n>r<Return>
authorhjk <qtc-committer@nokia.com>
Thu, 14 Jul 2011 09:40:59 +0000 (11:40 +0200)
committerhjk <qthjk@ovi.com>
Thu, 14 Jul 2011 15:42:53 +0000 (17:42 +0200)
Was reported on the feedback form.

Change-Id: Iab2517f4bd29bbad211eced7c268f93d928bb5aa
Reviewed-on: http://codereview.qt.nokia.com/1657
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
src/plugins/fakevim/fakevimhandler.cpp

index e1e598e..9d6eb06 100644 (file)
@@ -1839,8 +1839,15 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input)
         } else if (count() <= rightDist()) {
             setAnchor();
             moveRight(count());
-            replaceText(currentRange(), QString(count(), input.asChar()));
-            moveLeft();
+            if (input.isReturn()) {
+                beginEditBlock();
+                replaceText(currentRange(), QString());
+                insertText(QString("\n"));
+                endEditBlock();
+            } else {
+                replaceText(currentRange(), QString(count(), input.asChar()));
+                moveLeft();
+            }
             setTargetColumn();
             setDotCommand("%1r" + input.text(), count());
         }