diff --git a/TODO b/TODO index c0f1b07..e8b8009 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -* check why unreadMsgCount not well updated with seamonkey +=TODO= * make multi-platform. At least have js-ctypes library call dependant on OS detection. (best would be to have the OS-dependant modules loaded at startup) @@ -10,3 +10,27 @@ http://erikvold.com/blog/index.cfm/2010/10/28/restartless-firefox-addons-part-1- WONTFIX: * ability to hide windows individually/globally + +=ROADMAP= + +* Mozilla products have entered a + [rapid release cycle](http://blog.mozilla.com/blog/2011/04/13/new-channels-for-firefox-rapid-releases/ + "Mozilla Blog") which implies frequent rebuilds of XPCOM binary-based addons (such as Firetray) +* authors are encouraged to [port their XPCOM binary-based addons to js-ctypes](https://groups.google.com/group/mozilla.dev.extensions/browse_thread/thread/2d6942c44f303b62/b98debfbccef11ed) +* Francesco doesn't have enough time to maintain the Firetray project in this situation +* Foudil has come up with a prototype js-ctypes version of the project, which is functional, but does not yet cover all features currently supported by the binary-based version. +* the js-ctypes version will endeavor to support uncovered features in the + future (see below) +* the Firetray project plans to replace the binary-based version with the js-types version when enough features are covered +* meanwhile, Firetray users are invited to switch to the preview release of the js-ctypes version [link to beta channel] and [provide feedback](https://github.com/foudfou/FireTray/issues) as to what important features are missing + +==NEXT FEATURES== + +* mouse scrolls on tray icon hides/shows +* hide to tray on minimize +* ability to start minimized to tray +* when restoring if the window is iconified, deiconify it +* custom tray icon +* keyboard shortcut hide/show + +[Vote](https://docs.google.com/spreadsheet/viewform?hl=fr&formkey=dFJqUC1pLTQzNkJYQldFdzdSV1BaSkE6MQ#gid=0) diff --git a/src/modules/FiretrayMessaging.jsm b/src/modules/FiretrayMessaging.jsm index 7aeab3f..00b8a24 100644 --- a/src/modules/FiretrayMessaging.jsm +++ b/src/modules/FiretrayMessaging.jsm @@ -154,7 +154,8 @@ firetray.Messaging.Accounts.prototype.__iterator__ = function() { LOG("sortByTypeAndName="+this.sortByTypeAndName); // NOTE: sort() not provided by nsIMsgAccountManager.accounts - // (nsISupportsArray?). Should be OK to re-build a JS-Array for few accounts + // (nsISupportsArray, nsICollection). Should be OK to re-build a JS-Array for + // few accounts let accountServers = []; for (let i = 0; i < accounts.Count(); i++) { let account = accounts.QueryElementAt(i, Ci.nsIMsgAccount); diff --git a/src/modules/commons.js b/src/modules/commons.js index b5209ea..543f259 100644 --- a/src/modules/commons.js +++ b/src/modules/commons.js @@ -50,6 +50,14 @@ firetray.Utils = { LOG(str); }, + QueryInterfaces: function(obj) { + for each (i in Components.interfaces) { + try { + if (obj instanceof i) { LOG(i); } + } catch (x) {} + } + }, + // adapted from http://forums.mozillazine.org/viewtopic.php?p=921150#921150 chromeToPath: function(aPath) { if (!aPath || !(/^chrome:/.test(aPath)))