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);