Changeset 4bb767


Ignore:
Timestamp:
Sep 16, 2010, 12:27:12 AM (10 years ago)
Author:
rene <just@…>
Branches:
ng_0.6, ng_0.8, ng_0.9
Children:
5b8d00
Parents:
90ff39
Message:

recognize changes of SMTP and Accounts

Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • chrome.manifest

    r90ff39 r4bb767  
    1515overlay chrome://v_identity/content/vI_rdfDataTree.xul  chrome://v_identity/content/vI_storageExtrasDataTreeOverlay.xul
    1616overlay chrome://v_identity/content/vI_rdfDataEditor.xul    chrome://v_identity/content/vI_storageExtrasDataEditorOverlay.xul
     17overlay chrome://messenger/content/am-smtp.xul chrome://v_identity/content/vI_am-smtpOverlay.xul
     18overlay chrome://messenger/content/AccountManager.xul chrome://v_identity/content/vI_am-Overlay.xul
  • chrome/content/v_identity/contents.rdf

    r90ff39 r4bb767  
    3535    </RDF:Seq>
    3636
     37  <RDF:Seq about="chrome://messenger/content/AccountManager.xul">
     38    <RDF:li>chrome://v_identity/content/vI_am-Overlay.xul</RDF:li>
     39  </RDF:Seq>
     40
     41  <RDF:Seq about="chrome://messenger/content/am-smtp.xul">
     42    <RDF:li>chrome://v_identity/content/vI_am-smtpOverlay.xul</RDF:li>
     43  </RDF:Seq>
     44
    3745</RDF:RDF>
  • chrome/content/v_identity/v_identity.js

    r90ff39 r4bb767  
    238238        vI_main.unicodeConverter.charset="UTF-8";
    239239        if (!vI_main.adapt_genericSendMessage()) { vI_notificationBar.dump("\n## v_identity: init failed.\n"); return; }
     240       
    240241        vI_main.adapt_interface();
    241242        gMsgCompose.RegisterStateListener(vI_main.ComposeStateListener);
     
    248249        document.getElementById("fcc_switch").appendChild(document.getElementById("msgIdentity_clone_observer").cloneNode(false));
    249250
     251        vI_main.AccountManagerObserver.register();
     252       
    250253        vI_main.initSystemStage1();
    251254        vI_notificationBar.dump("## v_identity: init done.\n\n")
     
    386389        vI_main.removeVirtualIdentityFromMsgIdentityMenu();
    387390        vI_account.removeUsedVIAccount();
    388     }
     391    },
     392   
     393    //  code adapted from http://xulsolutions.blogspot.com/2006/07/creating-uninstall-script-for.html
     394    AccountManagerObserver : {
     395        _uninstall : false,
     396        observe : function(subject, topic, data) {
     397            if (topic == "am-smtpChanges") {
     398                vI_notificationBar.dump("## v_identity: smtp changes observed\n");
     399                var msgIdentity_clone = document.getElementById("msgIdentity_clone");
     400                document.getAnonymousElementByAttribute(msgIdentity_clone, "class", "smtpServerListHbox").refresh();
     401            }
     402            if (topic == "am-acceptChanges") {
     403                vI_notificationBar.dump("## v_identity: account changes observed\n");
     404                document.getElementById("msgIdentity_clone").clean();
     405                document.getElementById("msgIdentity_clone").init();
     406            }
     407        },
     408        register : function() {
     409            var obsService = Components.classes["@mozilla.org/observer-service;1"].
     410                getService(Components.interfaces.nsIObserverService)
     411            obsService.addObserver(this, "am-smtpChanges", false);
     412            obsService.addObserver(this, "am-acceptChanges", false);
     413        },
     414        unregister : function() {
     415            var obsService = Components.classes["@mozilla.org/observer-service;1"].
     416                getService(Components.interfaces.nsIObserverService)
     417            obsService.removeObserver(this, "am-smtpChanges");
     418            obsService.removeObserver(this, "am-acceptChanges");
     419        }
     420    }
    389421}
    390422
     
    394426window.addEventListener('compose-window-init', vI_main.init, true); // TB 2.x 3.x
    395427
    396 window.addEventListener("unload", function(e) { try {vI_statusmenu.removeObserver();} catch (ex) { } }, false);
    397 
     428window.addEventListener("unload", function(e) { vI_main.AccountManagerObserver.unregister(); try {vI_statusmenu.removeObserver();} catch (ex) { } }, false);
     429
  • chrome/content/v_identity/v_identity.xml

    r90ff39 r4bb767  
    209209        }
    210210        ]]></body>
    211     </method>   
     211    </method>
     212    <method name="refresh">
     213        <body><![CDATA[
     214            this.unload();
     215            this.load();
     216        ]]></body>
     217    </method>
     218    <method name="load">
     219        <body><![CDATA[
     220            this._addDefaultServer();
     221            this._smtpPopup.appendChild(document.createElement("menuseparator"));
     222
     223            var servers = Components.classes["@mozilla.org/messengercompose/smtp;1"]
     224                .getService(Components.interfaces.nsISmtpService).smtpServers;
     225           
     226            if (typeof(servers.Count) == "undefined")       // TB 3.x
     227                while (servers && servers.hasMoreElements())
     228                    this._addServer(servers.getNext());
     229            else                            // TB 2.x
     230                for (var i=0 ; i<servers.Count(); i++)
     231                    this._addServer(servers.QueryElementAt(i, Components.interfaces.nsISmtpServer));
     232        ]]></body>
     233    </method>
     234    <method name="unload">
     235        <body><![CDATA[
     236            var MenuItems = this._smtpPopup.childNodes
     237            while (MenuItems.length > 0) { this._smtpPopup.removeChild(MenuItems[0]) }
     238            this._smtpMenu.selectedItem = null;
     239        ]]></body>
     240    </method>
    212241    <constructor>
    213         <![CDATA[       
    214         this._addDefaultServer();
    215         this._smtpPopup.appendChild(document.createElement("menuseparator"));
    216 
    217         var servers = Components.classes["@mozilla.org/messengercompose/smtp;1"]
    218             .getService(Components.interfaces.nsISmtpService).smtpServers;
    219        
    220         if (typeof(servers.Count) == "undefined")       // TB 3.x
    221             while (servers && servers.hasMoreElements())
    222                 this._addServer(servers.getNext());
    223         else                            // TB 2.x
    224             for (var i=0 ; i<servers.Count(); i++)
    225                 this._addServer(servers.QueryElementAt(i, Components.interfaces.nsISmtpServer));
    226        
     242        <![CDATA[
     243            this.load();
    227244        ]]>
    228245    </constructor>
Note: See TracChangeset for help on using the changeset viewer.