diff --git a/functions.js b/functions.js index 1e28f1392c27758358f8f8db427957b4ae660210..6ab23b0f2b55022c8b806094414f40b50aa819d4 100644 --- a/functions.js +++ b/functions.js @@ -2169,3 +2169,25 @@ function html5AudioOrFlash(type) { } } } */ + +function hotkey_prefix_timeout() { + try { + + var date = new Date(); + var ts = Math.round(date.getTime() / 1000); + + if (hotkey_prefix_pressed && ts - hotkey_prefix_pressed >= 5) { + debug("hotkey_prefix seems to be stuck, aborting"); + hotkey_prefix_pressed = false; + hotkey_prefix = false; + Element.hide('cmdline'); + } + + setTimeout("hotkey_prefix_timeout()", 1000); + + } catch (e) { + exception_error("hotkey_prefix_timeout", e); + } +} + + diff --git a/images/shadow_dark.png b/images/shadow_dark.png index a300e9492b1371f6e8d79ae3d1f2ddd17c4092ae..3a26b2a5c4bf7613bb373921a74a6fd504b9d2bf 100644 Binary files a/images/shadow_dark.png and b/images/shadow_dark.png differ diff --git a/prefs.js b/prefs.js index 7f1f89dfb612507632c3e98b7ac62afec24d1999..820c31eacccb56002873155d490f6cb4c4a20851 100644 --- 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; @@ -1205,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); } @@ -1408,6 +1411,8 @@ function pref_hotkey_handler(e) { var keycode; var shift_key = false; + var cmdline = $('cmdline'); + try { shift_key = e.shiftKey; } catch (e) { @@ -1440,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; } @@ -1456,6 +1470,8 @@ function pref_hotkey_handler(e) { /* Global hotkeys */ + Element.hide(cmdline); + if (!hotkey_prefix) { if (keycode == 68 && shift_key) { // d diff --git a/prefs.php b/prefs.php index 99c00fd21f931bb88a7501fb7cfdb7405a088e1a..91f813b85818c187a3f6c9cacbb9982a651f3824 100644 --- a/prefs.php +++ b/prefs.php @@ -147,6 +147,8 @@ window.onload = init; <div id="notify" class="notify"><span id="notify_body"> </span></div> <div id="infoBoxShadow"><div id="infoBox">BAH</div></div> +<div id="cmdline" style="display : none"></div> + <div id="errorBoxShadow" style="display : none"> <div id="errorBox"> <div id="xebTitle">Fatal Exception</div><div id="xebContent"> </div> diff --git a/tt-rss.css b/tt-rss.css index 2d4f2c23a5aac196902454a1779e4132575e943a..f188967847089f9d401323c4d82238fe132219ee 100644 --- a/tt-rss.css +++ b/tt-rss.css @@ -2214,3 +2214,15 @@ option { color : black; } +div#cmdline { + position : absolute; + left : 5px; + bottom : 5px; + font-size : 11px; + color : gray; + font-weight : bold; + background-color : white; + border : 1px solid #88b0f0; + padding : 3px 5px 3px 5px; + z-index : 5; +} diff --git a/tt-rss.js b/tt-rss.js index cb008c10eb75bb45bfbd29cfb22610736ae5707d..408eb3913ed91a55e6c736b0bf41ed3ec98ab6e3 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -314,25 +314,6 @@ function viewfeed(feed, subop) { f.viewfeed(feed, subop); } -function hotkey_prefix_timeout() { - try { - - var date = new Date(); - var ts = Math.round(date.getTime() / 1000); - - if (hotkey_prefix_pressed && ts - hotkey_prefix_pressed >= 5) { - debug("hotkey_prefix seems to be stuck, aborting"); - hotkey_prefix_pressed = false; - hotkey_prefix = false; - } - - setTimeout("hotkey_prefix_timeout()", 10); - - } catch (e) { - exception_error("hotkey_prefix_timeout", e); - } -} - function timeout() { if (getInitParam("bw_limit") == "1") return; @@ -1060,6 +1041,7 @@ function hotkey_handler(e) { var keycode; var shift_key = false; + var cmdline = $('cmdline'); var feedlist = $('feedList'); try { @@ -1099,6 +1081,10 @@ function hotkey_handler(e) { hotkey_prefix = keycode; hotkey_prefix_pressed = ts; + + cmdline.innerHTML = keychar; + Element.show(cmdline); + debug("KP: PREFIX=" + keycode + " CHAR=" + keychar + " TS=" + ts); return true; } @@ -1109,6 +1095,8 @@ function hotkey_handler(e) { /* Global hotkeys */ + Element.hide(cmdline); + if (!hotkey_prefix) { if (keycode == 68 && shift_key) { // d diff --git a/tt-rss.php b/tt-rss.php index baf58a088e45f19d706029ac290924b39ddd9bc4..607bedb1da68c029445823713f6ab268d91687df 100644 --- a/tt-rss.php +++ b/tt-rss.php @@ -104,6 +104,8 @@ window.onload = init; <div id="infoBoxShadow" style="display : none"><div id="infoBox"> </div></div> +<div id="cmdline" style="display : none"></div> + <div id="errorBoxShadow" style="display : none"> <div id="errorBox"> <div id="xebTitle">Fatal Exception</div><div id="xebContent"> </div>