experimental code for hotkey zone highlighting

This commit is contained in:
Andrew Dolgov 2008-05-15 05:21:00 +01:00
parent 5713a439fb
commit 61992f5771
1 changed files with 73 additions and 0 deletions

View File

@ -2,6 +2,8 @@ var hotkeys_enabled = true;
var debug_mode_enabled = false; var debug_mode_enabled = false;
var xmlhttp_rpc = Ajax.getTransport(); var xmlhttp_rpc = Ajax.getTransport();
var hotkey_zone = 0;
/* add method to remove element from array */ /* add method to remove element from array */
Array.prototype.remove = function(s) { Array.prototype.remove = function(s) {
@ -229,6 +231,22 @@ function hotkey_handler(e) {
keycode = e.which; keycode = e.which;
} }
if (keycode == 48) { // 0
return setHotkeyZone(0);
}
if (keycode == 49) { // 1
return setHotkeyZone(1);
}
if (keycode == 50) { // 2
return setHotkeyZone(2);
}
if (keycode == 51) { // 3
return setHotkeyZone(3);
}
if (keycode == 82) { // r if (keycode == 82) { // r
return scheduleFeedUpdate(true); return scheduleFeedUpdate(true);
} }
@ -1789,4 +1807,59 @@ function displayHelpInfobox(topic_id) {
return false; return false;
} }
var _border_color_normal = "#88b0f0";
var _border_color_highlight = "#72eda8";
var _border_color_flash = "#f0fff0";
function highlightHotkeyZone(zone) {
try {
var feeds = document.getElementById("feeds-holder");
var headlines = document.getElementById("headlines-frame");
var content = document.getElementById("content-frame");
feeds.style.borderColor = _border_color_normal;
headlines.style.borderColor = _border_color_normal;
content.style.borderColor = _border_color_normal;
if (zone == 1) {
feeds.style.borderColor = _border_color_highlight;
new Effect.Highlight(feeds, {duration: 0.5, startcolor:
_border_color_flash,
queue: { position:'end', scope: 'EFCHL-Q', limit: 1 } } );
}
if (zone == 2) {
headlines.style.borderColor = _border_color_highlight;
new Effect.Highlight(headlines, {duration: 0.5, startcolor:
_border_color_flash,
queue: { position:'end', scope: 'EFCHL-Q', limit: 1 } } );
}
if (zone == 3 && content) {
content.style.borderColor = _border_color_highlight;
new Effect.Highlight(content, {duration: 0.5, startcolor:
_border_color_flash,
queue: { position:'end', scope: 'EFCHL-Q', limit: 1 } } );
}
} catch (e) {
exception_error("highlightHotkeyZone", e);
}
}
function setHotkeyZone(zone) {
try {
hotkey_zone = zone;
highlightHotkeyZone(zone);
} catch (e) {
exception_error("setHotkeyZone", e);
}
}