diff options
Diffstat (limited to 'tt-rss.js')
-rw-r--r-- | tt-rss.js | 57 |
1 files changed, 56 insertions, 1 deletions
@@ -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() { } } + |