diff --git a/chrome/content/preferences.xul b/chrome/content/preferences.xul index 66476c8..e4267b1 100644 --- a/chrome/content/preferences.xul +++ b/chrome/content/preferences.xul @@ -62,6 +62,7 @@ + @@ -226,6 +227,7 @@ + @@ -1317,4 +1319,4 @@ } ]]> - \ No newline at end of file + diff --git a/chrome/content/tabutils.js b/chrome/content/tabutils.js index 679af62..e53e3ae 100644 --- a/chrome/content/tabutils.js +++ b/chrome/content/tabutils.js @@ -898,6 +898,15 @@ tabutils._tabClosingOptions = function() { switch (event.keyCode) { case event.DOM_VK_UP: case event.DOM_VK_DOWN: + if (!TU_getPref("extensions.tabutils.handleCtrlArrowUpDown")) + return; + if (event.shiftKey) + return; + event.stopPropagation(); // Compat. with some sites + if (TU_getPref("extensions.tabutils.handleCtrl")) + gBrowser._previewMode = true; + break; + case event.DOM_VK_LEFT: case event.DOM_VK_RIGHT: if (!TU_getPref("extensions.tabutils.handleCtrlArrow")) @@ -939,7 +948,7 @@ tabutils._tabClosingOptions = function() { break; case event.DOM_VK_UP: case event.DOM_VK_DOWN: - if (!event.shiftKey && TU_getPref("extensions.tabutils.handleCtrlArrow")) { + if (!event.shiftKey && TU_getPref("extensions.tabutils.handleCtrlArrowUpDown")) { gBrowser.selectedTab = gBrowser.nextSiblingTabOf(gBrowser.selectedTab, event.keyCode == event.DOM_VK_UP ? -1 : 1, true); event.stopPropagation(); event.preventDefault(); @@ -956,6 +965,12 @@ tabutils._tabClosingOptions = function() { TU_getPref("extensions.tabutils.handleCtrlArrow")) event.stopPropagation(); // Compat. with some sites break; + case event.DOM_VK_UP: + case event.DOM_VK_DOWN: + if (event.ctrlKey && !event.altKey && !event.shiftKey && !event.metaKey && + TU_getPref("extensions.tabutils.handleCtrlArrowUpDown")) + event.stopPropagation(); // Compat. with some sites + break; } }, true); diff --git a/chrome/locale/de/preferences.dtd b/chrome/locale/de/preferences.dtd index 0aa5eef..12b7da5 100644 --- a/chrome/locale/de/preferences.dtd +++ b/chrome/locale/de/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/en-US/preferences.dtd b/chrome/locale/en-US/preferences.dtd index 25b5217..98d5ed6 100644 --- a/chrome/locale/en-US/preferences.dtd +++ b/chrome/locale/en-US/preferences.dtd @@ -62,7 +62,8 @@ - + + diff --git a/chrome/locale/es-ES/preferences.dtd b/chrome/locale/es-ES/preferences.dtd index 36fed8a..ac15b1d 100644 --- a/chrome/locale/es-ES/preferences.dtd +++ b/chrome/locale/es-ES/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/it/preferences.dtd b/chrome/locale/it/preferences.dtd index f2bd8dd..62c4723 100644 --- a/chrome/locale/it/preferences.dtd +++ b/chrome/locale/it/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/ja-JP/preferences.dtd b/chrome/locale/ja-JP/preferences.dtd index 82e58d3..f628c26 100644 --- a/chrome/locale/ja-JP/preferences.dtd +++ b/chrome/locale/ja-JP/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/pl/preferences.dtd b/chrome/locale/pl/preferences.dtd index 91bf634..89f8b41 100644 --- a/chrome/locale/pl/preferences.dtd +++ b/chrome/locale/pl/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/pt-BR/preferences.dtd b/chrome/locale/pt-BR/preferences.dtd index b826d9b..1e7a2bf 100644 --- a/chrome/locale/pt-BR/preferences.dtd +++ b/chrome/locale/pt-BR/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/ru/preferences.dtd b/chrome/locale/ru/preferences.dtd index 8def588..f9f9836 100644 --- a/chrome/locale/ru/preferences.dtd +++ b/chrome/locale/ru/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/zh-CN/preferences.dtd b/chrome/locale/zh-CN/preferences.dtd index 2de8ac2..c9d67a4 100644 --- a/chrome/locale/zh-CN/preferences.dtd +++ b/chrome/locale/zh-CN/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/chrome/locale/zh-TW/preferences.dtd b/chrome/locale/zh-TW/preferences.dtd index 159ed29..301a42f 100644 --- a/chrome/locale/zh-TW/preferences.dtd +++ b/chrome/locale/zh-TW/preferences.dtd @@ -63,6 +63,7 @@ + diff --git a/defaults/preferences/prefs.js b/defaults/preferences/prefs.js index 275840d..13f3b9a 100644 --- a/defaults/preferences/prefs.js +++ b/defaults/preferences/prefs.js @@ -24,6 +24,7 @@ pref("extensions.tabutils.removeUnintentionalBlank", false); pref("extensions.tabutils.closeLastWindowWithLastTab", false); pref("extensions.tabutils.handleCtrlTab", false); pref("extensions.tabutils.handleCtrlArrow", false); +pref("extensions.tabutils.handleCtrlArrowUpDown", false); pref("extensions.tabutils.handleCtrl", true); pref("extensions.tabutils.singleWindowMode", false);