summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-04-05 11:58:50 +0400
committerAndrew Dolgov <[email protected]>2012-04-05 11:58:50 +0400
commitde44b9a61e4b507e1d60331e0ab11bb5f84a86e8 (patch)
tree6c6fb348bc5a2763ab52fbb9d75c5e0e37252e8a /js
parent6c8e8fbdc9a9a9ee0412a0f36698fd03a2954839 (diff)
add counter hack to combined mode
Diffstat (limited to 'js')
-rw-r--r--js/feedlist.js25
-rw-r--r--js/viewfeed.js29
2 files changed, 39 insertions, 15 deletions
diff --git a/js/feedlist.js b/js/feedlist.js
index 98e3c6ca5..02057c06a 100644
--- a/js/feedlist.js
+++ b/js/feedlist.js
@@ -524,3 +524,28 @@ function catchupFeed(feed, is_cat) {
exception_error("catchupFeed", e);
}
}
+
+function decrementFeedCounter(feed, is_cat) {
+ try {
+ var ctr = getFeedUnread(feed, is_cat);
+
+ if (ctr > 0) {
+ setFeedUnread(feed, is_cat, ctr - 1);
+
+ if (!is_cat) {
+ var cat = parseInt(getFeedCategory(feed));
+
+ if (!isNaN(cat)) {
+ ctr = getFeedUnread(cat, true);
+
+ if (ctr > 0) {
+ setFeedUnread(cat, true, ctr - 1);
+ }
+ }
+ }
+ }
+
+ } catch (e) {
+ exception_error("decrement_feed_counter", e);
+ }
+}
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 4e610ca10..e8d449a23 100644
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -392,21 +392,7 @@ function view(id) {
console.log(query);
if (article_is_unread) {
- var ctr = getFeedUnread(getActiveFeedId(), activeFeedIsCat());
-
- if (ctr > 0) {
- setFeedUnread(getActiveFeedId(), activeFeedIsCat(), ctr - 1);
-
- var cat = parseInt(getFeedCategory(getActiveFeedId()));
-
- if (!isNaN(cat)) {
- ctr = getFeedUnread(cat, true);
-
- if (ctr > 0) {
- setFeedUnread(cat, true, ctr - 1);
- }
- }
- }
+ decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
}
new Ajax.Request("backend.php", {
@@ -1628,6 +1614,7 @@ function cdmClicked(event, id) {
toggleSelected(id);
var elem = $("RROW-" + id);
+ var article_is_unread = elem.hasClassName("Unread");
if (elem)
elem.removeClassName("Unread");
@@ -1642,6 +1629,10 @@ function cdmClicked(event, id) {
active_post_id = id;
+ if (article_is_unread) {
+ decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
+ }
+
var query = "?op=rpc&method=catchupSelected" +
"&cmode=0&ids=" + param_escape(id);
@@ -1656,6 +1647,14 @@ function cdmClicked(event, id) {
} else {
toggleSelected(id, true);
+
+ var elem = $("RROW-" + id);
+ var article_is_unread = elem.hasClassName("Unread");
+
+ if (article_is_unread) {
+ decrementFeedCounter(getActiveFeedId(), activeFeedIsCat());
+ }
+
toggleUnread(id, 0, false);
zoomToArticle(event, id);
}