diff options
Diffstat (limited to 'content_scripts/link_hints.coffee')
| -rw-r--r-- | content_scripts/link_hints.coffee | 17 | 
1 files changed, 7 insertions, 10 deletions
| diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index 96370bb4..546d5914 100644 --- a/content_scripts/link_hints.coffee +++ b/content_scripts/link_hints.coffee @@ -232,13 +232,9 @@ class LinkHintsMode    onKeyDownInMode: (event) ->      return if event.repeat -    previousTabCount = @tabCount -    @tabCount = 0 -      # NOTE(smblott) The modifier behaviour here applies only to alphabet hints.      if event.key in ["Control", "Shift"] and not Settings.get("filterLinkHints") and        @mode in [ OPEN_IN_CURRENT_TAB, OPEN_WITH_QUEUE, OPEN_IN_NEW_BG_TAB, OPEN_IN_NEW_FG_TAB ] -        @tabCount = previousTabCount          # Toggle whether to open the link in a new or current tab.          previousMode = @mode          key = event.key @@ -258,6 +254,7 @@ class LinkHintsMode      else if KeyboardUtils.isBackspace event        if @markerMatcher.popKeyChar() +        @tabCount = 0          @updateVisibleMarkers()        else          # Exit via @hintMode.exit(), so that the LinkHints.activate() "onExit" callback sees the key event and @@ -269,15 +266,13 @@ class LinkHintsMode        HintCoordinator.sendMessage "activateActiveHintMarker" if @markerMatcher.activeHintMarker      else if event.key == "Tab" -      @tabCount = previousTabCount + (if event.shiftKey then -1 else 1) -      @updateVisibleMarkers @tabCount +      if event.shiftKey then @tabCount-- else @tabCount++ +      @updateVisibleMarkers()      else if event.key == " " and @markerMatcher.shouldRotateHints event -      @tabCount = previousTabCount        HintCoordinator.sendMessage "rotateHints"      else -      @tabCount = previousTabCount if event.ctrlKey or event.metaKey or event.altKey        unless event.repeat          keyChar =            if Settings.get "filterLinkHints" @@ -287,6 +282,7 @@ class LinkHintsMode          if keyChar            keyChar = " " if keyChar == "space"            if keyChar.length == 1 +            @tabCount = 0              @markerMatcher.pushKeyChar keyChar              @updateVisibleMarkers()            else @@ -294,9 +290,10 @@ class LinkHintsMode      handlerStack.suppressEvent -  updateVisibleMarkers: (tabCount = 0) -> +  updateVisibleMarkers: ->      {hintKeystrokeQueue, linkTextKeystrokeQueue} = @markerMatcher -    HintCoordinator.sendMessage "updateKeyState", {hintKeystrokeQueue, linkTextKeystrokeQueue, tabCount} +    HintCoordinator.sendMessage "updateKeyState", +      {hintKeystrokeQueue, linkTextKeystrokeQueue, tabCount: @tabCount}    updateKeyState: ({hintKeystrokeQueue, linkTextKeystrokeQueue, tabCount}) ->      extend @markerMatcher, {hintKeystrokeQueue, linkTextKeystrokeQueue} | 
