From 115b32697fd74873d0ebcd21aad2e81dbbd4e3dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Aum=C3=BCller?= <aumuell@reserv.at> Date: Fri, 19 Feb 2010 13:01:38 +0100 Subject: [PATCH] fakevim: 'dtd' would have deleted a line instead of deleteing to the next 'd' Merge-request: 113 Reviewed-by: hjk <qtc-committer@nokia.com> --- src/plugins/fakevim/fakevimhandler.cpp | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 6f2f03ebc52..79030dc7811 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -1140,7 +1140,21 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, { EventResult handled = EventHandled; - if (m_submode == WindowSubMode) { + if (m_subsubmode == FtSubSubMode) { + m_semicolonType = m_subsubdata; + m_semicolonKey = key; + bool valid = handleFfTt(key); + m_subsubmode = NoSubSubMode; + if (!valid) { + m_submode = NoSubMode; + finishMovement(); + } else { + finishMovement(QString("%1%2%3") + .arg(count()) + .arg(QChar(m_semicolonType)) + .arg(QChar(m_semicolonKey))); + } + } else if (m_submode == WindowSubMode) { emit q->windowCommandRequested(key); m_submode = NoSubMode; } else if (m_submode == RegisterSubMode) { @@ -1219,20 +1233,6 @@ EventResult FakeVimHandler::Private::handleCommandMode(int key, int unmodified, handleCommand(QString(QLatin1Char('x'))); else if (key == 'Q') handleCommand("q!"); - } else if (m_subsubmode == FtSubSubMode) { - m_semicolonType = m_subsubdata; - m_semicolonKey = key; - bool valid = handleFfTt(key); - m_subsubmode = NoSubSubMode; - if (!valid) { - m_submode = NoSubMode; - finishMovement(); - } else { - finishMovement(QString("%1%2%3") - .arg(count()) - .arg(QChar(m_semicolonType)) - .arg(QChar(m_semicolonKey))); - } } else if (m_submode == ReplaceSubMode) { if (count() <= (rightDist() + atEndOfLine()) && text.size() == 1 && (text.at(0).isPrint() || text.at(0).isSpace())) { -- GitLab