From 470789b11c912c021a9813c5f298e7129eac0f45 Mon Sep 17 00:00:00 2001 From: "hyatt%netscape.com" Date: Fri, 18 Oct 2002 22:43:30 +0000 Subject: [PATCH] Adding support for ALT+n to select the nth tab. --- browser/base/content/browser.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 554ae39e133c..70319ea03477 100644 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -382,6 +382,8 @@ function delayedStartup(aElt) gBrowser.addEventListener("load", function(evt) { setTimeout(loadEventHandlers, 0, evt); }, true); + window.addEventListener("keypress", altNumberTabSelection, true); + if (gMustLoadSidebar) { var sidebar = document.getElementById("sidebar"); sidebar.setAttribute("src", window.opener.document.getElementById("sidebar").getAttribute("src")); @@ -455,6 +457,33 @@ function Shutdown() appCore.close(); } +function altNumberTabSelection(event) +{ + if (!event.altKey) + return; + + var index = event.charCode - 49; + if (index == -1) + index = 9; + if (index < 0 || index > 9) + return false; + + if (index >= gBrowser.mTabContainer.childNodes.length) + return false; + + var oldTab = gBrowser.selectedTab; + var newTab = gBrowser.mTabContainer.childNodes[index]; + if (newTab != oldTab) { + oldTab.selected = false; + gBrowser.selectedTab = newTab; + } + + event.preventDefault(); + event.preventBubble(); + event.preventCapture(); + event.stopPropagation(); +} + function gotoHistoryIndex(aEvent) { var index = aEvent.target.getAttribute("index");