diff options
author | Andrew Dolgov <[email protected]> | 2008-10-01 05:06:55 +0100 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2008-10-01 05:06:55 +0100 |
commit | f46192bb191acdbc733f60bad60c4eb83ebb2e26 (patch) | |
tree | 2ab0583733430eb313fbe43e6ca5350c366de525 /feedlist.js | |
parent | 886d4bce27b459e5991e49e28a27101847a9ddd3 (diff) |
catchup in category view mode jumps to the next unread category
Diffstat (limited to 'feedlist.js')
-rw-r--r-- | feedlist.js | 47 |
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; + } + + } } } |