diff --git a/src/chrome/content/options.js b/src/chrome/content/options.js index 06c2511..8ba26a2 100644 --- a/src/chrome/content/options.js +++ b/src/chrome/content/options.js @@ -30,7 +30,8 @@ var firetrayUIOptions = { this.updateWindowAndIconOptions(); this.updateScrollOptions(); this.initAppIconType(); - this.initIconNames(); + this.initAppIconNames(); + this.initNewMailIconNames(); }, onQuit: function(e) { @@ -60,8 +61,9 @@ var firetrayUIOptions = { disableGroup: function(group, disableval) { try { - for (let i=0, len=group.childNodes.length; i + onchange="firetrayUIOptions.updateAppIconNames(this);" flex="1" /> + onchange="firetrayUIOptions.updateAppIconNames(this);" flex="1" /> @@ -167,16 +167,18 @@ accesskey="&mail_notification_newmail_icon.accesskey;" oncommand="firetrayUIOptions.updateNotificationSettings()" observes="broadcaster-notification-disabled" /> - + placeholder="&app_icon_themed_name;" flex="1" + observes="broadcaster-notification-disabled" + onchange="firetrayUIOptions.updateNewMailIconNames(this);" /> + placeholder="&app_icon_themed_name;" flex="1" + observes="broadcaster-notification-disabled" + onchange="firetrayUIOptions.updateNewMailIconNames(this);" /> + placeholder="&app_icon_themed_name;" flex="1" + onchange="firetrayUIOptions.updateNewMailIconNames(this);" + disabled="true"/> - + diff --git a/src/chrome/skin/linux/icons/gnome/22x22/actions/mail-message-new.png b/src/chrome/skin/linux/icons/gnome/22x22/actions/mail-message-new.png deleted file mode 120000 index e40a113..0000000 --- a/src/chrome/skin/linux/icons/gnome/22x22/actions/mail-message-new.png +++ /dev/null @@ -1 +0,0 @@ -../../../../../mail-message-new.png \ No newline at end of file diff --git a/src/chrome/skin/linux/icons/gnome/22x22/status/mail-unread.png b/src/chrome/skin/linux/icons/gnome/22x22/status/mail-unread.png new file mode 120000 index 0000000..0e4ffc3 --- /dev/null +++ b/src/chrome/skin/linux/icons/gnome/22x22/status/mail-unread.png @@ -0,0 +1 @@ +../../../../../mail-unread.png \ No newline at end of file diff --git a/src/chrome/skin/mail-message-new.png b/src/chrome/skin/mail-message-new.png deleted file mode 100644 index 2d9caca..0000000 Binary files a/src/chrome/skin/mail-message-new.png and /dev/null differ diff --git a/src/chrome/skin/mail-unread.png b/src/chrome/skin/mail-unread.png new file mode 100644 index 0000000..b877d3a Binary files /dev/null and b/src/chrome/skin/mail-unread.png differ diff --git a/src/defaults/preferences/prefs.js b/src/defaults/preferences/prefs.js index 67e6907..17e2bff 100644 --- a/src/defaults/preferences/prefs.js +++ b/src/defaults/preferences/prefs.js @@ -14,10 +14,11 @@ pref("extensions.firetray.start_hidden", false); pref("extensions.firetray.show_activates", false); pref("extensions.firetray.app_icon_type", 0); -pref("extensions.firetray.app_browser_icon_names", '[]'); +pref("extensions.firetray.app_browser_icon_names", '["web-browser", "internet-web-browser"]'); pref("extensions.firetray.app_mail_icon_names", '["indicator-messages", "applications-email-panel"]'); pref("extensions.firetray.app_default_icon_names", '[]'); pref("extensions.firetray.app_icon_filename", ""); +pref("extensions.firetray.new_mail_icon_names", '["indicator-messages-new", "mail-message-new"]'); pref("extensions.firetray.show_icon_on_hide", false); pref("extensions.firetray.scroll_hides", true); pref("extensions.firetray.scroll_mode", "down_hides"); diff --git a/src/modules/FiretrayHandler.jsm b/src/modules/FiretrayHandler.jsm index 42b633f..7812ed0 100644 --- a/src/modules/FiretrayHandler.jsm +++ b/src/modules/FiretrayHandler.jsm @@ -367,6 +367,8 @@ firetray.PrefListener = new PrefListener( case 'show_icon_on_hide': firetray.Handler.showHideIcon(); break; + case 'new_mail_icon_names': + firetray.StatusIcon.loadThemedIcons(); case 'message_count_type': firetray.Messaging.updateMsgCount(); break; diff --git a/src/modules/linux/FiretrayStatusIcon.jsm b/src/modules/linux/FiretrayStatusIcon.jsm index fd601a4..78e135e 100644 --- a/src/modules/linux/FiretrayStatusIcon.jsm +++ b/src/modules/linux/FiretrayStatusIcon.jsm @@ -70,8 +70,11 @@ firetray.StatusIcon = { loadThemedIcons: function() { if (firetray.Handler.inMailApp) { + let newMailIconNames = firetray.Utils.getArrayPref("new_mail_icon_names"); + newMailIconNames.push("mail-unread"); // SMELL + this.themedIconNewMail = this.initThemedIcon(newMailIconNames); + this.prefAppIconNames = "app_mail_icon_names"; - this.themedIconNewMail = this.initThemedIcon(["indicator-messages-new", "mail-message-new"]); // TODO } else if (firetray.Handler.inBrowserApp) { this.prefAppIconNames = "app_browser_icon_names"; } else { @@ -84,6 +87,7 @@ firetray.StatusIcon = { initThemedIcon: function(names) { if (!isArray(names)) throw new TypeError(); + LOG("themedIconNames="+names); let namesLen = names.length; LOG("themedIconNamesLen="+namesLen); let themedIconNames = ctypes.char.ptr.array(namesLen)();