diff options
| author | mrmr1993 | 2015-06-02 17:09:00 +0100 |
|---|---|---|
| committer | mrmr1993 | 2015-06-10 17:21:24 +0100 |
| commit | e92b9db2aeaa09b1855900936252e27e3535f9da (patch) | |
| tree | d8fdc5fd1a0a78547a2a547c3643ca756c164504 | |
| parent | 3e3ec8925d2646f9a7fbec3b69c75df8bdc5e86d (diff) | |
| download | vimium-e92b9db2aeaa09b1855900936252e27e3535f9da.tar.bz2 | |
Handle up and down keys directly in the HUD
| -rw-r--r-- | content_scripts/hud.coffee | 9 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 2 | ||||
| -rw-r--r-- | pages/hud.coffee | 19 |
3 files changed, 17 insertions, 13 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee index c64670ee..9eeb4579 100644 --- a/content_scripts/hud.coffee +++ b/content_scripts/hud.coffee @@ -88,15 +88,6 @@ HUD = handleEnterForFindMode() findMode.exit() new PostFindMode if findModeQueryHasResults - else if event.keyCode == keyCodes.upArrow - if rawQuery = FindModeHistory.getQuery findMode.historyIndex + 1 - findMode.historyIndex += 1 - findMode.partialQuery = findModeQuery.rawQuery if findMode.historyIndex == 0 - HUD.showFindMode rawQuery - else if event.keyCode == keyCodes.downArrow - findMode.historyIndex = Math.max -1, findMode.historyIndex - 1 - rawQuery = if 0 <= findMode.historyIndex then FindModeHistory.getQuery findMode.historyIndex else findMode.partialQuery - HUD.showFindMode rawQuery else if KeyboardUtils.isEscape event findMode.exit() handleEscapeForFindMode() diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index ef554cae..a6387da1 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -690,8 +690,6 @@ window.handleEnterForFindMode = -> class FindMode extends Mode constructor: (@options = {}) -> - @historyIndex = -1 - @partialQuery = "" if @options.returnToViewport @scrollX = window.scrollX @scrollY = window.scrollY diff --git a/pages/hud.coffee b/pages/hud.coffee index a3599c8a..19dff25b 100644 --- a/pages/hud.coffee +++ b/pages/hud.coffee @@ -1,3 +1,5 @@ +findMode = null + document.addEventListener "keydown", (event) -> inputElement = document.getElementById "hud-find-input" return unless inputElement? # Don't do anything if we're not in find mode. @@ -6,8 +8,7 @@ document.addEventListener "keydown", (event) -> transferrableEvent[key] = value if typeof value in ["number", "string"] if (event.keyCode in [keyCodes.backspace, keyCodes.deleteKey] and inputElement.textContent.length == 0) or - event.keyCode in [keyCodes.enter, keyCodes.upArrow, keyCodes.downArrow] or - KeyboardUtils.isEscape event + event.keyCode == keyCodes.enter or KeyboardUtils.isEscape event DomUtils.suppressEvent event UIComponentServer.postMessage @@ -16,6 +17,16 @@ document.addEventListener "keydown", (event) -> # Replace \u00A0 ( ) with a normal space. query: inputElement.textContent.replace "\u00A0", " " + else if event.keyCode == keyCodes.upArrow + if rawQuery = FindModeHistory.getQuery findMode.historyIndex + 1 + findMode.historyIndex += 1 + findMode.partialQuery = findModeQuery.rawQuery if findMode.historyIndex == 0 + handlers.showFindMode rawQuery + else if event.keyCode == keyCodes.downArrow + findMode.historyIndex = Math.max -1, findMode.historyIndex - 1 + rawQuery = if 0 <= findMode.historyIndex then FindModeHistory.getQuery findMode.historyIndex else findMode.partialQuery + handlers.showFindMode rawQuery + handlers = show: (data) -> document.getElementById("hud").innerText = data.text @@ -50,6 +61,10 @@ handlers = # Replace \u00A0 ( ) with a normal space. UIComponentServer.postMessage {name: "search", query: inputElement.textContent.replace "\u00A0", " "} + findMode = + historyIndex: -1 + partialQuery: "" + updateMatchesCount: ({matchCount, showMatchText}) -> countElement = document.getElementById "hud-match-count" return unless countElement? # Don't do anything if we're not in find mode. |
