From ee1f45f4c77703b85c63bca1888b1c9cab3168da Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Tue, 23 May 2006 07:55:26 +0100 Subject: unify frontend hotkey handlers --- viewfeed.js | 116 ++++++++++++++++++------------------------------------------ 1 file changed, 34 insertions(+), 82 deletions(-) (limited to 'viewfeed.js') diff --git a/viewfeed.js b/viewfeed.js index 5a11c4e99..17ffa7fc8 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -22,38 +22,42 @@ if (!xmlhttp_rpc && typeof XMLHttpRequest!='undefined') { } function view(id, feed_id) { + + try { - parent.debug("loading article: " + id + "/" + feed_id); - - var f_document = parent.frames["feeds-frame"].document; - var h_document = document; - var m_document = parent.document; - - enableHotkeys(); - - var crow = h_document.getElementById("RROW-" + id); - - crow.className = crow.className.replace("Unread", ""); - - cleanSelected("headlinesList"); - - var upd_img_pic = h_document.getElementById("FUPDPIC-" + id); - - if (upd_img_pic) { - upd_img_pic.src = "images/blank_icon.gif"; - } - - active_post_id = id; - setActiveFeedId(feed_id); - - var content = m_document.getElementById("content-frame"); - - content.src = "backend.php?op=view&id=" + param_escape(id) + - "&feed=" + param_escape(feed_id); - - selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false); - markHeadline(active_post_id); + debug("loading article: " + id + "/" + feed_id); + + var f_document = getFeedsContext().document; + var m_document = parent.document; + + enableHotkeys(); + + var crow = document.getElementById("RROW-" + id); + + crow.className = crow.className.replace("Unread", ""); + + cleanSelected("headlinesList"); + + var upd_img_pic = document.getElementById("FUPDPIC-" + id); + + if (upd_img_pic) { + upd_img_pic.src = "images/blank_icon.gif"; + } + + active_post_id = id; + setActiveFeedId(feed_id); + + var content = m_document.getElementById("content-frame"); + + content.src = "backend.php?op=view&id=" + param_escape(id) + + "&feed=" + param_escape(feed_id); + + selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false); + markHeadline(active_post_id); + } catch (e) { + exception_error("view", e); + } } function toggleMark(id) { @@ -155,58 +159,6 @@ function viewfeed(id) { f.viewfeed(id, 0); } -function localHotkeyHandler(keycode) { - - if (keycode == 78 || keycode == 40) { // n, down - return moveToPost('next'); - } - - if (keycode == 80 || keycode == 38) { // p, up - return moveToPost('prev'); - } - - if (keycode == 65) { // a - return parent.toggleDispRead(); - } - - if (keycode == 85) { // u - if (parent.getActiveFeedId()) { - return parent.viewfeed(parent.getActiveFeedId(), 0, "ForceUpdate"); - } - } - - if (keycode == 82) { // r - return parent.scheduleFeedUpdate(true); - } - - var f_doc = parent.frames["feeds-frame"].document; - var feedlist = f_doc.getElementById('feedList'); - - if (keycode == 74) { // j - var feed = getActiveFeedId(); - var new_feed = getRelativeFeedId(feedlist, feed, 'prev'); - if (new_feed) viewfeed(new_feed, 0, ''); - } - - if (keycode == 75) { // k - var feed = getActiveFeedId(); - var new_feed = getRelativeFeedId(feedlist, feed, 'next'); - if (new_feed) viewfeed(new_feed, 0, ''); - } - -// FIXME -// if (keycode == 85) { -// return viewfeed(active_feed_id, active_offset, "ForceUpdate"); -// } - - if (keycode == 83) { // s - selectionToggleMarked(); - } - -// alert("KC: " + keycode); - -} - function toggleUnread(id, cmode) { try { if (!xmlhttp_ready(xmlhttp_rpc)) { -- cgit v1.2.3