From cb8c40d7e923fd7f1d131ef05924fdfac90d7c73 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Mon, 10 May 2010 16:41:35 +0200 Subject: [PATCH] fakevim: consolidate Key_Return and Key_Backspace handling --- src/plugins/fakevim/fakevimhandler.cpp | 34 +++++++++++++++++--------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index ab214b0456e..83f9c4d169a 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -336,11 +336,22 @@ public: { return m_xkey >= '0' && m_xkey <= '9'; } + bool isKey(int c) const { return !m_modifiers && m_key == c; } + bool isBackspace() const + { + return m_key == Key_Backspace || isControl('h'); + } + + bool isReturn() const + { + return m_key == Key_Return; + } + bool is(int c) const { return m_xkey == c && (m_modifiers == 0 || m_modifiers == Qt::ShiftModifier); @@ -1679,12 +1690,12 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input) finishMovement(); } else if (m_submode == ZSubMode) { //qDebug() << "Z_MODE " << cursorLineInDocument() << linesOnScreen(); - if (input.isKey(Key_Return) || input.is('t')) { + if (input.isReturn() || input.is('t')) { // Cursor line to top of window. if (!m_mvcount.isEmpty()) setPosition(firstPositionInLine(count())); scrollUp(- cursorLineOnScreen()); - if (input.isKey(Key_Return)) + if (input.isReturn()) moveToFirstNonBlankOnLine(); finishMovement(); } else if (input.is('.') || input.is('z')) { @@ -1806,7 +1817,7 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input) updateMiniBuffer(); } else if (input.is('"')) { m_submode = RegisterSubMode; - } else if (input.isKey(Key_Return)) { + } else if (input.isReturn()) { moveToStartOfLine(); moveDown(); moveToFirstNonBlankOnLine(); @@ -2024,8 +2035,7 @@ EventResult FakeVimHandler::Private::handleCommandMode(const Input &input) m_tc.setPosition(firstPositionInLine(n), KeepAnchor); } finishMovement(dotCommand); - } else if (input.is('h') || input.isKey(Key_Left) - || input.isKey(Key_Backspace) || input.isControl('h')) { + } else if (input.is('h') || input.isKey(Key_Left) || input.isBackspace()) { m_movetype = MoveExclusive; int n = qMin(count(), leftDist()); if (m_fakeEnd && m_tc.block().length() > 1) @@ -2487,13 +2497,13 @@ EventResult FakeVimHandler::Private::handleInsertMode(const Input &input) moveBehindEndOfLine(); setTargetColumn(); m_lastInsertion.clear(); - } else if (input.isKey(Key_Return)) { + } else if (input.isReturn()) { m_submode = NoSubMode; m_tc.insertBlock(); m_lastInsertion += "\n"; insertAutomaticIndentation(true); setTargetColumn(); - } else if (input.isKey(Key_Backspace) || input.isControl('h')) { + } else if (input.isBackspace()) { joinPreviousEditBlock(); m_justAutoIndented = 0; if (!m_lastInsertion.isEmpty() || hasConfig(ConfigBackspace, "start")) { @@ -2589,7 +2599,7 @@ EventResult FakeVimHandler::Private::handleExMode(const Input &input) m_commandBuffer.clear(); enterCommandMode(); updateMiniBuffer(); - } else if (input.isKey(Key_Backspace)) { + } else if (input.isBackspace()) { if (m_commandBuffer.isEmpty()) { enterCommandMode(); } else { @@ -2601,7 +2611,7 @@ EventResult FakeVimHandler::Private::handleExMode(const Input &input) if (!m_commandBuffer.isEmpty()) m_commandBuffer.chop(1); updateMiniBuffer(); - } else if (input.isKey(Key_Return)) { + } else if (input.isReturn()) { if (!m_commandBuffer.isEmpty()) { g.commandHistory.takeLast(); g.commandHistory.append(m_commandBuffer); @@ -2639,7 +2649,7 @@ EventResult FakeVimHandler::Private::handleSearchSubSubMode(const Input &input) m_commandBuffer.clear(); enterCommandMode(); updateMiniBuffer(); - } else if (input.isKey(Key_Backspace)) { + } else if (input.isBackspace()) { if (m_commandBuffer.isEmpty()) enterCommandMode(); else @@ -2649,7 +2659,7 @@ EventResult FakeVimHandler::Private::handleSearchSubSubMode(const Input &input) if (!m_commandBuffer.isEmpty()) m_commandBuffer.chop(1); updateMiniBuffer(); - } else if (input.isKey(Key_Return) && !hasConfig(ConfigIncSearch)) { + } else if (input.isReturn() && !hasConfig(ConfigIncSearch)) { QString needle = m_commandBuffer; if (!needle.isEmpty()) { g.searchHistory.takeLast(); @@ -2676,7 +2686,7 @@ EventResult FakeVimHandler::Private::handleSearchSubSubMode(const Input &input) } else if (input.isKey(Key_Tab)) { m_commandBuffer += QChar(9); updateMiniBuffer(); - } else if (input.isKey(Key_Return) && hasConfig(ConfigIncSearch)) { + } else if (input.isReturn() && hasConfig(ConfigIncSearch)) { QString needle = m_commandBuffer; enterCommandMode(); highlightMatches(needle); -- GitLab