Changeset e9f019


Ignore:
Timestamp:
Sep 23, 2008, 5:40:44 PM (13 years ago)
Author:
rene <rene@…>
Branches:
lite_0.1, multiEdit, ng_0.6, ng_0.6_help, ng_0.8, ng_0.9
Children:
b34626
Parents:
8304f2
Message:

getIdentity or getSmtpServer always retrieving identity/server, even if key is not valid. Changed. Additionally made stringBundle local.

File:
1 edited

Legend:

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

    r8304f2 re9f019  
    3535    if (sideDescription) this.sideDescription = sideDescription;
    3636    else if (this.id.value) this.sideDescription = " - " + this.id.value;
     37    this.stringBundle = document.getElementById("vIdentBundle");
    3738}
    3839identityData.prototype = {
     
    4344    extras : null,
    4445    sideDescription : null,
    45 
     46   
     47    stringBundle : null,
    4648    comp : null,   
    4749
     
    7375    get combinedNameHtml() { return this.__makeHtml(this.combinedName); },
    7476
    75     get idLabel() { return vI.elements.strings.getString("vident.identityData.baseID") },
    76     get smtpLabel() { return vI.elements.strings.getString("vident.identityData.SMTP") },
    77     get fullNameLabel() { return vI.elements.strings.getString("vident.identityData.Name") },
    78     get emailLabel() { return vI.elements.strings.getString("vident.identityData.Address") },
     77    get idLabel() { return this.stringBundle.getString("vident.identityData.baseID") },
     78    get smtpLabel() { return this.stringBundle.getString("vident.identityData.SMTP") },
     79    get fullNameLabel() { return this.stringBundle.getString("vident.identityData.Name") },
     80    get emailLabel() { return this.stringBundle.getString("vident.identityData.Address") },
    7981
    8082    // creates an Duplicate of the current IdentityData, cause usually we are working with a pointer
     
    215217
    216218function smtpObj(key) {
    217     this.key = key;
     219    this._key = key;
    218220    this.DEFAULT_TAG = document.getElementById("bundle_messenger").getString("defaultServerTag");
    219221}
     
    230232            // if key == null, it is not known / if it is "" it's the Default SMTP
    231233            if (this._key == "") this._value = this.DEFAULT_TAG;
    232             else if (this._key != null) {
    233                 var smtpService = Components.classes["@mozilla.org/messengercompose/smtp;1"]
    234                     .getService(Components.interfaces.nsISmtpService);
    235                 var server = smtpService.getServerByKey(this.key);
    236                 if (server) this._value = server.description?server.description:server.hostname
    237                 else this._key = null;  // if non-existant SMTP handle like non available   
     234            else if (this._key) {
     235                var servers = Components.classes["@mozilla.org/messengercompose/smtp;1"]
     236                    .getService(Components.interfaces.nsISmtpService).smtpServers;
     237                if (typeof(servers.Count) == "undefined")       // TB 3.x
     238                    while (servers && servers.hasMoreElements()) {
     239                        var server = servers.getNext();
     240                        if (server instanceof Components.interfaces.nsISmtpServer &&
     241                            !server.redirectorType && this._key == server.key) {
     242                            this._value = server.description?server.description:server.hostname;
     243                            break;
     244                        }
     245                    }
     246                else                            // TB 2.x
     247                    for (var i=0 ; i < servers.Count(); i++) {
     248                        var server = servers.QueryElementAt(i,
     249                            Components.interfaces.nsISmtpServer);
     250                        if (!server.redirectorType && this._key == server.key) {
     251                            this._value = server.description?server.description:server.hostname;
     252                            break;
     253                        }
     254                    }
     255                if (!this._value) this._key = null; // if non-existant SMTP handle like non available
    238256            }
    239257        }
     
    246264}
    247265
    248 function idObj(key) { this.key = key; }
     266function idObj(key) { this._key = key; }
    249267idObj.prototype = {
    250268    _key : null,
     
    259277                var accountManager = Components.classes["@mozilla.org/messenger/account-manager;1"]
    260278                    .getService(Components.interfaces.nsIMsgAccountManager);
    261                 var identity = accountManager.getIdentity(this._key);
    262                 if (identity) this._value = identity.identityName
    263                 else this._key = null;  // if non-existant ID handle like non available
     279                for (var i = 0; i < accountManager.accounts.Count(); i++) {
     280                    var account = accountManager.accounts.GetElementAt(i)
     281                        .QueryInterface(Components.interfaces.nsIMsgAccount);
     282                    for (var j = 0; j < account.identities.Count(); j++) {
     283                        var identity = account.identities.GetElementAt(j)
     284                            .QueryInterface(Components.interfaces.nsIMsgIdentity);
     285                        if (this._key == identity.key) {
     286                            this._value = identity.identityName;
     287                            break;
     288                        }
     289                    }
     290                }
     291                if (!this._value) this._key = null;
    264292            }
    265293        }
Note: See TracChangeset for help on using the changeset viewer.