diff options
| -rw-r--r-- | CREDITS | 1 | ||||
| -rw-r--r-- | content_scripts/vomnibar.coffee | 10 |
2 files changed, 11 insertions, 0 deletions
@@ -28,6 +28,7 @@ Contributors: markstos Matthew Cline <matt@nightrealms.com> Matt Garriott (github: mgarriott) + Michael Hauser-Raspe (github: mijoharas) Murph (github: pandeiro) Niklas Baumstark <niklas.baumstark@gmail.com> (github: niklasb) rodimius diff --git a/content_scripts/vomnibar.coffee b/content_scripts/vomnibar.coffee index 6782ab28..fdf6c88b 100644 --- a/content_scripts/vomnibar.coffee +++ b/content_scripts/vomnibar.coffee @@ -68,8 +68,18 @@ class VomnibarUI @update(true) updateSelection: -> + # We have taken the option to add some global state here (previousCompletionType) to tell if a search + # item has just appeared or disappeared, if that happens we either set the initialSelectionValue to 0 or 1 + # I feel that this approach is cleaner than bubbling the state up from the suggestion level + # so we just inspect it afterwards + if @completions[0] + if @previousCompletionType != "search" && @completions[0].type == "search" + @selection = 0 + else if @previousCompletionType == "search" && @completions[0].type != "search" + @selection = -1 for i in [0...@completionList.children.length] @completionList.children[i].className = (if i == @selection then "vomnibarSelected" else "") + @previousCompletionType = @completions[0].type if @completions[0] # # Returns the user's action ("up", "down", "enter", "dismiss" or null) based on their keypress. |
