From de06fc3d29ac67e8879c54a0d5a16a15723db7b6 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Sat, 22 Jan 2011 11:15:54 -0500
Subject: [PATCH] Wrap unread count in <span> for more flexible styling

---
 program/js/app.js |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/program/js/app.js b/program/js/app.js
index e78ac27..c81212f 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -4914,11 +4914,14 @@
   // update the mailbox count display
   this.set_unread_count_display = function(mbox, set_title)
   {
-    var reg, text_obj, item, mycount, childcount, div;
+    var reg, link, text_obj, item, mycount, childcount, div;
 
     if (item = this.get_folder_li(mbox)) {
       mycount = this.env.unread_counts[mbox] ? this.env.unread_counts[mbox] : 0;
-      text_obj = item.getElementsByTagName('a')[0];
+      link = $(item).children('a').eq(0);
+      text_obj = link.children('span.unreadcount');
+      if (!text_obj.length && mycount)
+        text_obj = $('<span>').addClass('unreadcount').appendTo(link);
       reg = /\s+\([0-9]+\)$/i;
 
       childcount = 0;
@@ -4930,12 +4933,10 @@
             childcount += this.env.unread_counts[k];
       }
 
-      if (mycount && text_obj.innerHTML.match(reg))
-        text_obj.innerHTML = text_obj.innerHTML.replace(reg, ' ('+mycount+')');
-      else if (mycount)
-        text_obj.innerHTML += ' ('+mycount+')';
-      else
-        text_obj.innerHTML = text_obj.innerHTML.replace(reg, '');
+      if (mycount && text_obj.length)
+        text_obj.html(' ('+mycount+')');
+      else if (text_obj.length)
+        text_obj.remove();
 
       // set parent's display
       reg = new RegExp(RegExp.escape(this.env.delimiter) + '[^' + RegExp.escape(this.env.delimiter) + ']+$');

--
Gitblit v1.9.1