summaryrefslogtreecommitdiff
path: root/tt-rss.js
diff options
context:
space:
mode:
Diffstat (limited to 'tt-rss.js')
-rw-r--r--tt-rss.js57
1 files changed, 56 insertions, 1 deletions
diff --git a/tt-rss.js b/tt-rss.js
index 17e33bf85..5d104a069 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -1,3 +1,4 @@
+
var total_unread = 0;
var first_run = true;
var display_tags = false;
@@ -131,10 +132,18 @@ function backend_sanity_check_callback(transport) {
}
if (!transport.responseXML) {
- fatalError(3, "Sanity check: Received reply is not XML", transport.responseText);
+ if (!window.google && !google.gears) {
+ fatalError(3, "Sanity check: Received reply is not XML", transport.responseText);
+ } else {
+ init_offline();
+ }
return;
}
+ if (getURLParam("offline")) {
+ return init_offline();
+ }
+
var reply = transport.responseXML.firstChild.firstChild;
if (!reply) {
@@ -161,6 +170,13 @@ function backend_sanity_check_callback(transport) {
var v = param.getAttribute("value");
debug(k + " => " + v);
init_params[k] = v;
+
+ if (db) {
+ db.execute("DELETE FROM init_params WHERE key = ?", [k]);
+ db.execute("INSERT INTO init_params (key,value) VALUES (?, ?)",
+ [k, v]);
+ }
+
param = param.nextSibling;
}
}
@@ -226,6 +242,8 @@ function updateFeedList(silent, fetch) {
debug("<b>updateFeedList</b>");
+ if (offline_mode) return render_offline_feedlist();
+
var query_str = "backend.php?op=feeds";
if (display_tags) {
@@ -369,6 +387,8 @@ function init() {
if (arguments.callee.done) return;
arguments.callee.done = true;
+ init_gears();
+
disableContainerChildren("headlinesToolbar", true);
Form.disable("main_toolbar_form");
@@ -500,6 +520,19 @@ function init_second_stage() {
daemon_refresh_only = getInitParam("daemon_refresh_only") == 1;
feeds_sort_by_unread = getInitParam("feeds_sort_by_unread") == 1;
+/* var fl = cache_find_param("FEEDLIST", getInitParam("num_feeds"));
+
+ if (fl) {
+ render_feedlist(fl);
+ if (document.getElementById("feedList")) {
+ request_counters();
+ } else {
+ setTimeout('updateFeedList(false, false)', 50);
+ }
+ } else {
+ setTimeout('updateFeedList(false, false)', 50);
+ } */
+
setTimeout('updateFeedList(false, false)', 50);
debug("second stage ok");
@@ -520,6 +553,8 @@ function init_second_stage() {
resize_headlines();
+ window.setTimeout("update_offline_data(0)", 100);
+
} catch (e) {
exception_error("init_second_stage", e);
}
@@ -641,6 +676,11 @@ function quickMenuGo(opid) {
resize_headlines();
}
+/* if (opid == "qmcDownload") {
+ displayDlg("offlineDownload");
+ return;
+ } */
+
if (opid == "qmcResetCats") {
if (confirm(__("Reset category order?"))) {
@@ -720,6 +760,10 @@ function parse_runtime_info(elem) {
debug("RI: " + k + " => " + v);
+ if (k == "num_feeds") {
+ init_params[k] = v;
+ }
+
if (k == "new_version_available") {
var icon = document.getElementById("newVersionIcon");
if (icon) {
@@ -1270,6 +1314,16 @@ function hotkey_handler(e) {
}
}
+/* if (keycode == 68 && shift_key) { // D
+ initiate_offline_download();
+ return false;
+ }
+
+ if (keycode == 68) { // d
+ displayDlg("offlineDownload");
+ return false;
+ } */
+
if (keycode == 87) { // w
feeds_sort_by_unread = !feeds_sort_by_unread;
return resort_feedlist();
@@ -1451,3 +1505,4 @@ function feedBrowserSubscribe() {
}
}
+