summaryrefslogtreecommitdiff
path: root/feedlist.js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2008-10-01 05:06:55 +0100
committerAndrew Dolgov <[email protected]>2008-10-01 05:06:55 +0100
commitf46192bb191acdbc733f60bad60c4eb83ebb2e26 (patch)
tree2ab0583733430eb313fbe43e6ca5350c366de525 /feedlist.js
parent886d4bce27b459e5991e49e28a27101847a9ddd3 (diff)
catchup in category view mode jumps to the next unread category
Diffstat (limited to 'feedlist.js')
-rw-r--r--feedlist.js47
1 files changed, 33 insertions, 14 deletions
diff --git a/feedlist.js b/feedlist.js
index 8400af52c..22b8aeab3 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -135,22 +135,41 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
if (subop == "MarkAllRead") {
- var feedlist = document.getElementById('feedList');
-
- var next_unread_feed = getRelativeFeedId(feedlist,
- feed, "next", true);
-
- if (!next_unread_feed) {
- next_unread_feed = getRelativeFeedId(feedlist,
- -3, "next", true);
- }
-
var show_next_feed = getInitParam("on_catchup_show_next_feed") == "1";
- if (next_unread_feed && show_next_feed && !activeFeedIsCat()) {
- query = query + "&nuf=" + param_escape(next_unread_feed);
- //setActiveFeedId(next_unread_feed);
- feed = next_unread_feed;
+ if (show_next_feed) {
+
+ if (!activeFeedIsCat()) {
+
+ var feedlist = document.getElementById('feedList');
+
+ var next_unread_feed = getRelativeFeedId(feedlist,
+ feed, "next", true);
+
+ if (!next_unread_feed) {
+ next_unread_feed = getRelativeFeedId(feedlist,
+ -3, "next", true);
+ }
+
+ if (next_unread_feed) {
+ query = query + "&nuf=" + param_escape(next_unread_feed);
+ //setActiveFeedId(next_unread_feed);
+ feed = next_unread_feed;
+ }
+ } else {
+
+ var next_unread_feed = getNextUnreadCat(feed);
+
+ /* we don't need to specify that our next feed is actually
+ a category, because we're in the is_cat mode by definition
+ already */
+
+ if (next_unread_feed && show_next_feed) {
+ query = query + "&nuf=" + param_escape(next_unread_feed);
+ feed = next_unread_feed;
+ }
+
+ }
}
}