From 8cb003a18fb99241e908b4e64871746fa49ab25d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= <aumuell@reserv.at> Date: Thu, 18 Mar 2010 13:16:00 +0100 Subject: [PATCH] fakevim: Escape should reset command mode no matter which state the editor was in Merge-request: 131 Reviewed-by: hjk <qtc-committer@nokia.com> --- src/plugins/fakevim/fakevimhandler.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 6b65250b4b2..f52b8aa4610 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1165,7 +1165,17 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, { EventResult handled = EventHandled; - if (m_subsubmode == FtSubSubMode) { + if (key == Key_Escape || key == control(Key_BracketLeft)) { + if (isVisualMode()) { + leaveVisualMode(); + } else if (m_submode != NoSubMode) { + m_submode = NoSubMode; + m_subsubmode = NoSubSubMode; + finishMovement(); + } else { + resetCommandMode(); + } + } else if (m_subsubmode == FtSubSubMode) { m_semicolonType = m_subsubdata; m_semicolonKey = key; bool valid = handleFfTt(key); @@ -1963,16 +1973,6 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, } else if (key == control(Key_BracketRight)) { handleExCommand("tag"); - } else if (key == Key_Escape || key == control(Key_BracketLeft)) { - if (isVisualMode()) { - leaveVisualMode(); - } else if (m_submode != NoSubMode) { - m_submode = NoSubMode; - m_subsubmode = NoSubSubMode; - finishMovement(); - } else { - resetCommandMode(); - } } else { //qDebug() << "IGNORED IN COMMAND MODE: " << key << text // << " VISUAL: " << m_visualMode; -- GitLab