diff options
Diffstat (limited to 'content_scripts/hud.coffee')
| -rw-r--r-- | content_scripts/hud.coffee | 25 |
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 |
