From ea0bfa0038795fef9e7cee55c6776087b999740f Mon Sep 17 00:00:00 2001 From: mike-work Date: Fri, 20 Jun 2014 15:24:30 +0100 Subject: added selection of search engines without pressing tab --- CREDITS | 1 + content_scripts/vomnibar.coffee | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/CREDITS b/CREDITS index 605860fe..d8aee04f 100644 --- a/CREDITS +++ b/CREDITS @@ -28,6 +28,7 @@ Contributors: markstos Matthew Cline Matt Garriott (github: mgarriott) + Michael Hauser-Raspe (github: mijoharas) Murph (github: pandeiro) Niklas Baumstark (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. -- cgit v1.2.3