var active_title_text = "";
var current_subtitle = "";
var daemon_enabled = false;
+var daemon_refresh_only = false;
var _qfd_deleted_feed = 0;
var firsttime_update = true;
var last_refetch = 0;
var cookie_lifetime = 0;
var active_feed_id = 0;
+var active_feed_is_cat = false;
var xmlhttp = Ajax.getTransport();
-var init_params = new Array();
+var init_params = new Object();
function toggleTags() {
display_tags = !display_tags;
if (error_code && error_code != 0) {
return fatalError(error_code, reply.getAttribute("error-msg"));
}
+
+ var counters = reply.firstChild;
- parse_counters(reply, true);
+ parse_counters(counters, true);
+
+ var runtime_info = counters.nextSibling;
+
+ parse_runtime_info(runtime_info);
debug("refetch_callback: done");
- if (!daemon_enabled) {
+ if (!daemon_enabled && !daemon_refresh_only) {
notify("All feeds updated.");
updateTitle("");
} else {
function scheduleFeedUpdate(force) {
- if (!daemon_enabled) {
+ if (!daemon_enabled && !daemon_refresh_only) {
notify("Updating feeds, please wait.", true);
updateTitle("Updating");
}
var date = new Date();
if (!xmlhttp_ready(xmlhttp) && last_refetch < date.getTime() / 1000 - 60) {
- debug("xmlhttp seems to be stuck, aborting");
+ debug("<b>xmlhttp seems to be stuck, aborting</b>");
xmlhttp.abort();
}
xmlhttp.send(null);
} else {
debug("xmlhttp busy");
- printLockingError();
+ //printLockingError();
}
}
}
-function viewCurrentFeed(skip, subop) {
+function viewCurrentFeed(subop) {
if (getActiveFeedId()) {
- viewfeed(getActiveFeedId(), skip, subop);
+ viewfeed(getActiveFeedId(), subop);
} else {
disableContainerChildren("headlinesToolbar", false, document);
- viewfeed(-1, skip, subop); // FIXME
+ viewfeed(-1, subop); // FIXME
}
return false; // block unneeded form submits
}
-function viewfeed(feed, skip, subop) {
+function viewfeed(feed, subop) {
var f = window.frames["feeds-frame"];
- f.viewfeed(feed, skip, subop);
+ f.viewfeed(feed, subop);
}
function timeout() {
if (searchbox.value != "" && getActiveFeedId()) {
searchbox.value = "";
- viewfeed(getActiveFeedId(), 0, "");
+ viewfeed(getActiveFeedId(), "");
}
}
var f = document.getElementById("feeds-frame");
var tf = document.getElementById("mainFooter");
var th = document.getElementById("mainHeader");
-
- f.style.height = document.body.scrollHeight - tf.scrollHeight -
- th.scrollHeight - 50 + "px";
+
+ var footer_height = 0;
+ var header_height = 0;
+
+ if (tf) {
+ footer_height = tf.scrollHeight;
+ }
+
+ if (th) {
+ header_height = th.scrollHeight;
+ }
+
+ f.style.height = document.body.scrollHeight - footer_height -
+ header_height - 50 + "px";
}
function init_second_stage() {
dropboxSelect(tb.view_mode, getInitParam("toolbar_view_mode"));
dropboxSelect(tb.limit, getInitParam("toolbar_limit"));
- daemon_enabled = getInitParam("daemon_enabled");
+ daemon_enabled = getInitParam("daemon_enabled") == 1;
+ daemon_refresh_only = getInitParam("daemon_refresh_only") == 1;
// FIXME should be callled after window resize
if (navigator.userAgent.match("Opera")) {
resize_feeds_frame();
-
-/* // fix headlines frame height for Opera
- var h = document.getElementById("headlines");
- var c = document.getElementById("content");
- var nh = document.body.scrollHeight * 0.25;
-
- h.style.height = nh + "px";
- c.style.height = c.scrollHeight - nh + "px"; */
-
}
debug("second stage ok");
}
if (opid == "qmcSearch") {
- displayDlg("search", getActiveFeedId());
+ displayDlg("search", getActiveFeedId() + ":" + activeFeedIsCat());
return;
}
alert("Please select some feed first.");
return;
}
+
+ var fn = getFeedName(actid);
- if (confirm("Unsubscribe from current feed?")) {
+ if (confirm("Unsubscribe from " + fn + "?")) {
qfdDelete(actid);
}
return
}
-// var feeds_doc = window.frames["feeds-frame"].document;
-// feeds_doc.location.href = "backend.php?op=error&msg=Loading,%20please wait...";
-
_qfd_deleted_feed = feed_id;
xmlhttp.open("GET", "backend.php?op=pref-feeds&quiet=1&subop=remove&ids=" + feed_id);
}
}
-function fatalError(code, message) {
- try {
- var fe = document.getElementById("fatal_error");
- var fc = document.getElementById("fatal_error_msg");
+function parse_runtime_info(elem) {
+ var param = elem.firstChild;
- fc.innerHTML = "Code " + code + ": " + message;
+ debug("parse_runtime_info");
- fe.style.display = "block";
+ while (param) {
+ var k = param.getAttribute("key");
+ var v = param.getAttribute("value");
- } catch (e) {
- exception_error("fatalError", e);
+ debug("RI: " + k + " => " + v);
+
+ var w = document.getElementById("noDaemonWarning");
+
+ if (w) {
+ if (k == "daemon_is_running" && v != 1) {
+ w.style.display = "block";
+ } else {
+ w.style.display = "none";
+ }
+ }
+ param = param.nextSibling;
}
}
+function catchupCurrentFeed() {
+
+ var fn = getFeedName(getActiveFeedId(), active_feed_is_cat);
+
+ var str = "Mark all articles in " + fn + " as read?";
+
+/* if (active_feed_is_cat) {
+ str = "Mark all articles in this category as read?";
+ } */
+
+ if (confirm(str)) {
+ return viewCurrentFeed(0, 'MarkAllRead')
+ }
+}