From 5ef737632663dc5403cb6439db2df24fcc29af3b Mon Sep 17 00:00:00 2001 From: Stephen Blott Date: Sat, 3 Jan 2015 05:26:48 +0000 Subject: Modes; tidy up find mode. --- content_scripts/mode_passkeys.coffee | 2 +- content_scripts/vimium_frontend.coffee | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/content_scripts/mode_passkeys.coffee b/content_scripts/mode_passkeys.coffee index c7c2c9b7..c754e967 100644 --- a/content_scripts/mode_passkeys.coffee +++ b/content_scripts/mode_passkeys.coffee @@ -17,7 +17,7 @@ class PassKeysMode extends Mode # This is called to set the pass-keys configuration and state with various types of request from various # sources, so we handle several cases. # TODO(smblott) Rationalize this. - setState: (request) -> + configure: (request) -> if request.isEnabledForUrl? @passKeys = (request.isEnabledForUrl and request.passKeys) or "" Mode.updateBadge() diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index 7950bd42..a9b318c6 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -169,7 +169,7 @@ initializePreDomReady = -> setState: setState currentKeyQueue: (request) -> keyQueue = request.keyQueue - passKeysMode.setState request + passKeysMode.configure request chrome.runtime.onMessage.addListener (request, sender, sendResponse) -> # In the options page, we will receive requests from both content and background scripts. ignore those @@ -214,7 +214,7 @@ setState = (request) -> initializeWhenEnabled(request.passKeys) if request.enabled isEnabledForUrl = request.enabled passKeys = request.passKeys - passKeysMode.setState request + passKeysMode.configure request # # The backend needs to know which frame has focus. @@ -572,7 +572,7 @@ checkIfEnabledForUrl = -> else if (HUD.isReady()) # Quickly hide any HUD we might already be showing, e.g. if we entered insert mode on page load. HUD.hide() - passKeysMode.setState response + passKeysMode.configure response Mode.updateBadge() refreshCompletionKeys = (response) -> @@ -728,10 +728,10 @@ handleEnterForFindMode = -> settings.set("findModeRawQuery", findModeQuery.rawQuery) class FindMode extends Mode - constructor: -> + constructor: (badge="F") -> super name: "find" - badge: "F" + badge: badge keydown: (event) => if KeyboardUtils.isEscape event @@ -763,6 +763,9 @@ class FindMode extends Mode Mode.updateBadge() +class FindModeWithoutBadge extends FindMode + constructor: -> super "" + performFindInPlace = -> cachedScrollX = window.scrollX cachedScrollY = window.scrollY @@ -790,7 +793,7 @@ executeFind = (query, options) -> HUD.hide(true) # ignore the selectionchange event generated by find() document.removeEventListener("selectionchange",restoreDefaultSelectionHighlight, true) - Mode.runIn FindMode, -> + Mode.runIn FindModeWithoutBadge, -> result = window.find(query, options.caseSensitive, options.backwards, true, false, true, false) setTimeout( -> document.addEventListener("selectionchange", restoreDefaultSelectionHighlight, true) -- cgit v1.2.3