From 72e7d2783997df7e3971daca10a71bbebee552fd Mon Sep 17 00:00:00 2001 From: Carl Helmertz Date: Mon, 6 Aug 2012 21:58:02 +0200 Subject: vomnibar: New tabs for 'O' and 'B' 'B' is a new command for searching for a bookmark and opens it in a new tab. 'O' now searches through history and bookmarks and opens the selected item in a new tab. Previously, it started vomnibar with the current URI selected and opened the selection in the same tab. This fixes #594. Signed-off-by: Carl Helmertz --- CREDITS | 1 + background_scripts/commands.coffee | 10 ++++++---- content_scripts/vomnibar.coffee | 10 +++++++--- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CREDITS b/CREDITS index 4aa0c468..5f99dacc 100644 --- a/CREDITS +++ b/CREDITS @@ -11,6 +11,7 @@ Contributors: Bill Casarin (github: jb55) Bill Mill (github: llimllib) Branden Rolston (github: branden) + Carl Helmertz (github: chelmertz) Christian Stefanescu (github: stchris) ConradIrwin Daniel MacDougall (github: dmacdougall) diff --git a/background_scripts/commands.coffee b/background_scripts/commands.coffee index 0fa56e1a..e3001f4f 100644 --- a/background_scripts/commands.coffee +++ b/background_scripts/commands.coffee @@ -91,8 +91,8 @@ Commands = "openCopiedUrlInCurrentTab", "openCopiedUrlInNewTab", "goUp", "enterInsertMode", "focusInput", "LinkHints.activateMode", "LinkHints.activateModeToOpenInNewTab", "LinkHints.activateModeWithQueue", - "Vomnibar.activate", "Vomnibar.activateWithCurrentUrl", "Vomnibar.activateTabSelection", - "Vomnibar.activateBookmarks", + "Vomnibar.activate", "Vomnibar.activateInNewTab", "Vomnibar.activateTabSelection", + "Vomnibar.activateBookmarks", "Vomnibar.activateBookmarksInNewTab", "goPrevious", "goNext", "nextFrame"] findCommands: ["enterFindMode", "performFind", "performBackwardsFind"] historyNavigation: @@ -165,11 +165,12 @@ defaultKeyMappings = "X": "restoreTab" "o": "Vomnibar.activate" - "O": "Vomnibar.activateWithCurrentUrl" + "O": "Vomnibar.activateInNewTab" "T": "Vomnibar.activateTabSelection" "b": "Vomnibar.activateBookmarks" + "B": "Vomnibar.activateBookmarksInNewTab" "gf": "nextFrame" @@ -232,9 +233,10 @@ commandDescriptions = restoreTab: ["Restore closed tab", { background: true }] "Vomnibar.activate": ["Open URL, bookmark, or history entry"] - "Vomnibar.activateWithCurrentUrl": ["Open URL, bookmark, history entry, starting with the current URL"] + "Vomnibar.activateInNewTab": ["Open URL, bookmark, history entry, in a new tab"] "Vomnibar.activateTabSelection": ["Search through your open tabs"] "Vomnibar.activateBookmarks": ["Open a bookmark"] + "Vomnibar.activateBookmarksInNewTab": ["Open a bookmark in a new tab"] nextFrame: ["Cycle forward to the next frame on the page", { background: true, passCountToFunction: true }] diff --git a/content_scripts/vomnibar.coffee b/content_scripts/vomnibar.coffee index 0b96d2bb..9c1e7a31 100644 --- a/content_scripts/vomnibar.coffee +++ b/content_scripts/vomnibar.coffee @@ -10,22 +10,24 @@ Vomnibar = # # Activate the Vomnibox. # - activateWithCompleter: (completerName, refreshInterval, initialQueryValue, selectFirstResult) -> + activateWithCompleter: (completerName, refreshInterval, initialQueryValue, selectFirstResult, forceNewTab) -> completer = @getCompleter(completerName) @vomnibarUI = new VomnibarUI() unless @vomnibarUI completer.refresh() @vomnibarUI.setInitialSelectionValue(if selectFirstResult then 0 else -1) @vomnibarUI.setCompleter(completer) @vomnibarUI.setRefreshInterval(refreshInterval) + @vomnibarUI.setForceNewTab(forceNewTab) @vomnibarUI.show() if (initialQueryValue) @vomnibarUI.setQuery(initialQueryValue) @vomnibarUI.update() activate: -> @activateWithCompleter("omni", 100) - activateWithCurrentUrl: -> @activateWithCompleter("omni", 100, window.location.toString()) + activateInNewTab: -> @activateWithCompleter("omni", 100, null, true, true) activateTabSelection: -> @activateWithCompleter("tabs", 0, null, true) activateBookmarks: -> @activateWithCompleter("bookmarks", 0, null, true) + activateBookmarksInNewTab: -> @activateWithCompleter("bookmarks", 0, null, true, true) getUI: -> @vomnibarUI @@ -45,6 +47,8 @@ class VomnibarUI setRefreshInterval: (refreshInterval) -> @refreshInterval = refreshInterval + setForceNewTab: (forceNewTab) -> @forceNewTab = forceNewTab + show: -> @box.style.display = "block" @input.focus() @@ -92,7 +96,7 @@ class VomnibarUI action = @actionFromKeyEvent(event) return true unless action # pass through - openInNewTab = (event.shiftKey || KeyboardUtils.isPrimaryModifierKey(event)) + openInNewTab = @forceNewTab || (event.shiftKey || KeyboardUtils.isPrimaryModifierKey(event)) if (action == "dismiss") @hide() else if (action == "up") -- cgit v1.2.3