From f6d4680ffefb7bcc5f7ed773861c198da0f38ccd Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Mon, 8 Feb 2010 14:06:48 +0100
Subject: [PATCH] fakevim: make ':r' undoable and behave more vim-ish

---
 src/plugins/fakevim/fakevimhandler.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp
index c739aa9ca41..af363781457 100644
--- a/src/plugins/fakevim/fakevimhandler.cpp
+++ b/src/plugins/fakevim/fakevimhandler.cpp
@@ -2354,14 +2354,19 @@ void FakeVimHandler::Private::handleExCommand(const QString &cmd0)
                 ("Cannot open file '%1' for reading").arg(fileName));
         }
     } else if (cmd.startsWith(QLatin1String("r "))) { // :r
+        beginEditBlock();
+        moveToStartOfLine();
+        setTargetColumn();
+        moveDown();
         m_currentFileName = cmd.mid(2);
         QFile file(m_currentFileName);
         file.open(QIODevice::ReadOnly);
         QTextStream ts(&file);
         QString data = ts.readAll();
-        EDITOR(setPlainText(data));
+        m_tc.insertText(data);
         showBlackMessage(FakeVimHandler::tr("\"%1\" %2L, %3C")
             .arg(m_currentFileName).arg(data.count('\n')).arg(data.size()));
+        endEditBlock();
     } else if (cmd.startsWith(QLatin1Char('!'))) {
         selectRange(beginLine, endLine);
         QString command = cmd.mid(1).trimmed();
-- 
GitLab