]> git.wh0rd.org - tt-rss.git/blobdiff - prefs.js
display active hotkey prefix on screen
[tt-rss.git] / prefs.js
index fc7d1db3673756c5dea12c30a8cef94e867a44ea..820c31eacccb56002873155d490f6cb4c4a20851 100644 (file)
--- a/prefs.js
+++ b/prefs.js
@@ -6,6 +6,7 @@ var init_params = new Array();
 var caller_subop = false;
 var sanity_check_done = false;
 var hotkey_prefix = false;
+var hotkey_prefix_pressed = false;
 
 var color_picker_active = false;
 var selection_disabled = false;
@@ -1054,8 +1055,10 @@ function selectTab(id, noupdate, subop) {
        try {
 
                try {
-                       var c = $('prefContent');       
-                       c.scrollTop = 0;
+                       if (id != active_tab) {
+                               var c = $('prefContent');       
+                               c.scrollTop = 0;
+                       }
                } catch (e) { };
 
                if (!noupdate) {
@@ -1203,6 +1206,8 @@ function init_second_stage() {
 
                loading_set_progress(60);
 
+               setTimeout("hotkey_prefix_timeout()", 5*1000);
+
        } catch (e) {
                exception_error("init_second_stage", e);
        }
@@ -1406,6 +1411,8 @@ function pref_hotkey_handler(e) {
                var keycode;
                var shift_key = false;
 
+               var cmdline = $('cmdline');
+
                try {
                        shift_key = e.shiftKey;
                } catch (e) {
@@ -1438,6 +1445,15 @@ function pref_hotkey_handler(e) {
 
                if ((keycode == 67 || keycode == 71) && !hotkey_prefix) {
                        hotkey_prefix = keycode;
+
+                       var date = new Date();
+                       var ts = Math.round(date.getTime() / 1000);
+
+                       hotkey_prefix_pressed = ts;
+
+                       cmdline.innerHTML = keychar;
+                       Element.show(cmdline);
+
                        debug("KP: PREFIX=" + keycode + " CHAR=" + keychar);
                        return;
                }
@@ -1454,6 +1470,8 @@ function pref_hotkey_handler(e) {
 
                /* Global hotkeys */
 
+               Element.hide(cmdline);
+
                if (!hotkey_prefix) {
 
                        if (keycode == 68 && shift_key) { // d
@@ -2103,7 +2121,7 @@ function mouse_down_handler(e) {
        try {
 
                /* do not prevent right click */
-               if (e.button && e.button == 2) return;
+               if (e && e.button && e.button == 2) return;
 
                if (selection_disabled) {
                        document.onselectstart = function() { return false; };
@@ -2111,7 +2129,7 @@ function mouse_down_handler(e) {
                }
 
        } catch (e) {
-               exception_error("mouse_move_handler", e);
+               exception_error("mouse_down_handler", e);
        }
 }
 
@@ -2128,7 +2146,7 @@ function mouse_up_handler(e) {
                }
 
        } catch (e) {
-               exception_error("mouse_move_handler", e);
+               exception_error("mouse_up_handler", e);
        }
 }