diff --git a/css/cdm.css b/css/cdm.css index 98fd4edf6..23b8c7767 100644 --- a/css/cdm.css +++ b/css/cdm.css @@ -268,6 +268,11 @@ div#floatingTitle a.title { color : #999; font-weight : bold; } + +div#floatingTitle.Unread a.title { + color : black; +} + div#floatingTitle img.anchor { margin-right : 1px; margin-left : 0px; diff --git a/js/viewfeed.js b/js/viewfeed.js index 9a13f8c05..0a20cabcf 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -835,6 +835,8 @@ function selectionToggleUnread(set_state, callback, no_error, ids) { } } + updateFloatingTitle(true); + if (rows.length > 0) { var cmode = ""; @@ -1742,6 +1744,7 @@ function cdmClicked(event, id) { if (article_is_unread) { decrementFeedCounter(getActiveFeedId(), activeFeedIsCat()); + updateFloatingTitle(true); } var query = "?op=rpc&method=catchupSelected" + @@ -2257,8 +2260,10 @@ function scrollToRowId(id) { } } -function updateFloatingTitle() { +function updateFloatingTitle(unread_only) { try { + if (!isCdmMode()) return; + var hf = $("headlines-frame"); var elems = $$("#headlines-frame > div[id*=RROW]"); @@ -2271,17 +2276,24 @@ function updateFloatingTitle() { var header = child.getElementsByClassName("cdmHeader")[0]; - if (child.id != $("floatingTitle").getAttribute("rowid")) { - $("floatingTitle").setAttribute("rowid", child.id); - $("floatingTitle").innerHTML = header.innerHTML; - $("floatingTitle").firstChild.innerHTML = "" + $("floatingTitle").firstChild.innerHTML; + if (unread_only || child.id != $("floatingTitle").getAttribute("rowid")) { + if (child.id != $("floatingTitle").getAttribute("rowid")) { + $("floatingTitle").setAttribute("rowid", child.id); + $("floatingTitle").innerHTML = header.innerHTML; + $("floatingTitle").firstChild.innerHTML = "" + $("floatingTitle").firstChild.innerHTML; - initFloatingMenu(); + initFloatingMenu(); - var cb = $$("#floatingTitle .dijitCheckBox")[0]; + var cb = $$("#floatingTitle .dijitCheckBox")[0]; - if (cb) - cb.parentNode.removeChild(cb); + if (cb) + cb.parentNode.removeChild(cb); + } + + if (child.hasClassName("Unread")) + $("floatingTitle").addClassName("Unread"); + else + $("floatingTitle").removeClassName("Unread"); PluginHost.run(PluginHost.HOOK_FLOATING_TITLE, child); }