aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932015-06-02 17:09:00 +0100
committermrmr19932015-06-10 17:21:24 +0100
commite92b9db2aeaa09b1855900936252e27e3535f9da (patch)
treed8fdc5fd1a0a78547a2a547c3643ca756c164504
parent3e3ec8925d2646f9a7fbec3b69c75df8bdc5e86d (diff)
downloadvimium-e92b9db2aeaa09b1855900936252e27e3535f9da.tar.bz2
Handle up and down keys directly in the HUD
-rw-r--r--content_scripts/hud.coffee9
-rw-r--r--content_scripts/vimium_frontend.coffee2
-rw-r--r--pages/hud.coffee19
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 (&nbsp;) 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 (&nbsp;) 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.