]> git.wh0rd.org - tt-rss.git/blobdiff - tt-rss.js
move r and q hotkeys to prefix f
[tt-rss.git] / tt-rss.js
index 77c4730ac53d55224d8c8fc83eb3c0df39b42f73..658c696d2fc2282917987ad4e4ec56f41439e5b7 100644 (file)
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -18,6 +18,11 @@ var init_params = new Object();
 var ver_offset = 0;
 var hor_offset = 0;
 var feeds_sort_by_unread = false;
+var feedlist_sortable_enabled = false;
+
+function isFeedlistSortable() {
+       return feedlist_sortable_enabled;
+}
 
 function tagsAreDisplayed() {
        return display_tags;
@@ -459,6 +464,7 @@ function init_second_stage() {
 
                dropboxSelect(toolbar.view_mode, getInitParam("default_view_mode"));
                dropboxSelect(toolbar.limit, getInitParam("default_view_limit"));
+               dropboxSelect(toolbar.order_by, getInitParam("default_view_order_by"));
 
                daemon_enabled = getInitParam("daemon_enabled") == 1;
                daemon_refresh_only = getInitParam("daemon_refresh_only") == 1;
@@ -473,6 +479,8 @@ function init_second_stage() {
                ver_offset = parseInt(getCookie("ttrss_offset_ver"));
                hor_offset = parseInt(getCookie("ttrss_offset_hor"));
 
+               debug("got offsets from cookies: ver " + ver_offset + " hor " + hor_offset);
+
                /* fuck IE */
 
                if (isNaN(hor_offset)) hor_offset = 0;
@@ -599,6 +607,21 @@ function quickMenuGo(opid) {
                        resize_headlines();
                }
 
+               if (opid == "qmcResetCats") {
+
+                       if (confirm(__("Reset category order?"))) {
+
+                               var query = "backend.php?op=feeds&subop=catsortreset";
+
+                               notify_progress("Loading, please wait...", true);
+
+                               new Ajax.Request(query, {
+                                       onComplete: function(transport) { 
+                                               window.setTimeout('updateFeedList(false, false)', 50);
+                                       } });
+                       }
+               }
+
        } catch (e) {
                exception_error("quickMenuGo", e);
        }
@@ -1072,13 +1095,6 @@ function hotkey_handler(e) {
                                return;
                        }
 
-                       if (keycode == 82) { // r
-                               if (getActiveFeedId()) {
-                                       viewfeed(getActiveFeedId(), "ForceUpdate", activeFeedIsCat());
-                                       return;
-                               }
-                       }
-
                        if (keycode == 74) { // j
                                var feed = getActiveFeedId();
                                var new_feed = getRelativeFeedId2(feed, activeFeedIsCat(), 'prev');
@@ -1111,16 +1127,27 @@ function hotkey_handler(e) {
                                return;
                        }
 
-                       if (shift_key && (keycode == 78 || keycode == 40)) { // shift - n, down
+                       if (shift_key && keycode == 40) { // shift-down
                                catchupRelativeToArticle(1);
                                return;
                        }
 
-                       if (shift_key && (keycode == 80 || keycode == 38)) { // shift - p, up
+                       if (shift_key && keycode == 38) { // shift-up
                                catchupRelativeToArticle(0);
                                return;
                        }
 
+                       if (shift_key && keycode == 78) { // N
+                               scrollArticle(50);      
+                               return;
+                       }
+
+                       if (shift_key && keycode == 80) { // P
+                               scrollArticle(-50);     
+                               return;
+                       }
+
+
                        if (keycode == 78 || keycode == 40) { // n, down
                                if (typeof moveToPost != 'undefined') {
                                        moveToPost('next');
@@ -1195,13 +1222,6 @@ function hotkey_handler(e) {
                                }
                        }
 
-                       if (keycode == 81) { // q
-                               if (getActiveFeedId()) {
-                                       catchupCurrentFeed();
-                                       return;
-                               }
-                       }
-
                        if (keycode == 220 && shift_key) { // shift + |
                                if (document.getElementById("subtoolbar_search")) {
                                        if (Element.visible("subtoolbar_search")) {
@@ -1228,6 +1248,20 @@ function hotkey_handler(e) {
 
                        hotkey_prefix = false;
 
+                       if (keycode == 81) { // q
+                               if (getActiveFeedId()) {
+                                       catchupCurrentFeed();
+                                       return;
+                               }
+                       }
+
+                       if (keycode == 82) { // r
+                               if (getActiveFeedId()) {
+                                       viewfeed(getActiveFeedId(), "ForceUpdate", activeFeedIsCat());
+                                       return;
+                               }
+                       }
+
                        if (keycode == 65) { // a
                                toggleDispRead();
                                return false;
@@ -1298,6 +1332,28 @@ function hotkey_handler(e) {
                                }
                        }
 
+                       if (keycode == 77) { // m
+                               feedlist_sortable_enabled = !feedlist_sortable_enabled;
+                               if (feedlist_sortable_enabled) {
+                                       notify_info("Category reordering enabled");
+                                       toggle_sortable_feedlist(true);
+                               } else {
+                                       notify_info("Category reordering disabled");
+                                       toggle_sortable_feedlist(false);
+                               }
+                       }
+
+                       if (keycode == 78) { // n
+                               catchupRelativeToArticle(1);
+                               return;
+                       }
+
+                       if (keycode == 80) { // p
+                               catchupRelativeToArticle(0);
+                               return;
+                       }
+
+
                }
 
                /* Prefix g */