summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2010-02-17 16:38:51 +0300
committerAndrew Dolgov <[email protected]>2010-02-17 16:38:51 +0300
commitfa7c9e65f16086918adde001ed2531c488bd4ce8 (patch)
tree9bf273c1357d8106e45bf014ae5681b4e436fee1 /utils
parent1f7b77d1681626cb2071e29692be68d2dbd18b81 (diff)
notifier: support showing fresh articles in the badge
Diffstat (limited to 'utils')
-rw-r--r--utils/notifier/background.html37
-rw-r--r--utils/notifier/manifest.json2
-rw-r--r--utils/notifier/options.html17
3 files changed, 46 insertions, 10 deletions
diff --git a/utils/notifier/background.html b/utils/notifier/background.html
index 8a3acb2be..fdca37e90 100644
--- a/utils/notifier/background.html
+++ b/utils/notifier/background.html
@@ -16,7 +16,7 @@ function update() {
var login = localStorage["login"];
var requestUrl = localStorage["site_url"] + "/backend.php";
- var params = "op=getUnread&login=" + param_escape(login);
+ var params = "op=getUnread&fresh=1&login=" + param_escape(login);
var xhr = new XMLHttpRequest();
@@ -31,17 +31,36 @@ function update() {
var icon = new Object();
var title = new Object();
var badge = new Object();
+ var badge_color = new Object();
- var showBadge = localStorage["show_badge"];
-
+ var show_badge = localStorage["show_badge"] == "1";
+ var show_fresh = localStorage["show_fresh"] == "1";
+
if (xhr.status == 200) {
- var unread = parseInt(xhr.responseText);
-
- if (unread > 0) {
+ var response = xhr.responseText.split(";");
+
+ var unread = parseInt(response[0]);
+
+ var fresh;
+
+ if (response.length == 2)
+ fresh = parseInt(response[1]);
+ else
+ fresh = 0;
+ if (unread > 0) {
icon.path = "images/alert.png";
title.title = "You have %s unread articles.".replace("%s", unread);
- badge.text = unread + "";
+
+ if (show_fresh) {
+ badge.text = fresh + "";
+ badge_color.color = [0, 200, 0, 255];
+
+ } else {
+ badge.text = unread + "";
+ badge_color.color = [255, 0, 0, 255];
+ }
+
} else if (unread == -1) {
icon.path = "images/error.png";
@@ -65,10 +84,10 @@ function update() {
title.title = "Error (%s) while updating.".replace("%s", xhr.status);
}
- if (showBadge !== "1") badge.text = "";
+ if (!show_badge) badge.text = "";
+ chrome.browserAction.setBadgeBackgroundColor(badge_color);
chrome.browserAction.setBadgeText(badge);
-
chrome.browserAction.setTitle(title);
chrome.browserAction.setIcon(icon);
diff --git a/utils/notifier/manifest.json b/utils/notifier/manifest.json
index 206dffd49..9142910ce 100644
--- a/utils/notifier/manifest.json
+++ b/utils/notifier/manifest.json
@@ -1,7 +1,7 @@
{
"name": "Tiny Tiny RSS Notifier",
"background_page": "background.html",
- "version": "0.2.1",
+ "version": "0.3",
"description": "This extension displays the number of unread articles in your Tiny Tiny RSS installation",
"options_page": "options.html",
"icons": { "48": "images/icon.png", "128": "images/icon.png" },
diff --git a/utils/notifier/options.html b/utils/notifier/options.html
index d7becf222..2988f41c8 100644
--- a/utils/notifier/options.html
+++ b/utils/notifier/options.html
@@ -38,6 +38,7 @@ function save() {
}
localStorage['show_badge'] = (f.show_badge.checked) ? "1" : "0";
+ localStorage['show_fresh'] = (f.show_fresh.checked) ? "1" : "0";
var d = new Date();
@@ -71,6 +72,11 @@ function init() {
else
f.show_badge.checked = true;
+ if (localStorage['show_fresh'])
+ f.show_fresh.checked = localStorage['show_fresh'] == "1";
+ else
+ f.show_fresh.checked = false;
+
var last_updated = $('last_updated');
var d = new Date();
@@ -106,6 +112,11 @@ label {
p.last-updated {
color : gray;
}
+fieldset span.note {
+ color : gray;
+ font-style : italic;
+}
+
</style>
<body onload="init()">
@@ -140,6 +151,12 @@ p.last-updated {
<input name="show_badge" type="checkbox" value="1"/>
</fieldset>
+ <fieldset>
+ <label>Badge shows fresh articles:</label>
+ <input name="show_fresh" type="checkbox" value="1"/>
+ <span class="note">(requires Tiny Tiny RSS 1.4.1 or trunk)</span>
+ </fieldset>
+
<input type="submit" value="Save"/>
</form>