]> git.wh0rd.org - tt-rss.git/blobdiff - functions.js
experimental code for hotkey zone highlighting
[tt-rss.git] / functions.js
index 5bb559a72992ff9af71f63e9f51d62140a2efd05..4c574eaf1fd95dd6739d21dbe3d5cb35c3c45b5e 100644 (file)
@@ -2,6 +2,8 @@ var hotkeys_enabled = true;
 var debug_mode_enabled = false;
 var xmlhttp_rpc = Ajax.getTransport();
 
+var hotkey_zone = 0;
+
 /* add method to remove element from array */
 
 Array.prototype.remove = function(s) {
@@ -229,6 +231,22 @@ function hotkey_handler(e) {
                        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
                        return scheduleFeedUpdate(true);
                }
@@ -1789,4 +1807,59 @@ function displayHelpInfobox(topic_id) {
        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);
+       }
+}