summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--feedlist.js30
-rw-r--r--functions.js4
-rw-r--r--functions.php3
-rw-r--r--tt-rss.js14
-rw-r--r--viewfeed.js2
5 files changed, 49 insertions, 4 deletions
diff --git a/feedlist.js b/feedlist.js
index d5c158952..62bfadb5a 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 1e13d8e0e..997bcb13b 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 a2d1750c4..0c333afc3 100644
--- a/functions.php
+++ b/functions.php
@@ -1533,7 +1533,8 @@
$feed = "<a title=\"$link_title\" id=\"FEEDL-$feed_id\"
href=\"javascript:viewfeed('$feed_id', '', false, '', false, 0);\">$feed_title</a>";
- print "<li id=\"FEEDR-$feed_id\" class=\"$class\">";
+ print "<li id=\"FEEDR-$feed_id\" class=\"$class\"
+ onmouseover='feedMouseIn($feed_id)' onmouseout='feedMouseOut($feed_id)'>";
if (get_pref($link, 'ENABLE_FEED_ICONS')) {
print "$feed_icon";
}
diff --git a/tt-rss.js b/tt-rss.js
index 6f8f29de7..de7005bbc 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 24f3636fb..77938c9d9 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];