From ea43bf138015af760adca605692ab8876c969446 Mon Sep 17 00:00:00 2001 From: mrmr1993 Date: Sat, 11 Nov 2017 19:05:59 +0000 Subject: Clear tabCount explicitly when needed, instead of implicitly and undoing This changes the behaviour of Enter and Space. * It should make no difference for Enter, as it exits the mode. * It makes no sense for rotating the layering of the hints to clear the active hint (when the next key is pressed), so I suspect it was an oversight. --- content_scripts/link_hints.coffee | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'content_scripts') diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee index f2fb7c19..291f524e 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 @@ -262,6 +258,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 @@ -273,15 +270,14 @@ class LinkHintsMode HintCoordinator.sendMessage "activateActiveHintMarker" if @markerMatcher.activeHintMarker else if event.key == "Tab" - @tabCount = previousTabCount + (if event.shiftKey then -1 else 1) + if event.shiftKey then @tabCount-- else @tabCount++ @updateVisibleMarkers @tabCount 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 + @tabCount = 0 unless event.ctrlKey or event.metaKey or event.altKey unless event.repeat keyChar = if Settings.get "filterLinkHints" -- cgit v1.2.3