summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend.php8
-rw-r--r--feedlist.js4
-rw-r--r--functions.js21
-rw-r--r--tt-rss.css42
-rw-r--r--tt-rss.js40
-rw-r--r--tt-rss.php16
-rw-r--r--tt-rss_compact.css16
7 files changed, 133 insertions, 14 deletions
diff --git a/backend.php b/backend.php
index abde27d71..3bae2a869 100644
--- a/backend.php
+++ b/backend.php
@@ -135,7 +135,7 @@
<script type=\"text/javascript\" src=\"functions.js\"></script>
<script type=\"text/javascript\" src=\"feedlist.js\"></script>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
- </head><body>";
+ </head><body onload=\"init()\">";
print "<ul class=\"feedList\" id=\"feedList\">";
@@ -147,7 +147,7 @@
FROM ttrss_entries WHERE marked = true AND unread = true");
$num_starred = db_fetch_result($result, 0, "num_starred");
- $class = "odd";
+ $class = "virt";
if ($num_starred > 0) $class .= "Unread";
@@ -172,7 +172,7 @@
$count = db_fetch_result($tmp_result, 0, "count");
- $class = "odd";
+ $class = "label";
if ($count > 0) {
$class .= "Unread";
@@ -215,7 +215,7 @@
// $class = ($lnum % 2) ? "even" : "odd";
- $class = "odd";
+ $class = "feed";
if ($unread > 0) $class .= "Unread";
diff --git a/feedlist.js b/feedlist.js
index a76e4a345..9e18489d9 100644
--- a/feedlist.js
+++ b/feedlist.js
@@ -88,4 +88,8 @@ function viewfeed(feed, skip, subop, doc) {
}
+function init() {
+ hideOrShowFeeds(document, getCookie("ttrss_vf_hreadf") == 1);
+
+}
diff --git a/functions.js b/functions.js
index baee89558..78e3bbaae 100644
--- a/functions.js
+++ b/functions.js
@@ -396,3 +396,24 @@ function popupHelp(tid) {
}
}
+
+function hideOrShowFeeds(doc, hide) {
+
+ var css_rules = doc.styleSheets[0].cssRules;
+
+ for (i = 0; i < css_rules.length; i++) {
+ var rule = css_rules[i];
+
+ if (rule.selectorText == "ul.feedList li.feed") {
+ if (!hide) {
+ rule.style.display = "block";
+ } else {
+ rule.style.display = "none";
+ }
+ }
+
+ }
+
+}
+
+
diff --git a/tt-rss.css b/tt-rss.css
index 46654b850..8dbe4c20d 100644
--- a/tt-rss.css
+++ b/tt-rss.css
@@ -151,7 +151,32 @@ ul.feedList li.oddSelected, ul.feedList li.evenSelected,
li.oddSelected a, li.evenSelected a,
li.oddUnreadSelected a, li.evenUnreadSelected a {
color : #5050aa;
-}
+}
+
+ul.feedlist
+ li.virtSelected,
+ li.virtUnreadSelected,
+ li.feedSelected,
+ li.labelSelected,
+ li.feedUnreadSelected,
+ li.labelUnreadSelected {
+ background-color : white;
+}
+
+ul.feedlist
+ li.feedSelected a,
+ li.labelSelected a,
+ li.feedUnreadSelected a,
+ li.labelUnreadSelected a,
+ li.virtSelected a,
+ li.virtUnreadSelected a,
+ li.virtSelectedUnread a {
+ color : #5050aa;
+}
+
+ul.feedList li.feed {
+ display : block;
+}
ul.feedList img {
margin : 0px 3px 0px 0px;
@@ -285,12 +310,12 @@ a.button {
font-size : small;
}
-.evenUnreadSelected, .evenSelectedUnread {
+.evenUnreadSelected, .evenSelectedUnread, {
background-color : #e0e0ff;
font-weight : bold;
}
-.oddUnreadSelected, .oddSelectedUnread {
+.oddUnreadSelected, .oddSelectedUnread, .feedSelectedUnread, {
background-color : #e0e0ff;
font-weight : bold;
}
@@ -301,6 +326,17 @@ a.button {
.oddSelected {
background-color : #e0e0ff;
+}
+
+.feedUnreadSelected, .feedSelectedUnread,
+.virtUnreadSelected, .virtSelectedUnread,
+.labelUnreadSelected, .labelSelectedUnread {
+ background-color : #e0e0ff;
+ font-weight : bold;
+}
+
+.feedUnread, .labelUnread, .virtUnread {
+ font-weight : bold;
}
.disabledButton {
diff --git a/tt-rss.js b/tt-rss.js
index 96894a58d..0fb61a117 100644
--- a/tt-rss.js
+++ b/tt-rss.js
@@ -12,6 +12,7 @@ var search_query = "";
var search_mode = "";
var display_tags = false;
+//var display_read_feeds = true;
var global_unread = 0;
@@ -524,3 +525,42 @@ function qfdDelete(feed_id) {
xmlhttp.send(null);
}
+
+function allFeedsMenuGo() {
+ var chooser = document.getElementById("allFeedsChooser");
+
+ var opname = chooser[chooser.selectedIndex].text;
+
+ if (opname == "Update") {
+ scheduleFeedUpdate(true);
+ return;
+ }
+
+ if (opname == "Mark as read") {
+ catchupAllFeeds();
+ return;
+ }
+
+ if (opname == "Toggle display read") {
+ toggleDispRead();
+ return;
+ }
+
+}
+
+function toggleDispRead() {
+ var hide_read_feeds = (getCookie("ttrss_vf_hreadf") == 1);
+
+ hide_read_feeds = !hide_read_feeds;
+
+ var feeds_doc = window.frames["feeds-frame"].document;
+
+ hideOrShowFeeds(feeds_doc, hide_read_feeds);
+
+ if (hide_read_feeds) {
+ setCookie("ttrss_vf_hreadf", 1);
+ } else {
+ setCookie("ttrss_vf_hreadf", 0);
+ }
+
+}
diff --git a/tt-rss.php b/tt-rss.php
index a78a41f7a..34639c64f 100644
--- a/tt-rss.php
+++ b/tt-rss.php
@@ -62,15 +62,17 @@
src="backend.php?op=error&msg=Loading,%20please wait..."
id="feeds-frame" name="feeds-frame" class="feedsFrame"> </iframe>
- <p align="center">All feeds:
+ <div align="center">All feeds:
- <input class="button" type="submit"
- onclick="javascript:scheduleFeedUpdate(true)" value="Update">
-
- <input class="button" type="submit"
- onclick="javascript:catchupAllFeeds()" value="Mark as read">
+ <select id="allFeedsChooser">
+ <option>Update</option>
+ <option>Mark as read</option>
+ <option>Toggle display read</option>
+ </select>
- </p>
+ <input type="submit" class="button" onclick="allFeedsMenuGo()" value="Go">
+
+ </div>
</td>
<td valign="top" class="headlinesToolbarBox">
diff --git a/tt-rss_compact.css b/tt-rss_compact.css
index deec0e39e..844248592 100644
--- a/tt-rss_compact.css
+++ b/tt-rss_compact.css
@@ -176,6 +176,10 @@ li.oddSelected a, li.evenSelected a,
font-size:8pt;
}
+ul.feedList li.even, li.odd {
+ display : block;
+}
+
ul.feedList img {
margin : 0px 3px 0px 0px;
width : 16px;
@@ -328,6 +332,18 @@ a.button {
background-color : #e0e0ff;
}
+.feedUnreadSelected, .feedSelectedUnread,
+.virtUnreadSelected, .virtSelectedUnread,
+.labelUnreadSelected, .labelSelectedUnread {
+ background-color : #e0e0ff;
+ font-weight : bold;
+}
+
+.feedUnread, .labelUnread, .virtUnread {
+ font-weight : bold;
+}
+
+
.disabledButton {
border : 1px solid #c0c0c0;
background-color : white;