From 93c60417aa2fb365a5c04fab78723b76376a672e Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Fri, 19 Dec 2008 13:03:39 +0100
Subject: [PATCH] use QTextEdit's "overwriteMode" instead of playing around
 with the cursor width manually.

---
 src/plugins/fakevim/fakevimplugin.cpp | 7 ++-----
 src/plugins/fakevim/fakevimplugin.h   | 1 -
 2 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp
index 72671a37c60..fe283cf862d 100644
--- a/src/plugins/fakevim/fakevimplugin.cpp
+++ b/src/plugins/fakevim/fakevimplugin.cpp
@@ -157,10 +157,7 @@ void FakeVimPlugin::installHandler()
         return;
     plainTextEdit->removeEventFilter(m_handler);
     plainTextEdit->installEventFilter(m_handler);
-    QFont font = plainTextEdit->font();
-    //font.setFamily("Monospace");
-    m_savedCursorWidth = plainTextEdit->cursorWidth();
-    plainTextEdit->setCursorWidth(QFontMetrics(font).width(QChar('x')));
+    plainTextEdit->setOverwriteMode(true);
 
     //QMainWindow mw;
     connect(m_handler, SIGNAL(commandBufferChanged(QString)),
@@ -175,7 +172,7 @@ void FakeVimPlugin::removeHandler(QObject *ob)
     QPlainTextEdit *plainTextEdit = qobject_cast<QPlainTextEdit *>(ob);
     if (!plainTextEdit)
         return;
-    plainTextEdit->setCursorWidth(m_savedCursorWidth);
+    plainTextEdit->setOverwriteMode(false);
 }
 
 void FakeVimPlugin::showCommandBuffer(const QString &contents)
diff --git a/src/plugins/fakevim/fakevimplugin.h b/src/plugins/fakevim/fakevimplugin.h
index f31ad1e68e6..d424f0eb66e 100644
--- a/src/plugins/fakevim/fakevimplugin.h
+++ b/src/plugins/fakevim/fakevimplugin.h
@@ -74,7 +74,6 @@ private:
     FakeVimHandler *m_handler;
     ExtensionSystem::PluginManager *m_pm;
     QAction *m_installHandlerAction;
-    int m_savedCursorWidth;
 };
 
 } // namespace Internal
-- 
GitLab