display active hotkey prefix on screen

This commit is contained in:
Andrew Dolgov 2009-10-09 13:13:57 +04:00
parent 449cc6062e
commit 78935092b5
7 changed files with 61 additions and 19 deletions

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 141 B

View File

@ -6,6 +6,7 @@ var init_params = new Array();
var caller_subop = false; var caller_subop = false;
var sanity_check_done = false; var sanity_check_done = false;
var hotkey_prefix = false; var hotkey_prefix = false;
var hotkey_prefix_pressed = false;
var color_picker_active = false; var color_picker_active = false;
var selection_disabled = false; var selection_disabled = false;
@ -1205,6 +1206,8 @@ function init_second_stage() {
loading_set_progress(60); loading_set_progress(60);
setTimeout("hotkey_prefix_timeout()", 5*1000);
} catch (e) { } catch (e) {
exception_error("init_second_stage", e); exception_error("init_second_stage", e);
} }
@ -1408,6 +1411,8 @@ function pref_hotkey_handler(e) {
var keycode; var keycode;
var shift_key = false; var shift_key = false;
var cmdline = $('cmdline');
try { try {
shift_key = e.shiftKey; shift_key = e.shiftKey;
} catch (e) { } catch (e) {
@ -1440,6 +1445,15 @@ function pref_hotkey_handler(e) {
if ((keycode == 67 || keycode == 71) && !hotkey_prefix) { if ((keycode == 67 || keycode == 71) && !hotkey_prefix) {
hotkey_prefix = keycode; 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); debug("KP: PREFIX=" + keycode + " CHAR=" + keychar);
return; return;
} }
@ -1456,6 +1470,8 @@ function pref_hotkey_handler(e) {
/* Global hotkeys */ /* Global hotkeys */
Element.hide(cmdline);
if (!hotkey_prefix) { if (!hotkey_prefix) {
if (keycode == 68 && shift_key) { // d if (keycode == 68 && shift_key) { // d

View File

@ -147,6 +147,8 @@ window.onload = init;
<div id="notify" class="notify"><span id="notify_body">&nbsp;</span></div> <div id="notify" class="notify"><span id="notify_body">&nbsp;</span></div>
<div id="infoBoxShadow"><div id="infoBox">BAH</div></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="errorBoxShadow" style="display : none">
<div id="errorBox"> <div id="errorBox">
<div id="xebTitle">Fatal Exception</div><div id="xebContent">&nbsp;</div> <div id="xebTitle">Fatal Exception</div><div id="xebContent">&nbsp;</div>

View File

@ -2214,3 +2214,15 @@ option {
color : black; 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;
}

View File

@ -314,25 +314,6 @@ function viewfeed(feed, subop) {
f.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() { function timeout() {
if (getInitParam("bw_limit") == "1") return; if (getInitParam("bw_limit") == "1") return;
@ -1060,6 +1041,7 @@ function hotkey_handler(e) {
var keycode; var keycode;
var shift_key = false; var shift_key = false;
var cmdline = $('cmdline');
var feedlist = $('feedList'); var feedlist = $('feedList');
try { try {
@ -1099,6 +1081,10 @@ function hotkey_handler(e) {
hotkey_prefix = keycode; hotkey_prefix = keycode;
hotkey_prefix_pressed = ts; hotkey_prefix_pressed = ts;
cmdline.innerHTML = keychar;
Element.show(cmdline);
debug("KP: PREFIX=" + keycode + " CHAR=" + keychar + " TS=" + ts); debug("KP: PREFIX=" + keycode + " CHAR=" + keychar + " TS=" + ts);
return true; return true;
} }
@ -1109,6 +1095,8 @@ function hotkey_handler(e) {
/* Global hotkeys */ /* Global hotkeys */
Element.hide(cmdline);
if (!hotkey_prefix) { if (!hotkey_prefix) {
if (keycode == 68 && shift_key) { // d if (keycode == 68 && shift_key) { // d

View File

@ -104,6 +104,8 @@ window.onload = init;
<div id="infoBoxShadow" style="display : none"><div id="infoBox">&nbsp;</div></div> <div id="infoBoxShadow" style="display : none"><div id="infoBox">&nbsp;</div></div>
<div id="cmdline" style="display : none"></div>
<div id="errorBoxShadow" style="display : none"> <div id="errorBoxShadow" style="display : none">
<div id="errorBox"> <div id="errorBox">
<div id="xebTitle">Fatal Exception</div><div id="xebContent">&nbsp;</div> <div id="xebTitle">Fatal Exception</div><div id="xebContent">&nbsp;</div>