diff options
| author | Stephen Blott | 2015-04-18 13:20:03 +0100 |
|---|---|---|
| committer | Stephen Blott | 2015-04-18 13:20:03 +0100 |
| commit | 756312e9f67d73bbaf1e48cc4f9fe0439ccb7f72 (patch) | |
| tree | 6a933665b710560994b965b970c792a9031f214b | |
| parent | f7b1204d8c4ec2e43df5cef65f89556d143cc43e (diff) | |
| parent | d0cce1e745b66079e88ab5a5392e7fee048b458e (diff) | |
| download | vimium-756312e9f67d73bbaf1e48cc4f9fe0439ccb7f72.tar.bz2 | |
Merge pull request #1572 from smblott-github/return-to-viewport
Return to the original viewport (when no find matches)
| -rw-r--r-- | content_scripts/mode_visual_edit.coffee | 2 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 14 |
2 files changed, 10 insertions, 6 deletions
diff --git a/content_scripts/mode_visual_edit.coffee b/content_scripts/mode_visual_edit.coffee index f3f754af..0b4feb2b 100644 --- a/content_scripts/mode_visual_edit.coffee +++ b/content_scripts/mode_visual_edit.coffee @@ -361,7 +361,7 @@ class Movement extends CountPrefix @movements.n = (count) -> executeFind count, false @movements.N = (count) -> executeFind count, true @movements["/"] = -> - @findMode = window.enterFindMode() + @findMode = window.enterFindMode returnToViewport: true @findMode.onExit => @changeMode VisualMode # # End of Movement constructor. diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index dec34774..409a9373 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -724,9 +724,12 @@ handleEnterForFindMode = -> FindModeHistory.saveQuery findModeQuery.rawQuery class FindMode extends Mode - constructor: -> + constructor: (options = {}) -> @historyIndex = -1 @partialQuery = "" + if options.returnToViewport + @scrollX = window.scrollX + @scrollY = window.scrollY super name: "find" badge: "/" @@ -734,6 +737,7 @@ class FindMode extends Mode exitOnClick: true keydown: (event) => + window.scrollTo @scrollX, @scrollY if options.returnToViewport if event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey @exit() unless handleDeleteForFindMode() @suppressEvent @@ -756,8 +760,8 @@ class FindMode extends Mode DomUtils.suppressPropagation(event) handlerStack.stopBubblingAndFalse - keypress: (event) -> - handlerStack.neverContinueBubbling -> + keypress: (event) => + handlerStack.neverContinueBubbling => if event.keyCode > 31 keyChar = String.fromCharCode event.charCode handleKeyCharForFindMode keyChar if keyChar @@ -990,12 +994,12 @@ findModeRestoreSelection = (range = findModeInitialRange) -> selection.addRange range # Enters find mode. Returns the new find-mode instance. -window.enterFindMode = -> +window.enterFindMode = (options = {}) -> # Save the selection, so performFindInPlace can restore it. findModeSaveSelection() findModeQuery = { rawQuery: "" } HUD.show("/") - new FindMode() + new FindMode options exitFindMode = -> HUD.hide() |
