try {
if (transport.responseXML) {
+
var link = transport.responseXML.getElementsByTagName("link")[0];
var id = transport.responseXML.getElementsByTagName("id")[0];
+ debug("open_article_callback, received link: " + link);
+
if (link) {
+ debug("link url: " + link.firstChild.nodeValue);
+
window.open(link.firstChild.nodeValue, "_blank");
if (id) {
window.setTimeout("toggleUnread(" + id + ", 0)", 100);
}
}
+ } else {
+ notify_error("Can't open article: received invalid article link");
}
+ } else {
+ notify_error("Can't open article: received invalid XML");
}
} catch (e) {
}
- if (!hotkeys_enabled) return;
+ if (!hotkeys_enabled) {
+ debug("hotkeys disabled");
+ return;
+ }
if (window.event) {
keycode = window.event.keyCode;
if (new_feed) viewfeed(new_feed, '');
}
+ if (shift_key && (keycode == 78 || keycode == 40)) { // shift - n, down
+ return catchupRelativeToArticle(1);
+ }
+
+ if (shift_key && (keycode == 80 || keycode == 38)) { // shift - p, up
+ return catchupRelativeToArticle(0);
+ }
+
if (keycode == 78 || keycode == 40) { // n, down
if (typeof moveToPost != 'undefined') {
return moveToPost('next');
}
}
+ if (keycode == 67 && shift_key) { // c
+ if (typeof collapse_feedlist != 'undefined') {
+ return collapse_feedlist();
+ }
+ }
+
+ if (keycode == 81 && shift_key) { // shift + q
+ if (typeof catchupAllFeeds != 'undefined') {
+ return catchupAllFeeds();
+ }
+ }
+
+ if (keycode == 73 && shift_key) { // shift + i
+ if (document.getElementById("subtoolbar_search")) {
+ if (Element.visible("subtoolbar_search")) {
+ Element.hide("subtoolbar_search");
+ Element.show("subtoolbar_ftitle");
+ setTimeout("Element.focus('subtoolbar_search_box')", 100);
+ } else {
+ Element.show("subtoolbar_search");
+ Element.hide("subtoolbar_ftitle");
+ }
+ }
+ }
+
if (typeof localHotkeyHandler != 'undefined') {
try {
return localHotkeyHandler(e);
}
}
+function get_feed_unread(id) {
+ try {
+ return parseInt(document.getElementById("FEEDU-" + id).innerHTML);
+ } catch (e) {
+ exception_error("get_feed_unread", e, true);
+ return -1;
+ }
+}
+
function get_feed_entry_unread(doc, elem) {
var id = elem.id.replace("FEEDR-", "");
return;
}
+// debug("cat: " + node.id);
+
if (node.hasChildNodes() && node.firstChild.nextSibling != false) {
for (i = 0; i < node.childNodes.length; i++) {
if (node.childNodes[i].nodeName != "LI") { continue; }
var has_unread = (node.childNodes[i].className != "feed" &&
node.childNodes[i].className != "label" &&
- node.childNodes[i].className != "virt" &&
+ !(!getInitParam("hide_read_shows_special") &&
+ node.childNodes[i].className == "virt") &&
+ node.childNodes[i].className != "error" &&
node.childNodes[i].className != "tag");
- // debug(node.childNodes[i].id + " --> " + has_unread);
+// debug(node.childNodes[i].id + " --> " + has_unread);
if (hide && !has_unread) {
//node.childNodes[i].style.display = "none";
- Effect.Fade(node.childNodes[i], {duration : 0.3});
+ var id = node.childNodes[i].id;
+ Effect.Fade(node.childNodes[i], {duration : 0.3,
+ queue: { position: 'end', scope: 'FFADE-' + id, limit: 1 }});
}
if (!hide) {
}
}
+// debug("end cat: " + node.id + " unread " + cat_unread);
+
if (cat_unread == 0) {
if (cat_node.style == undefined) {
debug("ERROR: supplied cat_node " + cat_node +
}
if (hide) {
//cat_node.style.display = "none";
- Effect.Fade(cat_node, {duration : 0.3});
+ Effect.Fade(cat_node, {duration : 0.3,
+ queue: { position: 'end', scope: 'CFADE-' + node.id, limit: 1 }});
} else {
cat_node.style.display = "list-item";
}
}
for (i = 0; i < content.rows.length; i++) {
- if (!classcheck || content.rows[i].className.match(classcheck)) {
+ if (Element.visible(content.rows[i])) {
+ if (!classcheck || content.rows[i].className.match(classcheck)) {
+
+ if (content.rows[i].id.match(prefix)) {
+ selectTableRow(content.rows[i], do_select);
+
+ var row_id = content.rows[i].id.replace(prefix, "");
+ var check = document.getElementById(check_prefix + row_id);
+
+ if (check) {
+ check.checked = do_select;
+ }
+ } else if (reset_others) {
+ selectTableRow(content.rows[i], false);
+
+ var row_id = content.rows[i].id.replace(prefix, "");
+ var check = document.getElementById(check_prefix + row_id);
+
+ if (check) {
+ check.checked = false;
+ }
- if (content.rows[i].id.match(prefix)) {
- selectTableRow(content.rows[i], do_select);
-
- var row_id = content.rows[i].id.replace(prefix, "");
- var check = document.getElementById(check_prefix + row_id);
-
- if (check) {
- check.checked = do_select;
}
} else if (reset_others) {
selectTableRow(content.rows[i], false);
-
+
var row_id = content.rows[i].id.replace(prefix, "");
var check = document.getElementById(check_prefix + row_id);
-
+
if (check) {
check.checked = false;
}
-
- }
- } else if (reset_others) {
- selectTableRow(content.rows[i], false);
-
- var row_id = content.rows[i].id.replace(prefix, "");
- var check = document.getElementById(check_prefix + row_id);
-
- if (check) {
- check.checked = false;
+
}
-
}
}
}
function appearBlockElement(id, h_id) {
try {
- Effect.Fade(h_id);
+ if (h_id) {
+ Effect.Fade(h_id);
+ }
Effect.SlideDown(id, {duration : 1.0, afterFinish: appearBlockElement_afh});
} catch (e) {
exception_error("appearBlockElement", e);
}
-
function hideParentElement(e) {
e.parentNode.style.display = "none";
}
if (message == "") message = "Unknown error";
- fc.innerHTML = "<img src='images/sign_excl.png'> " + message + " (Code " + code + ")";
+ fc.innerHTML = "<img src='images/sign_excl.gif'> " + message + " (Code " + code + ")";
fe.style.display = "block";
}
}
// if selected action supports parameters, enable params field
- if (action == 4) {
+ if (action == 4 || action == 6) {
action_param.disabled = false;
} else {
action_param.disabled = true;
}
}
+function isCdmMode() {
+ return !document.getElementById("headlinesList");
+}
+
+function getSelectedArticleIds2() {
+ var rows = new Array();
+ var cdm_mode = isCdmMode();
+
+ if (cdm_mode) {
+ rows = cdmGetSelectedArticles();
+ } else {
+ rows = getSelectedTableRowIds("headlinesList", "RROW", "RCHK");
+ }
+
+ var ids = new Array();
+
+ for (var i = 0; i < rows.length; i++) {
+ var chk = document.getElementById("RCHK-" + rows[i]);
+ if (chk && chk.checked) {
+ ids.push(rows[i]);
+ }
+ }
+
+ return ids;
+}
+
+function displayHelpInfobox(topic_id) {
+
+ var url = "backend.php?op=help&tid=" + param_escape(topic_id);
+
+ var w = window.open(url, "ttrss_help",
+ "status=0,toolbar=0,location=0,width=450,height=500,scrollbars=1,menubar=0");
+
+ return false;
+}
+
+