aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2015-04-18 13:20:03 +0100
committerStephen Blott2015-04-18 13:20:03 +0100
commit756312e9f67d73bbaf1e48cc4f9fe0439ccb7f72 (patch)
tree6a933665b710560994b965b970c792a9031f214b
parentf7b1204d8c4ec2e43df5cef65f89556d143cc43e (diff)
parentd0cce1e745b66079e88ab5a5392e7fee048b458e (diff)
downloadvimium-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.coffee2
-rw-r--r--content_scripts/vimium_frontend.coffee14
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()