active_feed_is_cat, active_feed_id handling changes

This commit is contained in:
Andrew Dolgov 2009-01-17 11:14:45 +01:00
parent 617698d710
commit 3d72bbdb4f
7 changed files with 62 additions and 54 deletions

View file

@ -281,7 +281,7 @@
WHERE id = '$feed' AND owner_uid = ".$_SESSION["uid"]);
}
print "<headlines id=\"$feed\"><![CDATA[";
print "<headlines id=\"$feed\" is_cat=\"$cat_view\"><![CDATA[";
$override_order = false;

View file

@ -25,7 +25,6 @@ function toggle_sortable_feedlist(enabled) {
}
function viewCategory(cat) {
active_feed_is_cat = true;
viewfeed(cat, '', true);
return false;
}
@ -239,17 +238,18 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
clean_feed_selections();
setActiveFeedId(feed);
setActiveFeedId(feed, is_cat);
if (is_cat != undefined) {
active_feed_is_cat = is_cat;
}
if (!is_cat) {
var feedr = document.getElementById("FEEDR-" + feed);
if (feedr && !feedr.className.match("Selected")) {
feedr.className = feedr.className + "Selected";
}
} else {
var feedr = document.getElementById("FCAT-" + feed_id);
if (feedr && !feedr.className.match("Selected")) {
feedr.className = feedr.className + "Selected";
}
}
f.innerHTML = cache_find_param(cache_prefix + feed, unread_ctr);
@ -264,7 +264,7 @@ function viewfeed(feed, subop, is_cat, subop_param, skip_history, offset) {
new Ajax.Request(query, {
onComplete: function(transport) {
headlines_callback2(transport, feed, is_cat, page_offset);
headlines_callback2(transport, page_offset);
} });
}

View file

@ -406,30 +406,6 @@ function gotoExportOpml() {
document.location.href = "opml.php?op=Export";
}
function getActiveFeedId() {
// return getCookie("ttrss_vf_actfeed");
try {
debug("gAFID: " + active_feed_id);
return active_feed_id;
} catch (e) {
exception_error("getActiveFeedId", e);
}
}
function activeFeedIsCat() {
return active_feed_is_cat;
}
function setActiveFeedId(id) {
// return setCookie("ttrss_vf_actfeed", id);
try {
debug("sAFID(" + id + ")");
active_feed_id = id;
} catch (e) {
exception_error("setActiveFeedId", e);
}
}
function parse_counters(reply, scheduled_call) {
try {

View file

@ -4188,7 +4188,7 @@
$inner_title_class = "catTitleNL";
}
if ($cat_id > 0) {
if ($cat_id >= 0) {
$cat_class = "feedCat";
} else {
$cat_class = "virtCat";

View file

@ -39,14 +39,14 @@
<h2><?php echo __("Feed actions") ?></h2>
<table>
<tr><td class='n'>r</td><td><?php echo __("Update active feed") ?></td></tr>
<tr><td class='n'>f r</td><td><?php echo __("Update active feed") ?></td></tr>
<!-- <tr><td class='n'>R</td><td><?php echo __("Update all feeds") ?></td></tr> -->
<tr><td class='n'>f a</td><td><?php echo __("(Un)hide read feeds") ?></td></tr>
<tr><td class='n'>f s</td><td><?php echo __("Subscribe to feed") ?></td></tr>
<tr><td class='n'>f e</td><td><?php echo __("Edit feed") ?></td></tr>
<tr><td class='n'>f w</td><td><?php echo __("Sort by name or unread count") ?></td></tr>
<tr><td class='n'>f h</td><td><?php echo __("Hide visible read articles") ?></td></tr>
<tr><td class='n'>q</td><td><?php echo __("Mark feed as read") ?></td></tr>
<tr><td class='n'>f q</td><td><?php echo __("Mark feed as read") ?></td></tr>
<tr><td class='n'>Q</td><td><?php echo __("Mark all feeds as read") ?></td></tr>
<tr><td class='n'>x</td><td><?php echo __("If viewing category, (un)collapse it") ?></td></tr>
</table>

View file

@ -8,8 +8,8 @@ var daemon_enabled = false;
var daemon_refresh_only = false;
//var _qfd_deleted_feed = 0;
var firsttime_update = true;
var active_feed_id = 0;
var active_feed_is_cat = false;
var _active_feed_id = 0;
var _active_feed_is_cat = false;
var number_of_feeds = 0;
var sanity_check_done = false;
var _hfd_scrolltop = 0;
@ -20,6 +20,36 @@ var hor_offset = 0;
var feeds_sort_by_unread = false;
var feedlist_sortable_enabled = false;
function activeFeedIsCat() {
return _active_feed_is_cat;
}
function getActiveFeedId() {
// return getCookie("ttrss_vf_actfeed");
try {
debug("gAFID: " + _active_feed_id);
return _active_feed_id;
} catch (e) {
exception_error("getActiveFeedId", e);
}
}
function setActiveFeedId(id, is_cat) {
// return setCookie("ttrss_vf_actfeed", id);
try {
debug("sAFID(" + id + ", " + is_cat + ")");
_active_feed_id = id;
if (is_cat != undefined) {
_active_feed_is_cat = is_cat;
}
} catch (e) {
exception_error("setActiveFeedId", e);
}
}
function isFeedlistSortable() {
return feedlist_sortable_enabled;
}
@ -250,7 +280,7 @@ function viewCurrentFeed(subop) {
// if (getActiveFeedId()) {
if (getActiveFeedId() != undefined) {
viewfeed(getActiveFeedId(), subop, active_feed_is_cat);
viewfeed(getActiveFeedId(), subop, activeFeedIsCat());
} else {
disableContainerChildren("headlinesToolbar", false, document);
// viewfeed(-1, subop); // FIXME
@ -728,14 +758,10 @@ function parse_runtime_info(elem) {
function catchupCurrentFeed() {
var fn = getFeedName(getActiveFeedId(), active_feed_is_cat);
var fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
var str = __("Mark all articles in %s as read?").replace("%s", fn);
/* if (active_feed_is_cat) {
str = "Mark all articles in this category as read?";
} */
if (getInitParam("confirm_feed_catchup") != 1 || confirm(str)) {
return viewCurrentFeed('MarkAllRead')
}

View file

@ -67,7 +67,7 @@ function clean_feed_selections() {
}
}
function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) {
function headlines_callback2(transport, feed_cur_page) {
try {
loading_set_progress(100);
@ -75,20 +75,26 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) {
debug("headlines_callback2 [page=" + feed_cur_page + "]");
clean_feed_selections();
var is_cat = false;
var feed_id = false;
setActiveFeedId(active_feed_id);
if (is_cat != undefined) {
active_feed_is_cat = is_cat;
if (transport.responseXML) {
var headlines = transport.responseXML.getElementsByTagName("headlines")[0];
if (headlines) {
is_cat = headlines.getAttribute("is_cat");
feed_id = headlines.getAttribute("id");
setActiveFeedId(feed_id, is_cat);
}
}
if (!is_cat) {
var feedr = document.getElementById("FEEDR-" + active_feed_id);
var feedr = document.getElementById("FEEDR-" + feed_id);
if (feedr && !feedr.className.match("Selected")) {
feedr.className = feedr.className + "Selected";
}
} else {
var feedr = document.getElementById("FCAT-" + active_feed_id);
var feedr = document.getElementById("FCAT-" + feed_id);
if (feedr && !feedr.className.match("Selected")) {
feedr.className = feedr.className + "Selected";
}
@ -138,10 +144,10 @@ function headlines_callback2(transport, active_feed_id, is_cat, feed_cur_page) {
cache_prefix = "F:";
}
cache_invalidate(cache_prefix + active_feed_id);
cache_invalidate(cache_prefix + feed_id);
if (!disable_cache) {
cache_inject(cache_prefix + active_feed_id,
cache_inject(cache_prefix + feed_id,
headlines.firstChild.nodeValue, headlines_unread);
}
@ -1090,7 +1096,7 @@ function cdmSelectArticles(mode) {
function catchupPage() {
var fn = getFeedName(getActiveFeedId(), active_feed_is_cat);
var fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
var str = __("Mark all visible articles in %s as read?");
@ -1129,7 +1135,7 @@ function catchupSelection() {
}
var fn = getFeedName(getActiveFeedId(), active_feed_is_cat);
var fn = getFeedName(getActiveFeedId(), activeFeedIsCat());
var str = __("Mark %d selected articles in %s as read?");