aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/hud.coffee
diff options
context:
space:
mode:
authormrmr19932015-06-02 16:51:41 +0100
committermrmr19932015-06-10 17:21:23 +0100
commit673cd268223cdbf1c8ecd47a5826291a91b955d6 (patch)
tree5f4dfa14c118ac352f531413cc4291fbcff9b3d3 /content_scripts/hud.coffee
parent870ca562bfe904971b6055a67259b5c21b1655ee (diff)
downloadvimium-673cd268223cdbf1c8ecd47a5826291a91b955d6.tar.bz2
Move FindMode's keydown to the HUD
Diffstat (limited to 'content_scripts/hud.coffee')
-rw-r--r--content_scripts/hud.coffee25
1 files changed, 24 insertions, 1 deletions
diff --git a/content_scripts/hud.coffee b/content_scripts/hud.coffee
index f16fcca6..c64670ee 100644
--- a/content_scripts/hud.coffee
+++ b/content_scripts/hud.coffee
@@ -77,7 +77,30 @@ HUD =
focusNode?.focus()
findModeQuery.rawQuery = data.query
- handlerStack.bubbleEvent "keydown", data.event
+ @findModeKeydown data.event
+
+ findModeKeydown: (event) ->
+ window.scrollTo findMode.scrollX, findMode.scrollY if findMode.options.returnToViewport
+ if event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey
+ findMode.exit()
+ new PostFindMode if findModeQueryHasResults
+ else if event.keyCode == keyCodes.enter
+ 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()
+ new PostFindMode if findModeQueryHasResults
isReady: do ->
ready = false