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 /pages | |
| parent | 3e3ec8925d2646f9a7fbec3b69c75df8bdc5e86d (diff) | |
| download | vimium-e92b9db2aeaa09b1855900936252e27e3535f9da.tar.bz2 | |
Handle up and down keys directly in the HUD
Diffstat (limited to 'pages')
| -rw-r--r-- | pages/hud.coffee | 19 | 
1 files changed, 17 insertions, 2 deletions
| 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. | 
