From 073f14bee8bdf5fe3efe63bafc578004d47a8e80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Aum=C3=BCller?= <aumuell@reserv.at>
Date: Thu, 21 Jan 2010 17:38:28 +0100
Subject: [PATCH] fakevim: indent when changing text by line ('cj', 'Vc', ...),
 depending on settings

Merge-request: 99
Reviewed-by: hjk <qtc-committer@nokia.com>
---
 src/plugins/fakevim/fakevimhandler.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index d2b4af40f19..bf4751cba23 100755
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -843,6 +843,9 @@ void FakeVimHandler::Private::finishMovement(const QString &dotCommand)
         if (m_movetype == MoveLineWise)
             m_registers[m_register].rangemode = RangeLineMode;
         removeSelectedText(true);
+        if (m_movetype == MoveLineWise) {
+            insertAutomaticIndentation(true);
+        }
         endEditBlock();
         enterInsertMode();
         m_beginEditBlock = false;
@@ -1387,6 +1390,9 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
         m_submode = ChangeSubMode;
     } else if (key == 'c' && (isVisualCharMode() || isVisualLineMode())) {
         m_rangemode = isVisualCharMode() ? RangeCharMode : RangeLineMode;
+        if (isVisualLineMode()) {
+            m_movetype =  MoveLineWise;
+        }
         leaveVisualMode();
         m_submode = ChangeSubMode;
         finishMovement();
-- 
GitLab