diff --git a/backend.php b/backend.php
index 101ff3ee..721a04eb 100644
--- a/backend.php
+++ b/backend.php
@@ -833,12 +833,12 @@
print "
Select:
- All,
- Unread,
- None
+ All,
+ Unread,
+ None
- Toggle: Unread,
- Starred";
+ Toggle: Unread,
+ Starred";
print " | ";
@@ -853,12 +853,12 @@
print "
Select:
- All,
- Unread,
- None
+ All,
+ Unread,
+ None
- Toggle: Unread,
- Starred";
+ Toggle: Unread,
+ Starred";
print " | ";
diff --git a/viewfeed.js b/viewfeed.js
index e5109b22..58bc7abd 100644
--- a/viewfeed.js
+++ b/viewfeed.js
@@ -175,7 +175,7 @@ function toggleUnread(id, cmode) {
}
}
-function selectionToggleUnread(cdm_mode) {
+function selectionToggleUnread(cdm_mode, set_state) {
try {
if (!xmlhttp_ready(xmlhttp_rpc)) {
printLockingError();
@@ -207,8 +207,18 @@ function selectionToggleUnread(cdm_mode) {
if (rows.length > 0) {
+ var cmode = "";
+
+ if (set_state == undefined) {
+ cmode = "2";
+ } else if (set_state == true) {
+ cmode = "1";
+ } else if (set_state == false) {
+ cmode = "0";
+ }
+
var query = "backend.php?op=rpc&subop=catchupSelected&ids=" +
- param_escape(rows.toString()) + "&cmode=2";
+ param_escape(rows.toString()) + "&cmode=" + cmode;
xmlhttp_rpc.open("GET", query, true);
xmlhttp_rpc.onreadystatechange=all_counters_callback;
@@ -320,9 +330,16 @@ function cdmSelectArticles(mode) {
}
function catchupPage() {
- selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', true, 'Unread', true);
- selectionToggleUnread();
- selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false);
+
+ if (document.getElementById("headlinesList")) {
+ selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', true, 'Unread', true);
+ selectionToggleUnread();
+ selectTableRowsByIdPrefix('headlinesList', 'RROW-', 'RCHK-', false);
+ } else {
+ cdmSelectArticles('all');
+ selectionToggleUnread(true, false)
+ cdmSelectArticles('none');
+ }
}
function labelFromSearch(search, search_mode, match_on, feed_id, is_cat) {
@@ -359,7 +376,13 @@ function init() {
document.onkeydown = hotkey_handler;
}
- var hw = document.getElementById("headlinesList").scrollHeight;
+ var hl = document.getElementById("headlinesList");
+
+ if (!hl) {
+ hl = document.getElementById("headlinesContainer");
+ }
+
+ var hw = hl.scrollHeight;
var pw = parent.document.getElementById("headlines").scrollHeight;
if (hw >= pw) {