]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.js
misc typo fixes
[tt-rss.git] / tt-rss.js
index 3d0f53044b8e4993b9cc5824901e2c0d154ccd0d..39e5cecef60099585ed390b7bfdfb699b5c5c118 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -274,39 +274,16 @@ function genericSanityCheck() {
 
 function init() {
        try {
-               //Form.disable("main_toolbar_form");
-
-               // Our layer takes care of Dojo dependencies.
-
-               /* dojo.require("dijit.layout.BorderContainer");
-               dojo.require("dijit.layout.TabContainer");
-               dojo.require("dijit.layout.ContentPane");
-               dojo.require("dijit.Dialog");
-               dojo.require("dijit.form.Button");
-               dojo.require("dijit.Menu");
-               dojo.require("dojo.data.ItemFileWriteStore");
-               dojo.require("dijit.Tree");
-               dojo.require("dijit.form.Select");
-               dojo.require("dijit.form.TextBox");
-               dojo.require("dijit.form.ValidationTextBox");
-               dojo.require("dijit.form.FilteringSelect");
-               dojo.require("dijit.form.CheckBox");
-               dojo.require("dijit.form.SimpleTextarea");
-               dojo.require("dijit.Toolbar");
-               dojo.require("dijit.ProgressBar");
-               dojo.require("dijit.Menu");
-               dojo.require("dojo.parser"); */
-
                dojo.registerModulePath("fox", "../..");
 
                dojo.require("fox.FeedTree");
 
-               dojo.parser.parse();
-
                if (typeof themeBeforeLayout == 'function') {
                        themeBeforeLayout();
                }
 
+               dojo.parser.parse();
+
                dojo.addOnLoad(function() {
                        updateFeedList();
                        closeArticlePanel();
@@ -353,7 +330,8 @@ function init_second_stage() {
 
                loading_set_progress(30);
 
-               if (has_local_storage())
+               // can't use cache_clear() here because viewfeed might not have initialized yet
+               if ('sessionStorage' in window && window['sessionStorage'] !== null)
                        sessionStorage.clear();
 
                console.log("second stage ok");
@@ -373,6 +351,10 @@ function quickMenuGo(opid) {
                        displayDlg("printTagCloud");
                }
 
+               if (opid == "qmcTagSelect") {
+                       displayDlg("printTagSelect");
+               }
+
                if (opid == "qmcSearch") {
                        search();
                        return;
@@ -450,6 +432,16 @@ function quickMenuGo(opid) {
                        Effect.Appear("hotkey_help_overlay", {duration : 0.3});
                }
 
+               if (opid == "qmcAbout") {
+                       dialog = new dijit.Dialog({
+                               title: __("About..."),
+                               style: "width: 400px",
+                               href: "backend.php?op=dlg&id=about",
+                       });
+
+                       dialog.show();
+               }
+
        } catch (e) {
                exception_error("quickMenuGo", e);
        }
@@ -498,8 +490,6 @@ function parse_runtime_info(data) {
                        return;
                }
 
-               var error_flag;
-
                if (k == "daemon_is_running" && v != 1) {
                        notify_error("<span onclick=\"javascript:explainError(1)\">Update daemon is not running.</span>", true);
                        return;
@@ -529,7 +519,7 @@ function catchupCurrentFeed() {
        var str = __("Mark all articles in %s as read?").replace("%s", fn);
 
        if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
-               return viewCurrentFeed('MarkAllRead')
+               return viewCurrentFeed('MarkAllRead');
        }
 }
 
@@ -542,7 +532,7 @@ function catchupFeedInGroup(id) {
                var str = __("Mark all articles in %s as read?").replace("%s", title);
 
                if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
-                       return viewCurrentFeed('MarkAllReadGR:' + id)
+                       return viewCurrentFeed('MarkAllReadGR:' + id);
                }
 
        } catch (e) {
@@ -574,13 +564,11 @@ function collapse_feedlist() {
 }
 
 function viewModeChanged() {
-       cache_flush();
-       return viewCurrentFeed('')
+       return viewCurrentFeed('');
 }
 
 function viewLimitChanged() {
-       cache_flush();
-       return viewCurrentFeed('')
+       return viewCurrentFeed('');
 }
 
 /* function adjustArticleScore(id, score) {
@@ -638,7 +626,7 @@ function hotkey_handler(e) {
 
                if (e.target.nodeName == "INPUT" || e.target.nodeName == "TEXTAREA") return;
 
-               var keycode;
+               var keycode = false;
                var shift_key = false;
 
                var cmdline = $('cmdline');
@@ -667,7 +655,7 @@ function hotkey_handler(e) {
                if (keycode == 16) return; // ignore lone shift
                if (keycode == 17) return; // ignore lone ctrl
 
-               if ((keycode == 70 || keycode == 67 || keycode == 71)
+               if ((keycode == 70 || keycode == 67 || keycode == 71 || keycode == 65)
                                && !hotkey_prefix) {
 
                        var date = new Date();
@@ -693,9 +681,19 @@ function hotkey_handler(e) {
 
                if (!hotkey_prefix) {
 
+                       if (keycode == 27) { // escape
+                               closeArticlePanel();
+                               return;
+                       }
+
+                       if (keycode == 69) { // e
+                               var id = getActiveArticleId();
+                               emailArticle(id);
+                       }
+
                        if ((keycode == 191 || keychar == '?') && shift_key) { // ?
                                if (!Element.visible("hotkey_help_overlay")) {
-                                       Effect.Appear("hotkey_help_overlay", {duration : 0.3});
+                                       Effect.Appear("hotkey_help_overlay", {duration : 0.3, to : 0.9});
                                } else {
                                        Element.hide("hotkey_help_overlay");
                                }
@@ -707,7 +705,7 @@ function hotkey_handler(e) {
                                return false;
                        }
 
-                       if (keycode == 74) { // j
+                       if (keycode == 74 && !shift_key) { // j
                                var rv = dijit.byId("feedTree").getPreviousFeed(
                                                getActiveFeedId(), activeFeedIsCat());
 
@@ -779,9 +777,8 @@ function hotkey_handler(e) {
                                return;
                        }
 
-
                        if (keycode == 85) { // u
-                               selectionToggleUnread(undefined, false, true)
+                               selectionToggleUnread(undefined, false, true);
                                return;
                        }
 
@@ -828,6 +825,33 @@ function hotkey_handler(e) {
                        }
                }
 
+               /* Prefix a */
+
+               if (hotkey_prefix == 65) { // a
+                       hotkey_prefix = false;
+
+                       if (keycode == 65) { // a
+                               selectArticles('all');
+                               return;
+                       }
+
+                       if (keycode == 85) { // u
+                               selectArticles('unread');
+                               return;
+                       }
+
+                       if (keycode == 73) { // i
+                               selectArticles('invert');
+                               return;
+                       }
+
+                       if (keycode == 78) { // n
+                               selectArticles('none');
+                               return;
+                       }
+
+               }
+
                /* Prefix f */
 
                if (hotkey_prefix == 70) { // f
@@ -973,8 +997,8 @@ function hotkey_handler(e) {
                                return false;
                        }
 
-                       if (keycode == 84 && shift_key) { // T
-                               toggleTags();
+                       if (keycode == 84) { // t
+                               displayDlg("printTagCloud");
                                return false;
                        }
                }
@@ -1018,62 +1042,6 @@ function reverseHeadlineOrder() {
        }
 }
 
-function showFeedsWithErrors() {
-       displayDlg('feedUpdateErrors');
-}
-
-function handle_rpc_reply(transport, scheduled_call) {
-       try {
-               if (transport.responseXML) {
-
-                       if (!transport_error_check(transport)) return false;
-
-                       var seq = transport.responseXML.getElementsByTagName("seq")[0];
-
-                       if (seq) {
-                               seq = seq.firstChild.nodeValue;
-
-                               if (get_seq() != seq) {
-                                       //console.log("[handle_rpc_reply] sequence mismatch: " + seq);
-                                       return true;
-                               }
-                       }
-
-                       var message = transport.responseXML.getElementsByTagName("message")[0];
-
-                       if (message) {
-                               message = message.firstChild.nodeValue;
-
-                               if (message == "UPDATE_COUNTERS") {
-                                       console.log("need to refresh counters...");
-                                       setInitParam("last_article_id", -1);
-                                       _force_scheduled_update = true;
-                               }
-                       }
-
-                       var counters = transport.responseXML.getElementsByTagName("counters")[0];
-
-                       if (counters)
-                               parse_counters(JSON.parse(counters.firstChild.nodeValue), scheduled_call);
-
-                       var runtime_info = transport.responseXML.getElementsByTagName("runtime-info")[0];
-
-                       if (runtime_info)
-                               parse_runtime_info(JSON.parse(runtime_info.firstChild.nodeValue));
-
-                       hideOrShowFeeds(getInitParam("hide_read_feeds") == 1);
-
-               } else {
-                       notify_error("Error communicating with server.");
-               }
-
-       } catch (e) {
-               exception_error("handle_rpc_reply", e, transport);
-       }
-
-       return true;
-}
-
 function scheduleFeedUpdate(id, is_cat) {
        try {
                if (!id) {