aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--content_scripts/link_hints.coffee36
1 files changed, 16 insertions, 20 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee
index 0c311344..b8f835d2 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -257,26 +257,22 @@ LinkHints =
@mode == OPEN_WITH_QUEUE or
@mode == OPEN_IN_NEW_BG_TAB or
@mode == OPEN_IN_NEW_FG_TAB))
- # Toggle whether to open link in a new or current tab.
- prev_mode = @mode
-
- if event.keyCode == keyCodes.shiftKey
- @setOpenLinkMode(if @mode is OPEN_IN_CURRENT_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_CURRENT_TAB)
-
- handlerStack.push
- keyup: (event) =>
- return if (event.keyCode != keyCodes.shiftKey)
- @setOpenLinkMode prev_mode if @isActive
- handlerStack.remove()
-
- else # event.keyCode == keyCodes.ctrlKey
- @setOpenLinkMode(if @mode is OPEN_IN_NEW_FG_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_NEW_FG_TAB)
-
- handlerStack.push
- keyup: (event) =>
- return if (event.keyCode != keyCodes.ctrlKey)
- @setOpenLinkMode prev_mode if @isActive
- handlerStack.remove()
+ # Toggle whether to open the link in a new or current tab.
+ previousMode = @mode
+ keyCode = event.keyCode
+
+ switch keyCode
+ when keyCodes.shiftKey
+ @setOpenLinkMode(if @mode is OPEN_IN_CURRENT_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_CURRENT_TAB)
+ when keyCodes.ctrlKey
+ @setOpenLinkMode(if @mode is OPEN_IN_NEW_FG_TAB then OPEN_IN_NEW_BG_TAB else OPEN_IN_NEW_FG_TAB)
+
+ handlerStack.push
+ keyup: (event) =>
+ return true if (event.keyCode != keyCode)
+ @setOpenLinkMode previousMode if @isActive
+ handlerStack.remove()
+ true
# TODO(philc): Ignore keys that have modifiers.
if (KeyboardUtils.isEscape(event))