diff options
| author | mrmr1993 | 2015-06-02 16:51:41 +0100 | 
|---|---|---|
| committer | mrmr1993 | 2015-06-10 17:21:23 +0100 | 
| commit | 673cd268223cdbf1c8ecd47a5826291a91b955d6 (patch) | |
| tree | 5f4dfa14c118ac352f531413cc4291fbcff9b3d3 /content_scripts | |
| parent | 870ca562bfe904971b6055a67259b5c21b1655ee (diff) | |
| download | vimium-673cd268223cdbf1c8ecd47a5826291a91b955d6.tar.bz2 | |
Move FindMode's keydown to the HUD
Diffstat (limited to 'content_scripts')
| -rw-r--r-- | content_scripts/hud.coffee | 25 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 35 | 
2 files changed, 30 insertions, 30 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 diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 03659bf0..e5a0f61a 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -7,7 +7,7 @@  window.findModeQuery = { rawQuery: "", matchCount: 0 }  window.findMode = null -findModeQueryHasResults = false +window.findModeQueryHasResults = false  findModeAnchorNode = null  findModeInitialRange = null  isShowingHelpDialog = false @@ -625,7 +625,7 @@ isValidFirstKey = (keyChar) ->  # This implements find-mode query history (using the "findModeRawQueryList" setting) as a list of raw queries,  # most recent first. -FindModeHistory = +window.FindModeHistory =    storage: chrome.storage.local    key: "findModeRawQueryList"    max: 50 @@ -712,7 +712,7 @@ window.updateFindModeQuery = ->      text = document.body.innerText      findModeQuery.matchCount = text.match(pattern)?.length -handleEscapeForFindMode = -> +window.handleEscapeForFindMode = ->    document.body.classList.remove("vimiumFindMode")    # removing the class does not re-color existing selections. we recreate the current selection so it reverts    # back to the default color. @@ -726,7 +726,7 @@ handleEscapeForFindMode = ->  # <esc> sends us into insert mode if possible, but <cr> does not.  # <esc> corresponds approximately to 'nevermind, I have found it already' while <cr> means 'I want to save  # this query and do more searches with it' -handleEnterForFindMode = -> +window.handleEnterForFindMode = ->    focusFoundLink()    document.body.classList.add("vimiumFindMode")    FindModeHistory.saveQuery findModeQuery.rawQuery @@ -743,29 +743,6 @@ class FindMode extends Mode        indicator: false        exitOnClick: true -      keydown: (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 -    exit: (event) ->      super()      handleEscapeForFindMode() if event @@ -775,7 +752,7 @@ window.performFindInPlace = ->    # match as the user adds matching characters, or removes previously-matched characters. See #1434.    findModeRestoreSelection()    query = if findModeQuery.isRegex then getNextQueryFromRegexMatches(0) else findModeQuery.parsedQuery -  findModeQueryHasResults = executeFind(query, { caseSensitive: !findModeQuery.ignoreCase }) +  window.findModeQueryHasResults = executeFind(query, { caseSensitive: !findModeQuery.ignoreCase })  # :options is an optional dict. valid parameters are 'caseSensitive' and 'backwards'.  executeFind = (query, options) -> @@ -845,7 +822,7 @@ findAndFocus = (backwards) ->    Marks.setPreviousPosition()    query = getFindModeQuery backwards -  findModeQueryHasResults = +  window.findModeQueryHasResults =      executeFind(query, { backwards: backwards, caseSensitive: !findModeQuery.ignoreCase })    if findModeQueryHasResults  | 
