From 3a40e8a2eda381bd33c2b52869ba50826b614529 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Mon, 19 May 2008 11:24:46 +0100 Subject: [PATCH] add placeholder mouse trap code, misc fixes --- feedlist.js | 30 +++++++++++++++++++++++++++--- functions.js | 4 ++++ functions.php | 3 ++- tt-rss.js | 14 ++++++++++++++ viewfeed.js | 2 ++ 5 files changed, 49 insertions(+), 4 deletions(-) diff --git a/feedlist.js b/feedlist.js index d5c15895..62bfadb5 100644 --- a/feedlist.js +++ b/feedlist.js @@ -1,6 +1,7 @@ var _feed_cur_page = 0; var _infscroll_disable = 0; var _infscroll_request_sent = 0; +var feed_under_pointer = undefined; function viewCategory(cat) { active_feed_is_cat = true; @@ -327,6 +328,7 @@ function feedlist_init() { hideOrShowFeeds(document, getInitParam("hide_read_feeds") == 1); document.onkeydown = hotkey_handler; + document.onmousedown = mouse_handler; setTimeout("timeout()", 0); /* debug("about to remove splash, OMG!"); @@ -460,7 +462,29 @@ function init_collapsable_feedlist(theme) { } function remove_splash() { - debug("about to remove splash, OMG!"); - Element.hide("overlay"); - debug("removed splash!"); + if (Element.visible("overlay")) { + debug("about to remove splash, OMG!"); + Element.hide("overlay"); + debug("removed splash!"); + } +} + +function feedMouseIn(id) { + try { + if (feed_under_pointer != id) { + feed_under_pointer = id; + } + + } catch (e) { + exception_error("feedMouseIn", e); + } } + +function feedMouseOut(id) { + try { + feed_under_pointer = undefined; + } catch (e) { + exception_error("feedMouseOut", e); + } +} + diff --git a/functions.js b/functions.js index 1e13d8e0..997bcb13 100644 --- a/functions.js +++ b/functions.js @@ -262,6 +262,8 @@ function getVisibleUnreadHeadlines() { var rows = new Array(); + if (!content) return rows; + for (i = 0; i < content.rows.length; i++) { var row_id = content.rows[i].id.replace("RROW-", ""); if (row_id.length > 0 && content.rows[i].className.match("Unread")) { @@ -277,6 +279,8 @@ function getVisibleHeadlineIds() { var rows = new Array(); + if (!content) return rows; + for (i = 0; i < content.rows.length; i++) { var row_id = content.rows[i].id.replace("RROW-", ""); if (row_id.length > 0) { diff --git a/functions.php b/functions.php index a2d1750c..0c333afc 100644 --- a/functions.php +++ b/functions.php @@ -1533,7 +1533,8 @@ $feed = "$feed_title"; - print "
  • "; + print "
  • "; if (get_pref($link, 'ENABLE_FEED_ICONS')) { print "$feed_icon"; } diff --git a/tt-rss.js b/tt-rss.js index 6f8f29de..de7005bb 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -1409,3 +1409,17 @@ function hotkey_handler(e) { } } +function mouse_handler(e) { + try { + var r_mouse = false; + + if (window.event) { + r_mouse = window.event.button == 2; + } else if (e) { + r_mouse = e.which == 3; + } + + } catch (e) { + exception_error("mouse_handler", e); + } +} diff --git a/viewfeed.js b/viewfeed.js index 24f3636f..77938c9d 100644 --- a/viewfeed.js +++ b/viewfeed.js @@ -1091,6 +1091,8 @@ function cdmGetVisibleArticles() { var sel_articles = new Array(); var container = document.getElementById("headlinesInnerContainer"); + if (!container) return sel_articles; + for (i = 0; i < container.childNodes.length; i++) { var child = container.childNodes[i]; -- 2.39.2