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;
}
function timeout() {
+ if (getInitParam("bw_limit") == "1") return;
+
scheduleFeedUpdate(false);
var refresh_time = getInitParam("feeds_frame_refresh");
var f_frame = document.getElementById("footer");
var feeds_frame = document.getElementById("feeds-holder");
var resize_grab = document.getElementById("resize-grabber");
-
+ var resize_handle = document.getElementById("resize-handle");
+
if (!c_frame || !h_frame) return;
if (feeds_frame && getInitParam("theme") == "compat") {
resize_grab.style.left = (h_frame.offsetLeft + h_frame.offsetWidth -
4) + "px";
resize_grab.style.display = "block";
+
+ resize_handle.src = "themes/3pane/images/resize_handle_vert.png";
+ resize_handle.style.paddingTop = (resize_grab.offsetHeight / 2 - 7) + "px";
} else {
var theme_c = 0;
- if (getInitParam("theme") == "graycube") theme_c = 1;
+ if (getInitParam("theme") == "graycube") {
+ theme_c = 1;
+ }
+
+ if (getInitParam("theme") == "graycube" || getInitParam("theme") == "compat") {
+ resize_handle.src = "themes/graycube/images/resize_handle_horiz.png";
+ }
- resize_grab.style.top = (h_frame.offsetTop + h_frame.offsetHeight -
+/* resize_grab.style.top = (h_frame.offsetTop + h_frame.offsetHeight -
4 - theme_c) + "px";
- resize_grab.style.display = "block";
+ resize_grab.style.display = "block"; */
}
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;
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;
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);
}
}
-function unsubscribeFeed(feed_id) {
+function unsubscribeFeed(feed_id, title) {
- notify_progress("Removing feed...");
- var query = "backend.php?op=pref-feeds&quiet=1&subop=remove&ids=" + feed_id;
+ var msg = __("Unsubscribe from %s?").replace("%s", title);
- new Ajax.Request(query, {
- onComplete: function(transport) {
- dlg_frefresh_callback(transport, feed_id);
- } });
+ if (title == undefined || confirm(msg)) {
+ notify_progress("Removing feed...");
+
+ var query = "backend.php?op=pref-feeds&quiet=1&subop=remove&ids=" + feed_id;
+ new Ajax.Request(query, {
+ onComplete: function(transport) {
+ dlg_frefresh_callback(transport, feed_id);
+ } });
+ }
return false;
}
}
}
-function catchupFeedInGroup(id, title) {
+function catchupFeedInGroup(id) {
- var str = __("Mark all articles in %s as read?").replace("%s", title);
+ try {
- if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
- return viewCurrentFeed('MarkAllReadGR:' + id)
+ var title = getFeedName(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)
+ }
+
+ } catch (e) {
+ exception_error("catchupFeedInGroup", e);
}
}
if (keycode == 16) return; // ignore lone shift
- if ((keycode == 70 || keycode == 67 || keycode == 71) && !hotkey_prefix) {
+ if ((keycode == 70 || keycode == 67 || keycode == 71)
+ && !hotkey_prefix) {
+
hotkey_prefix = keycode;
debug("KP: PREFIX=" + keycode + " CHAR=" + keychar);
- return;
+ return true;
}
if (Element.visible("hotkey_help_overlay")) {
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');
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');
}
}
- if (keycode == 81) { // q
- if (getActiveFeedId()) {
- catchupCurrentFeed();
- return;
- }
- }
-
if (keycode == 220 && shift_key) { // shift + |
if (document.getElementById("subtoolbar_search")) {
if (Element.visible("subtoolbar_search")) {
}
}
}
+
+ if (keycode == 88) { // x
+ if (activeFeedIsCat()) {
+ toggleCollapseCat(getActiveFeedId());
+ }
+ }
}
/* Prefix f */
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;
}
}
+ 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 */
toggleTags();
return false;
}
+ }
+
+ /* Cmd */
+ if (hotkey_prefix == 224 || hotkey_prefix == 91) { // f
+ hotkey_prefix = false;
+ return;
}
if (hotkey_prefix) {