Changeset 2f89e0


Ignore:
Timestamp:
Mar 10, 2008, 8:20:39 PM (12 years ago)
Author:
rene <rene@…>
Branches:
master
Children:
32b11b
Parents:
ee57f7
Message:

use adapted Identity-Lists to ignore parallel Virtual Identity Accounts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chrome/content/v_identity/v_identity.js

    ree57f7 r2f89e0  
    9090    original_functions : {
    9191        GenericSendMessage : null,
     92        FillIdentityListPopup : null,   // TB 2.x
     93        FillIdentityList : null,    // TB 3.x
    9294    },
    9395
     
    127129       
    128130    replacement_functions : {
     131        // TB 2.x
     132        FillIdentityListPopup: function(popup) {
     133            vI_notificationBar.dump("## v_identity: mod. FillIdentityListPopup\n");
     134            var accounts = queryISupportsArray(gAccountManager.accounts, Components.interfaces.nsIMsgAccount);
     135            accounts.sort(compareAccountSortOrder);
     136
     137            for (var i in accounts) {
     138                var server = accounts[i].incomingServer;
     139                if (!server) continue;
     140                // check for VirtualIdentity Account
     141                try {   vI_account.prefroot.getBoolPref("mail.account." + accounts[i].key + ".vIdentity");
     142                    continue; } catch (e) { };
     143
     144                var identites = queryISupportsArray(accounts[i].identities, Components.interfaces.nsIMsgIdentity);
     145                for (var j in identites) {
     146                    var identity = identites[j];
     147                    var item = document.createElement("menuitem");
     148                    item.className = "identity-popup-item";
     149                    item.setAttribute("label", identity.identityName);
     150                    item.setAttribute("value", identity.key);
     151                    item.setAttribute("accountkey", accounts[i].key);
     152                    item.setAttribute("accountname", " - " + server.prettyName);
     153                    popup.appendChild(item);
     154                }
     155            }
     156        },
     157       
     158        // TB 3.x
     159        FillIdentityList: function(menulist) {
     160            vI_notificationBar.dump("## v_identity: mod. FillIdentityList\n");
     161            var accounts = queryISupportsArray(gAccountManager.accounts, Components.interfaces.nsIMsgAccount);
     162            accounts.sort(compareAccountSortOrder);
     163
     164            for (var i in accounts) {
     165                var server = accounts[i].incomingServer;
     166                if (!server) continue;
     167                // check for VirtualIdentity Account
     168                try {   vI_account.prefroot.getBoolPref("mail.account." + accounts[i].key + ".vIdentity");
     169                    continue; } catch (e) { };
     170
     171                var identites = queryISupportsArray(accounts[i].identities, Components.interfaces.nsIMsgIdentity);
     172                for (var j in identites) {
     173                    var identity = identites[j];
     174                    var item = menulist.appendItem(identity.identityName, identity.key, server.prettyName);
     175                    item.setAttribute("accountkey", accounts[i].key);
     176                }
     177            }
     178        },
     179       
    129180        GenericSendMessage: function (msgType) {
    130181            var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
     
    179230            }
    180231        },
    181 
     232       
     233        replace_FillIdentityList : function() {
     234            if (typeof(FillIdentityList)=="function") {
     235                //~ vI_notificationBar.dump("## v_identity: replace FillIdentityList (TB 3.x)\n");
     236                vI.original_functions.FillIdentityList = FillIdentityList;
     237                FillIdentityList = vI.replacement_functions.FillIdentityList;
     238            }
     239            else {
     240                //~ vI_notificationBar.dump("## v_identity: replace FillIdentityListPopup (TB 2.x)\n");
     241                vI.original_functions.FillIdentityListPopup = FillIdentityListPopup;
     242                FillIdentityListPopup = vI.replacement_functions.FillIdentityListPopup;
     243            }
     244        },
     245       
    182246        replaceGenericFunction : function()
    183247        {
     
    359423}
    360424
     425
     426vI.replacement_functions.replace_FillIdentityList();
    361427window.addEventListener("load", vI.init, false);
    362428window.addEventListener("unload", vI.remove, false);
Note: See TracChangeset for help on using the changeset viewer.