Changeset d1f668


Ignore:
Timestamp:
Oct 2, 2009, 1:20:09 PM (10 years ago)
Author:
rene <rene@…>
Branches:
lite_0.1, multiEdit, ng_0.6, ng_0.6_help, ng_0.8, ng_0.9
Children:
77bb12
Parents:
bdfae4
Message:

implementation of SMTP storage / change of interface

Files:
2 added
14 edited

Legend:

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

    rbdfae4 rd1f668  
    228228};
    229229
     230const DEFAULT_SMTP_TAG = "vI_useDefaultSMTP"
     231const NO_SMTP_TAG = "vI_noStoredSMTP"
     232
    230233function smtpObj(key) {
    231234    this._key = key;
     
    238241   
    239242    set key(key) { this._key = key; this._value = null; },
    240     get key() { if (this._value == null) var dummy = this.value; return this._key },
     243    get key() {
     244        var dummy = this.value; // just to be sure key is adapted if SMTP is not available
     245        return this._key
     246    },
     247    get keyNice() { // the same as key but with "" for DEFAULT_SMTP_TAG
     248        if (this.key == DEFAULT_SMTP_TAG) return ""; // this is the key used for default server
     249        return this.key
     250    },
    241251    get value() {
    242252        if (this._value == null) {
    243253            this._value = "";
    244             // if key == null, it is not known / if it is "" it's the Default SMTP
    245             if (this._key == "") this._value = this.DEFAULT_TAG;
     254            if (this._key == null || this._key == "") this._key = DEFAULT_SMTP_TAG;
     255            if (this._key == DEFAULT_SMTP_TAG) this._value = this.DEFAULT_TAG;
     256            else if (!this._key) this._value = null;
    246257            else if (this._key) {
    247258                var servers = Components.classes["@mozilla.org/messengercompose/smtp;1"]
     
    265276                        }
    266277                    }
    267                 if (!this._value) this._key = null; // if non-existant SMTP handle like non available
     278                if (!this._value) this._key = NO_SMTP_TAG; // if non-existant SMTP handle like non available
    268279            }
    269280        }
     
    273284        if (this.key == null || compareSmtpObj.key == null) return true;
    274285        return (this.key == compareSmtpObj.key);
     286    },
     287    hasNoDefinedSMTP : function() {
     288        return (this.key == NO_SMTP_TAG);
    275289    }
    276290}
  • chrome/content/v_identity/vI_prefDialog.js

    rbdfae4 rd1f668  
    6464                "VIdent_identity.storage_storedefault",
    6565                "VIdent_identity.storage_store_base_id",
     66                "VIdent_identity.storage_store_SMTP",
    6667                "VIdent_identity.storage_dont_update_multiple",
    6768                "VIdent_identity.storage_show_switch",
     69                "VIdent_identity.storage_show_baseID_switch",
     70                "VIdent_identity.storage_show_SMTP_switch",
     71                "VIdent_identity.storage_colorIndication",
    6872                "VIdent_identity.storage_warn_update",
    6973                "VIdent_identity.storage_warn_vI_replace",
     
    7175                "VIdent_identity.storage_getOneOnly",
    7276                "VIdent_identity.storageExtras_returnReciept",
     77                "VIdent_identity.storageExtras_fcc",
    7378                "VIdent_identity.storageExtras_characterEncoding",
    7479                "VIdent_identity.storageExtras_messageFormat",
     
    207212            mAttr("VIdent_identity.storage_storedefault","disabled",element.checked);
    208213            mAttr("VIdent_identity.storage_store_base_id","disabled",element.checked);
     214            mAttr("VIdent_identity.storage_store_SMTP","disabled",element.checked);
    209215            mAttr("VIdent_identity.storage_dont_update_multiple","disabled",element.checked);
    210216            mAttr("VIdent_identity.storage_show_switch","disabled",element.checked);
     217            mAttr("VIdent_identity.storage_show_baseID_switch","disabled",element.checked);
     218            mAttr("VIdent_identity.storage_show_SMTP_switch","disabled",element.checked);
     219            mAttr("VIdent_identity.storage_colorIndication","disabled",element.checked);
    211220            mAttr("VIdent_identity.storage_warn_update","disabled",element.checked);
    212221            mAttr("VIdent_identity.storage_warn_vI_replace","disabled",element.checked);
     
    214223            mAttr("VIdent_identity.storage_getOneOnly","disabled",element.checked);
    215224            mAttr("VIdent_identity.storageExtras_returnReciept","disabled",element.checked);
     225            mAttr("VIdent_identity.storageExtras_fcc","disabled",element.checked);
    216226            mAttr("VIdent_identity.storageExtras_characterEncoding","disabled",element.checked);
    217227            mAttr("VIdent_identity.storageExtras_messageFormat","disabled",element.checked);
  • chrome/content/v_identity/vI_prefDialog.xul

    rbdfae4 rd1f668  
    331331                    <checkbox id="VIdent_identity.show_smtp" label="&vI_prefDialog.composeDialog.SMTP.label;"
    332332                        tooltiptext="&vI_prefDialog.composeDialog.SMTP.tooltiptext;" prefstring="show_smtp" />
    333                     <checkbox id="VIdent_identity.storage_show_switch" label="&vI_prefDialog.storage.show_switch.label;"
    334                         prefstring="storage_show_switch"/>
    335333                    <checkbox id="VIdent_identity.fcc_show_switch" label="&vI_prefDialog.composeDialog.fcc_show_switch.label;"
    336334                        tooltiptext="&vI_prefDialog.composeDialog.fcc_show_switch.tooltiptext;" prefstring="fcc_show_switch" />
     335                    <checkbox id="VIdent_identity.storage_colorIndication" label="&vI_prefDialog.composeDialog.storage_colorIndication.label;"
     336                        prefstring="storage_colorIndication" />
     337                </groupbox>
     338                <groupbox>
     339                <caption label="&vI_prefDialog.composeDialog.caption3;"/>
     340                    <checkbox id="VIdent_identity.storage_show_switch" label="&vI_prefDialog.composeDialog.show_switch.label;"
     341                        prefstring="storage_show_switch"/>
     342                    <checkbox id="VIdent_identity.storage_show_baseID_switch" label="&vI_prefDialog.composeDialog.show_baseID_switch.label;"
     343                        prefstring="storage_show_baseID_switch"/>
     344                    <checkbox id="VIdent_identity.storage_show_SMTP_switch" label="&vI_prefDialog.composeDialog.show_SMTP_switch.label;"
     345                        prefstring="storage_show_SMTP_switch"/>
    337346                </groupbox>
    338347            </tabpanel>
     
    565574                    <checkbox id="VIdent_identity.storage_store_base_id" label="&vI_prefDialog.storage.store_base_id.label;"
    566575                        prefstring="storage_store_base_id"/>
     576                    <checkbox id="VIdent_identity.storage_store_SMTP" label="&vI_prefDialog.storage.store_SMTP.label;"
     577                        prefstring="storage_store_SMTP"/>
    567578                    <checkbox id="VIdent_identity.storage_warn_update" label="&vI_prefDialog.storage.warn_update.label;"
    568579                        prefstring="storage_warn_update"/>
     
    579590                    <checkbox id="VIdent_identity.storageExtras_returnReciept" label="&vI_prefDialog.storageExtras.returnReciept.label;"
    580591                        prefstring="storageExtras_returnReciept"/>
     592                    <checkbox id="VIdent_identity.storageExtras_fcc" label="&vI_prefDialog.storageExtras.fcc.label;"
     593                        prefstring="storageExtras_fcc"/>
    581594                    <checkbox id="VIdent_identity.storageExtras_characterEncoding" label="&vI_prefDialog.storageExtras.characterEncoding.label;"
    582595                        prefstring="storageExtras_characterEncoding"/>
  • chrome/content/v_identity/vI_rdfDataEditor.js

    rbdfae4 rd1f668  
    8585
    8686        // set SMTP
    87         document.getElementById("smtpServerListHbox").smtp = vI_rdfDataEditor.__identityData.smtp.key;
     87        document.getElementById("smtpServerListHbox").addNoneServer(); // add non (not stored) Server
     88        document.getElementById("smtpServerListHbox").smtp = vI_rdfDataEditor.__identityData.smtp.keyNice;
    8889       
    8990        // set extra values
     
    110111                document.getElementById("type_menu").selectedItem.getAttribute("key"),
    111112                localIdentityData,
    112                 true, vI_rdfDataEditor.__recipient, vI_rdfDataEditor.__type);
     113                true, true, vI_rdfDataEditor.__recipient, vI_rdfDataEditor.__type);
    113114       
    114115        return document.getElementById("type_menu").selectedItem.getAttribute("key");
  • chrome/content/v_identity/vI_rdfDatasource.js

    rbdfae4 rd1f668  
    2222    Contributor(s):
    2323 * ***** END LICENSE BLOCK ***** */
    24  
     24
     25
    2526var vI_rdfDatasource = {           
    2627    rdfService : Components.classes["@mozilla.org/rdf/rdf-service;1"]
     
    4041    //      .getService(Components.interfaces.nsIExtensionManager),
    4142   
    42     rdfVersion : "0.0.3",   // version of current implemented RDF-schema, internal only to trigger updates
     43    rdfVersion : "0.0.4",   // version of current implemented RDF-schema, internal only to trigger updates
    4344   
    4445    virtualIdentityID : "{dddd428e-5ac8-4a81-9f78-276c734f75b8}",
     
    205206            var id = vI_rdfDatasource.__getRDFValue(resource, "id")
    206207            var smtp = vI_rdfDatasource.__getRDFValue(resource, "smtp")
    207             if (!smtp) smtp = ""; // to indicate default SMTP (different than null like with SmartReply)
    208            
     208            if (!smtp) smtp = NO_SMTP_TAG;
    209209            var extras = new vI_storageExtras(vI_rdfDatasource.__getRDFValue, resource);
    210210           
     
    272272        var id = vI_rdfDatasource.__getRDFValue(resource, "id")
    273273        var smtp = vI_rdfDatasource.__getRDFValue(resource, "smtp")
    274         if (!smtp) smtp = ""; // to indicate default SMTP (different than null like with SmartReply)
     274        vI_notificationBar.dump("## vI_rdfDatasource: email='" + email +
     275            "' fullName='" + fullName + "' id='" + id + "' smtp='" + smtp + "'\n");
     276        if (!smtp) smtp = NO_SMTP_TAG; // to indicate default SMTP (different than null like with SmartReply)
    275277       
    276278        vI_notificationBar.dump("## vI_rdfDatasource: email='" + email +
     
    295297            document.getElementById("msgIdentity_clone").identityData,
    296298            (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true"),
     299            (vI_statusmenu.objSaveSMTPMenuItem.getAttribute("checked") == "true"),
    297300            null, null);
    298301    },
     
    305308    },
    306309
    307     updateRDF : function (recDescription, recType, localIdentityData, storeBaseID, prevRecDescription, prevRecType) {
     310    updateRDF : function (recDescription, recType, localIdentityData, storeBaseID, storeSMTP, prevRecDescription, prevRecType) {
    308311//      if (!localIdentityData.email) {
    309312//          vI_notificationBar.dump("## vI_rdfDatasource: updateRDF: no Sender-email for Recipient, aborting.\n");
     
    326329        vI_rdfDatasource.__setRDFValue(resource, "email", localIdentityData.email);
    327330        vI_rdfDatasource.__setRDFValue(resource, "fullName", localIdentityData.fullName);
    328         if (storeBaseID) vI_rdfDatasource.__setRDFValue(resource, "id", localIdentityData.id.key);
    329         vI_rdfDatasource.__setRDFValue(resource, "smtp", localIdentityData.smtp.key);
     331        if (storeBaseID)
     332            vI_rdfDatasource.__setRDFValue(resource, "id", localIdentityData.id.key);
     333        else    vI_rdfDatasource.__unsetRDFValue(resource, "id", vI_rdfDatasource.__getRDFValue(resource, "id"))
     334        if (storeSMTP && localIdentityData.smtp.key != NO_SMTP_TAG)
     335            vI_rdfDatasource.__setRDFValue(resource, "smtp", localIdentityData.smtp.key);
     336        else    vI_rdfDatasource.__unsetRDFValue(resource, "smtp", vI_rdfDatasource.__getRDFValue(resource, "smtp"))
    330337        vI_rdfDatasource.__setRDFValue(resource, "name", recDescription);
    331338
  • chrome/content/v_identity/vI_statusmenu.js

    rbdfae4 rd1f668  
    3333    objStatusMenuSeparator : null,
    3434    objSaveSwitch : null,
     35    objSaveBaseIDSwitch : null,
     36    objSaveSMTPSwitch : null,
    3537    objFccSwitch : null,
    3638    objStatusText : null,
     
    4648            case "extensions.virtualIdentity.storage_show_switch":
    4749                vI_statusmenu.objSaveSwitch.setAttribute("hidden", !vI_statusmenu.prefroot.getBoolPref(data));
    48                 // no break, continue like with storedefault
     50                break;
     51            case "extensions.virtualIdentity.storage_show_baseID_switch":
     52                vI_statusmenu.objSaveBaseIDSwitch.setAttribute("hidden", !vI_statusmenu.prefroot.getBoolPref(data));
     53                break;
     54            case "extensions.virtualIdentity.storage_show_SMTP_switch":
     55                vI_statusmenu.objSaveSMTPSwitch.setAttribute("hidden", !vI_statusmenu.prefroot.getBoolPref(data));
     56                break;
    4957            case "extensions.virtualIdentity.storage_storedefault":
    5058                vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage_storedefault"));
     
    5260            case "extensions.virtualIdentity.storage_store_base_id":
    5361                vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref(data));
     62                break;
     63            case "extensions.virtualIdentity.storage_store_SMTP":
     64                vI_statusmenu.objSaveSMTPMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref(data));
     65                break;
     66            case "extensions.virtualIdentity.storage_colorIndication":
     67                document.getElementById("identityHbox").setAttribute("colorize", vI_statusmenu.prefroot.getBoolPref(data))
     68                document.getElementById("baseIDHbox").setAttribute("colorize", vI_statusmenu.prefroot.getBoolPref(data))
     69                document.getElementById("smtpServerHbox").setAttribute("colorize", vI_statusmenu.prefroot.getBoolPref(data))
    5470                break;
    5571            case "extensions.virtualIdentity.storage":
     
    7490        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage", vI_statusmenu, false);
    7591        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_show_switch", vI_statusmenu, false);
    76         vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu, false);   
    77         vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu, false);   
     92        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_show_baseID_switch", vI_statusmenu, false);
     93        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_show_SMTP_switch", vI_statusmenu, false);
     94        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_colorIndication", vI_statusmenu, false);
     95        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu, false);
     96        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu, false);
     97        vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_store_SMTP", vI_statusmenu, false);
    7898    },
    7999   
     
    83103        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage", vI_statusmenu);
    84104        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_show_switch", vI_statusmenu);
     105        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_show_baseID_switch", vI_statusmenu);
     106        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_show_SMTP_switch", vI_statusmenu);
     107        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_colorIndication", vI_statusmenu);
    85108        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu);
    86109        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu);
     110        vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_store_SMTP", vI_statusmenu);
    87111    },
    88112   
     
    92116        vI_statusmenu.objStatusMenu = document.getElementById("vI-status-menu");
    93117        vI_statusmenu.objSaveBaseIDMenuItem = document.getElementById("vI_statusMenu_storage_saveBaseID");
     118        vI_statusmenu.objSaveSMTPMenuItem = document.getElementById("vI_statusMenu_storage_saveSMTP");
    94119        vI_statusmenu.objStorageSaveMenuItem = document.getElementById("vI_statusMenu_storage_save");
    95120        vI_statusmenu.objStatusMenuSeparator = document.getElementById("vI_statusMenu_separator");
    96         vI_statusmenu.objSaveSwitch = document.getElementById("storage_save");
     121        vI_statusmenu.objSaveSwitch = document.getElementById("saveSwitch");
     122        vI_statusmenu.objSaveBaseIDSwitch = document.getElementById("saveBaseIDSwitch");
     123        vI_statusmenu.objSaveSMTPSwitch = document.getElementById("saveSMTPSwitch");
    97124        vI_statusmenu.objFccSwitch = document.getElementById("fcc_switch");
    98125        vI_statusmenu.objStatusText = document.getElementById("statusText");
     
    103130        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.fcc_show_switch");
    104131        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_show_switch");
     132        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_show_baseID_switch");
     133        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_show_SMTP_switch");
     134        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_show_switch");
     135        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_colorIndication");
    105136        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_store_base_id");
     137        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_store_SMTP");
     138        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_storedefault");
    106139        vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage");
    107140    },
    108141   
    109     saveBaseIDClicked : function () {
    110         vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem);
    111     },
    112 
    113142    __timeout : 5,  // timeout for status messages in seconds
    114     __addStatusMessage : function(save) {
    115         var messageLine1 = vI.elements.strings.getString("vident.statusText.save." + save + ".line1");
    116         var messageLine2 = vI.elements.strings.getString("vident.statusText.save." + save + ".line2");
     143    __addStatusMessage : function(save, smtp) {
     144        var sourceString = "vident.statusText.save." + save;
     145        if (smtp != "off") sourceString = sourceString + ".smtp"
     146        var messageLine1 = vI.elements.strings.getString(sourceString + ".line1");
     147        var messageLine2 = vI.elements.strings.getString(sourceString + ".line2");
    117148        if (!messageLine2) {
    118149            vI_statusmenu.objStatusText.setAttribute("label", messageLine1);
     
    133164    },
    134165
    135     menuConstraint : function (elem) {
    136         var save = "off";
    137         if (vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage") &&
    138             elem.getAttribute("checked") == "true") {
    139             if (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true")
    140                 save = "base";
    141             else save = "ok";
     166    changeSMTPStatus : function (elem) {
     167        vI_statusmenu.objSaveSMTPMenuItem.setAttribute("checked", elem.getAttribute("checked"));
     168        vI_statusmenu.menuConstraint();
     169    },
     170
     171    changeBaseIDStatus : function (elem) {
     172        vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", elem.getAttribute("checked"));
     173        vI_statusmenu.menuConstraint();
     174    },
     175
     176    changeSaveStatus : function (elem) {
     177        vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", elem.getAttribute("checked"));
     178        vI_statusmenu.menuConstraint();
     179    },
     180
     181    menuConstraint : function () {
     182        var save = "off"; var smtp = "off";
     183        if (vI_statusmenu.objStorageSaveMenuItem.getAttribute("checked") == "true") {
     184            vI_statusmenu.objSaveSMTPMenuItem.removeAttribute("disabled");
     185            vI_statusmenu.objSaveBaseIDMenuItem.removeAttribute("disabled");
     186            if (vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage")) {
     187                if (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true") save = "base";
     188                else save = "ok";
     189                if (vI_statusmenu.objSaveSMTPMenuItem.getAttribute("checked") == "true") smtp = "save";
     190            }
     191        }
     192        else {
     193            vI_statusmenu.objSaveSMTPMenuItem.setAttribute("disabled", "true");
     194            vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("disabled", "true");
    142195        }
    143196        vI_statusmenu.objStatusMenu.setAttribute("save", save);
    144         vI_statusmenu.__addStatusMessage(save);
     197        vI_statusmenu.objStatusMenu.setAttribute("smtp", smtp);
     198        vI_statusmenu.__addStatusMessage(save, smtp);
    145199    },
    146200
     
    150204
    151205        var curSaveStatus = (vI_statusmenu.objStorageSaveMenuItem.getAttribute("checked") == "true");
     206        var curSaveSMTPStatus = (vI_statusmenu.objSaveSMTPMenuItem.getAttribute("checked") == "true");
    152207        var curSaveBaseIDStatus = (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true");
    153         var newSaveStatus = ((!curSaveStatus) || (curSaveStatus && !curSaveBaseIDStatus))
    154         var newSaveBaseIDStatus = (!curSaveBaseIDStatus && curSaveStatus)
     208        var newSaveStatus = ((!curSaveStatus) || (curSaveStatus && !curSaveSMTPStatus) || (curSaveStatus && !curSaveBaseIDStatus))
     209        var newSaveSMTPStatus = ((!curSaveSMTPStatus && curSaveStatus) || (curSaveBaseIDStatus && !curSaveSMTPStatus))
     210        var newSaveBaseIDStatus = ((curSaveSMTPStatus && curSaveStatus && !curSaveBaseIDStatus) || (curSaveBaseIDStatus && !curSaveSMTPStatus))
    155211        vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", newSaveStatus)
     212        vI_statusmenu.objSaveSMTPMenuItem.setAttribute("checked", newSaveSMTPStatus)
    156213        vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", newSaveBaseIDStatus)
    157 
    158         var elem = vI_statusmenu.objStorageSaveMenuItem;
    159         vI_statusmenu.menuConstraint(elem);
     214       
     215        vI_statusmenu.menuConstraint();
    160216    }
    161217}
  • chrome/content/v_identity/vI_upgrade.js

    rbdfae4 rd1f668  
    9696   
    9797    rdfUpgrade : function() {
     98        var currentVersion = vI_rdfDatasource.getCurrentRDFFileVersion();
    9899        vI_notificationBar.dump("checking for previous version of rdf, found " +
    99             vI_rdfDatasource.getCurrentRDFFileVersion() + "\nrdf-upgrade required.\n")
    100         // upgrade from pre0.0.3 to 0.0.3
    101         vI_upgrade.__createRDFContainers();
     100            currentVersion + "\nrdf-upgrade required.\n")
     101        switch (currentVersion) {
     102            case "0.0.1":
     103            case "0.0.2":
     104                vI_upgrade.__createRDFContainers(); // no break
     105            default:
     106                vI_upgrade.__tagDefaultSMTP();
     107        }
    102108        vI_rdfDatasource.storeRDFVersion();
    103109        vI_notificationBar.dump("rdf-upgrade to " + vI_rdfDatasource.getCurrentRDFFileVersion() + " done.\n\n");
     
    127133       
    128134            vI_notificationBar.dump(".");
     135        }
     136        vI_notificationBar.dump("\n");
     137    },
     138
     139    __tagDefaultSMTP: function() {
     140        vI_notificationBar.dump("upgrade: tagDefaultSMTP ");
     141        for each (treeType in Array("email", "maillist", "newsgroup", "filter")) {
     142            var enumerator = vI_rdfDatasource.getContainer(treeType).GetElements();
     143            while (enumerator && enumerator.hasMoreElements()) {
     144                var resource = enumerator.getNext();
     145                resource.QueryInterface(Components.interfaces.nsIRDFResource);
     146                var smtp = vI_rdfDatasource.__getRDFValue(resource, "smtp")
     147                if (!smtp || smtp == "") vI_rdfDatasource.__setRDFValue(resource, "smtp", DEFAULT_SMTP_TAG);
     148                vI_notificationBar.dump(".");
     149            }
    129150        }
    130151        vI_notificationBar.dump("\n");
     
    278299       
    279300        vI_rdfDatasource.updateRDF(vI_helper.combineNames(Card.displayName, Card.primaryEmail),
    280                         "email", localIdentityData, true, null, null)
     301                        "email", localIdentityData, true, true, null, null)
    281302        if (Card.secondEmail.replace(/^\s+|\s+$/g,""))
    282303            vI_rdfDatasource.updateRDF(vI_helper.combineNames(Card.displayName, Card.secondEmail),
    283                     "email", localIdentityData, true, null, null)
     304                    "email", localIdentityData, true, true, null, null)
    284305       
    285306        Card[returnVar.prop] = "";
  • chrome/content/v_identity/v_identity.xml

    rbdfae4 rd1f668  
    129129        this.description = this._identityDataStorage.sideDescription;
    130130        this.smtp = this._identityDataStorage.smtp.value;
     131        vI_notificationBar.dump("** v_identity.xml fromPopupItem_clone constructor smtp='" + this.smtp + "'.\n")
    131132        this.smtpStyle = "width:" + document.getElementById("smtp_server_list").clientWidth + "px;";
    132133        this._identityDataStorage.smtp.value;
     
    157158    </binding>
    158159
    159     <binding id="smtpServerList" >
     160    <binding id="smtpServerList">
    160161    <resources>
    161162            <stylesheet src="chrome://global/skin/menu.css"/>
    162163    </resources>
    163164    <content sizetopopup="pref">
    164         <xul:spacer flex="1" />
     165        <xul:hbox id="smtpServerHbox" class="smtpServerHbox">
    165166            <xul:menulist class="smtpServerMenuList" anonid="smtpServerMenuList" allowevents="true" id="smtp_server_list">
    166                 <xul:menupopup anonid="smtp_server_list_popup" />
     167                <xul:menupopup anonid="smtp_server_list_popup" />
    167168            </xul:menulist>
     169            <xul:checkbox  id="saveSMTPSwitch" class="vI_plain" allowevents="true" oncommand="event.stopPropagation();vI_statusmenu.changeSMTPStatus(this);" >
     170                <xul:observes element="vI_statusMenu_storage_saveSMTP" attribute="checked" />
     171                <xul:observes element="vI_statusMenu_storage_saveSMTP" attribute="disabled" />
     172            </xul:checkbox>
     173            <xul:observes element="vI_statusMenu_storage_saveSMTP" attribute="checked" />
     174            <xul:observes element="vI_statusMenu_storage_saveSMTP" attribute="disabled" />
     175        </xul:hbox>
    168176    </content>
    169177    <implementation>
     178    <method name="addNoneServer">
     179        <body><![CDATA[
     180        var listitem = document.createElement("menuitem");
     181        listitem.setAttribute("class", "menuitem-non-iconic");
     182        listitem.setAttribute("type", "non-iconic-noaccel");
     183        listitem.setAttribute("label", " ");
     184        listitem.setAttribute("key", NO_SMTP_TAG);
     185        this._smtpPopup.insertBefore(listitem, this._smtpPopup.firstChild);
     186        this._smtpMenu.selectedItem = listitem;
     187        ]]></body>
     188    </method>
    170189    <method name="_addDefaultServer">
    171190            <body><![CDATA[
     
    210229    <property name="smtp" onget="return this._smtpMenu.selectedItem.getAttribute('key');" >
    211230        <setter><![CDATA[
    212         if (val == null) return; // dont overwrite if not set
    213 //      vI_notificationBar.dump("** v_identity.xml smtp set to '" + val + "'\n")
     231        // if (val == null) return; // dont overwrite if not set
     232        vI_notificationBar.dump("** v_identity.xml smtp set to '" + val + "'\n")
    214233        var MenuItems = this._smtpPopup.childNodes
    215234        for (var index = 0; index < MenuItems.length; index++) {
     
    238257    </resources>
    239258    <content sizetopopup="pref">
    240         <xul:hbox anonid="contentHBox" flex="1"  >
    241                 <xul:vbox><xul:spacer flex="1" />
    242                     <xul:image class="menulist_clone-icon" id="msgIdentity_clone_image" xbl:inherits="src"/>
    243                 <xul:spacer flex="1" /></xul:vbox>
    244                 <xul:vbox flex="1"><xul:spacer flex="1" />
    245 <!--                textbox is internally an html:input field which inherits the onblur event.
    246                 Thats why we have to search the textbox before calling blurEvent() -->
    247                     <xul:textbox anonid="textBox" type="search" id="msgIdentity_clonetextBoxElem" class="plain menulist_clone-textbox" allowevents="true" xbl:inherits="value=label,crop,accesskey,nomatch=vid" oncommand="event.stopPropagation(); document.getBindingParent(this).inputEvent();"
    248                 onblur="event.stopPropagation(); var elem = this; while (elem.localName != 'textbox') elem = elem.parentNode; document.getBindingParent(elem).blurEvent();"
    249                  crop="right" highlightnonmatches="true"/>
    250                 <xul:spacer flex="1" /></xul:vbox>
    251             <xul:vbox><xul:spacer flex="1" />
    252                 <xul:hbox>
    253                     <xul:label id="msgIdentity_base_id_label" class="menu_clone-description" xbl:inherits="value,hidden=base_id_key_hidden" crop="right" hidden="true"/>
    254                     <xul:label value="&vident.accPane.prettyName.prefix;" class="menu_clone-vid virtIdLabel" xbl:inherits="vid" crop="right"/>
     259        <xul:hbox class="contentHBox" anonid="contentHBox" flex="1"  >
     260            <xul:hbox id="identityHbox" class="identityHbox" flex="1">
     261                <xul:vbox><xul:spacer flex="1" />
     262                    <xul:image class="menulist_clone-icon" id="msgIdentity_clone_image" xbl:inherits="src"/>
     263                <xul:spacer flex="1" /></xul:vbox>
     264                <xul:vbox flex="1" id="msgIdentity_clone_fromVbox"><xul:spacer flex="1" />
     265<!--                    textbox is internally an html:input field which inherits the onblur event.
     266                    Thats why we have to search the textbox before calling blurEvent() -->
     267                    <xul:textbox anonid="textBox" type="search" id="msgIdentity_clonetextBoxElem" class="plain menulist_clone-textbox" allowevents="true" xbl:inherits="value=label,crop,accesskey,nomatch=vid" oncommand="event.stopPropagation(); document.getBindingParent(this).inputEvent();"
     268                    onblur="event.stopPropagation(); var elem = this; while (elem.localName != 'textbox') elem = elem.parentNode; document.getBindingParent(elem).blurEvent();"
     269                    crop="right" highlightnonmatches="true"/>
     270                <xul:spacer flex="1" /></xul:vbox>
     271                <xul:vbox id="saveSwitch"><xul:spacer flex="1" />
     272                    <xul:checkbox class="vI_plain" allowevents="true" oncommand="event.stopPropagation();vI_statusmenu.changeSaveStatus(this);" >
     273                        <xul:observes element="vI_statusMenu_storage_save" attribute="checked" />
     274                    </xul:checkbox>
     275                <xul:spacer flex="1" /></xul:vbox>
     276                <xul:vbox><xul:spacer flex="1" />
     277                    <xul:hbox>
     278                        <xul:label id="msgIdentity_base_id_label" class="menu_clone-description" xbl:inherits="value,hidden=base_id_key_hidden" crop="right" hidden="true"/>
     279                        <xul:label value="&vident.accPane.prettyName.prefix;" class="menu_clone-vid virtIdLabel" xbl:inherits="vid" crop="right"/>
     280                    </xul:hbox>
     281                <xul:spacer flex="1" /></xul:vbox>
     282                <xul:observes element="vI_statusMenu_storage_save" attribute="checked" />
     283            </xul:hbox>
     284            <xul:hbox id="baseIDHbox" class="baseIDHbox" >
     285                <xul:vbox><xul:spacer flex="1" />
    255286                    <xul:label id="msgIdentity_clone_label" class="menu_clone-description" xbl:inherits="value=description" crop="right"/>
    256                 </xul:hbox>
    257             <xul:spacer flex="1" /></xul:vbox>
     287                <xul:spacer flex="1" /></xul:vbox>
     288                <xul:vbox id="saveBaseIDSwitch"><xul:spacer flex="1" />
     289                    <xul:checkbox class="vI_plain" allowevents="true" oncommand="event.stopPropagation();vI_statusmenu.changeBaseIDStatus(this);" >
     290                        <xul:observes element="vI_statusMenu_storage_saveBaseID" attribute="checked" />
     291                        <xul:observes element="vI_statusMenu_storage_saveBaseID" attribute="disabled" />
     292                    </xul:checkbox>
     293                <xul:spacer flex="1" /></xul:vbox>
     294                <xul:observes element="vI_statusMenu_storage_saveBaseID" attribute="checked" />
     295                <xul:observes element="vI_statusMenu_storage_saveBaseID" attribute="disabled" />
     296            </xul:hbox>
     297            <xul:hbox oncommand="event.stopPropagation();document.getBindingParent(this).smtp = this.smtp" anonid="smtpServerListHbox" class="smtpServerListHbox" />
    258298        </xul:hbox>
    259         <xul:hbox oncommand="event.stopPropagation();document.getBindingParent(this).smtp = this.smtp" anonid="smtpServerListHbox" class="smtpServerListHbox" />
    260299        <children />
    261300    </content>
     
    466505        ]]></getter>
    467506        <setter><![CDATA[
    468 //      vI_notificationBar.dump("** v_identity.xml identityData setter'\n")
     507        vI_notificationBar.dump("** v_identity.xml identityData setter\n")
    469508        if (!val) this._identityDataStorage = null
    470509        else {
     
    478517                    this._identityDataStorage.sideDescription = (idName)?" - "+idName:"";
    479518                }
    480                
    481                 if (this._identityDataStorage.smtp.key == null)
     519                else if (this._identityDataStorage.smtp.hasNoDefinedSMTP()) {
    482520                    this._identityDataStorage.smtp.key = oldIdentityData.smtp.key;
    483                
     521                    vI_notificationBar.dump("** v_identity.xml use previous SMTP: '" + this._identityDataStorage.smtp.key + "'\n")
     522                }
    484523                this._identityDataStorage.extras.setValues();
    485524           
     
    490529            this.label = this._identityDataStorage.combinedName;
    491530            this.value = this._identityDataStorage.id.key;
    492 //          vI_notificationBar.dump("** v_identity.xml identityData setter value='" + this.value + "'\n")
     531            vI_notificationBar.dump("** v_identity.xml identityData setter value='" + this.value + "'\n")
    493532            this.description = this._identityDataStorage.sideDescription;
    494             document.getAnonymousElementByAttribute(this, "anonid", "smtpServerListHbox").smtp = this._identityDataStorage.smtp.key;
     533            vI_notificationBar.dump("** v_identity.xml identityData setter smtp='" + this._identityDataStorage.smtp.keyNice + "'\n")
     534            document.getAnonymousElementByAttribute(this, "anonid", "smtpServerListHbox").smtp = this._identityDataStorage.smtp.keyNice;
    495535           
    496536        }
    497 //      vI_notificationBar.dump("** v_identity.xml identityData setter done.'\n")
     537        // vI_notificationBar.dump("** v_identity.xml identityData setter done.'\n")
    498538        ]]></setter>
    499539    </property>
  • chrome/content/v_identity/v_identity.xul

    rbdfae4 rd1f668  
    7474        <menupopup id="msgIdentityPopup_clone"/>
    7575    </menulist>
    76     <checkbox id="storage_save" label="&vident.composeDialog.storageSave.label;"
    77           tooltiptext="&vident.composeDialog.storageSave.tooltiptext;" hidden="true"
    78           oncommand="vI_statusmenu.menuConstraint(this);" >
    79         <observes element="vI_statusMenu_storage_save" attribute="checked" />
    80     </checkbox>
    8176    <checkbox id="fcc_switch" label="&vident.composeDialog.fcc_switch.label;"
    8277          tooltiptext="&vident.composeDialog.fcc_switch.tooltiptext;" hidden="true" />
     
    9085            oncommand="vI_statusmenu.menuConstraint(this);"/>
    9186          <menuitem type="checkbox" id="vI_statusMenu_storage_saveBaseID" label="&vident.vI_Menu.saveBaseID.label;"
     87            oncommand="vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem);"/>
     88          <menuitem type="checkbox" id="vI_statusMenu_storage_saveSMTP" label="&vident.vI_Menu.saveSMTP.label;"
    9289            oncommand="vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem);"/>
    9390          <menuseparator id="vI_statusMenu_separator" />
  • chrome/locale/en-US/v_identity/vI_prefDialog.dtd

    rbdfae4 rd1f668  
    7373<!ENTITY vI_prefDialog.composeDialog.caption "Message Compose Features">
    7474<!ENTITY vI_prefDialog.composeDialog.caption2 "Message Compose Dialog">
     75<!ENTITY vI_prefDialog.composeDialog.caption3 "Storage Switches">
    7576<!ENTITY vI_prefDialog.composeDialog.autoTimestamp.label "autogenerate Timestamp-Identity for new mails">
    7677<!ENTITY vI_prefDialog.composeDialog.autoTimestamp.tooltiptext "On composing a new email, modify your usual sender-address with a timestamp. On easy way to create unique Identities, off by default.">
     
    8081<!ENTITY vI_prefDialog.composeDialog.SMTP.label "show SMTP Menu">
    8182<!ENTITY vI_prefDialog.composeDialog.SMTP.tooltiptext "show Menu to select between available SMTP-servers">
    82 <!ENTITY vI_prefDialog.composeDialog.fcc_show_switch.label "show switch to activate/deactivate saving of sent mails">
     83<!ENTITY vI_prefDialog.composeDialog.fcc_show_switch.label "show switch to activate/deactivate saving of sent mails (fcc)">
    8384<!ENTITY vI_prefDialog.composeDialog.fcc_show_switch.tooltiptext "show Button to activate/deactivate Storing of Sent mails (fcc) on the fly">
     85<!ENTITY vI_prefDialog.composeDialog.show_switch.label "checkbox for saving of Identities">
     86<!ENTITY vI_prefDialog.composeDialog.show_baseID_switch.label "checkbox for saving of base Identities">
     87<!ENTITY vI_prefDialog.composeDialog.show_SMTP_switch.label "checkbox for saving of SMTP">
     88<!ENTITY vI_prefDialog.composeDialog.storage_colorIndication.label "colorize to be stored Identity-parts">
    8489
    8590<!ENTITY vI_prefDialog.sending.Folder.label "Attributes / Copies">
     
    133138<!ENTITY vI_prefDialog.storage.storedefault.label "save used Identities while sending emails">
    134139<!ENTITY vI_prefDialog.storage.store_base_id.label "store underlying base Identity">
     140<!ENTITY vI_prefDialog.storage.store_SMTP.label "store used SMTP">
    135141<!ENTITY vI_prefDialog.storage.warn_update.label "ask before overwriting Identities in your Storage">
    136142<!ENTITY vI_prefDialog.storage.dont_update_multiple.label "never overwrite (and ask) if email has multiple recipients">
    137 <!ENTITY vI_prefDialog.storage.show_switch.label "show switch to activate/deactivate saving of Identities">
    138143
    139144<!ENTITY vI_prefDialog.storageTab.Tab1.header "Storage Extras 1">
  • chrome/locale/en-US/v_identity/v_identity.dtd

    rbdfae4 rd1f668  
    1414<!ENTITY vident.vI_Menu.storageSave.label "save Identity while sending">
    1515<!ENTITY vident.vI_Menu.saveBaseID.label "store underlying base Identity">
     16<!ENTITY vident.vI_Menu.saveSMTP.label "store SMTP information">
    1617<!ENTITY vident.vI_Menu.TooltipTitle.label "Virtual Identity Status">
    1718<!ENTITY vident.vI_Menu.TooltipChange.label "click to change">
  • chrome/locale/en-US/v_identity/v_identity.properties

    rbdfae4 rd1f668  
    2121vident.statusText.save.base.line1=storing virtual Identities
    2222vident.statusText.save.base.line2=(remember underlying Identity)
     23vident.statusText.save.ok.smtp.line1=storing virtual Identities
     24vident.statusText.save.ok.smtp.line2=(remember SMTP)
     25vident.statusText.save.base.smtp.line1=storing virtual Identities
     26vident.statusText.save.base.smtp.line2=(remember underlying Identity & SMTP)
    2327
    2428vident.identityData.Name=Name
  • chrome/skin/classic/v_identity/v_identity.css

    rbdfae4 rd1f668  
    33@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    44
     5#msgIdentity_clone .smtpServerListHbox {
     6    margin: -2px;
     7    -moz-appearance: textfield;
     8}
     9
     10.smtpServerListHbox {
     11  -moz-binding: url("chrome://v_identity/content/v_identity.xml#smtpServerList");
     12}
     13
     14#vI_rdfDataEditorContent checkbox.vI_plain {
     15    display: none;
     16}
     17
     18.smtpServerHbox {
     19    margin: -1px 0px -1px -1px;
     20}
     21.identity_clone-menulist .smtpServerMenuList {
     22  border-style: none;
     23  -moz-appearance: none;
     24  margin: 0px;
     25  padding: 0px;
     26  color:        graytext;
     27  text-align:   center;
     28}
     29
     30.identityHbox, .baseIDHbox, .smtpServerHbox {
     31    background-color: transparent;
     32}
     33.identityHbox[checked="true"][colorize="true"], .baseIDHbox[checked="true"][colorize="true"], .smtpServerHbox[checked="true"][colorize="true"] {
     34    background-color: rgb(235, 245, 235);
     35}
     36
     37.baseIDHbox[checked="true"][colorize="true"][disabled="true"], .smtpServerHbox[checked="true"][colorize="true"][disabled="true"] {
     38    background-color: transparent;
     39}
     40
     41checkbox.vI_plain > .checkbox-spacer-box > .checkbox-check {
     42    width: 0px;
     43}
     44checkbox.vI_plain > .checkbox-label-center-box {
     45    display: none;
     46}
     47
     48checkbox.vI_plain {
     49    margin: 0px;
     50    height: 0px;
     51    padding: 0px;
     52}
    553
    654.widthXX { width: 36em; }
     
    152200}
    153201
     202#vI-status-menu[save="ok"][smtp="save"] {
     203    list-style-image: url("chrome://v_identity/skin/vI_bl.png");
     204    visibility: visible;
     205}
     206
     207#vI-status-menu[save="base"][smtp="save"] {
     208    list-style-image: url("chrome://v_identity/skin/vI_gebl.png");
     209    visibility: visible;
     210}
     211
    154212treechildren::-moz-tree-cell-text(user)
    155213{
     
    223281}
    224282
    225 .smtpServerListHbox {
    226   -moz-binding: url("chrome://v_identity/content/v_identity.xml#smtpServerList");
    227 }
    228 
    229 .identity_clone-menulist .smtpServerMenuList {
    230   -moz-appearance: textfield;
    231   margin: -2px -1px;
    232   border: 1px solid;
    233   padding: 0px;
    234   background-color: -moz-Field;
    235   color:        graytext;
    236   text-align:   center;
    237 }
    238283
    239284.identity_clone-menulist .smtpServerMenuList .menulist-label-box {
  • defaults/preferences/preferences.js

    rbdfae4 rd1f668  
    3232pref("extensions.virtualIdentity.storage_storedefault", true);
    3333pref("extensions.virtualIdentity.storage_store_base_id", false);
     34pref("extensions.virtualIdentity.storage_store_SMTP", false);
    3435pref("extensions.virtualIdentity.storage_dont_update_multiple", true);
    3536pref("extensions.virtualIdentity.storage_show_switch", false);
     37pref("extensions.virtualIdentity.storage_show_baseID_switch", false);
     38pref("extensions.virtualIdentity.storage_show_SMTP_switch", false);
     39pref("extensions.virtualIdentity.storage_colorIndication", true);
    3640pref("extensions.virtualIdentity.storage_warn_update", true);
    3741pref("extensions.virtualIdentity.storage_warn_vI_replace", true);
     
    4650pref("extensions.virtualIdentity.storageExtras_openPGP_messageSignature", false);
    4751pref("extensions.virtualIdentity.storageExtras_openPGP_PGPMIME", false);
     52pref("extensions.virtualIdentity.storageExtras_fcc", false);
    4853pref("extensions.virtualIdentity.idSelection_storage_prefer_smart_reply", false);
    4954pref("extensions.virtualIdentity.idSelection_storage_ignore_smart_reply", true);
Note: See TracChangeset for help on using the changeset viewer.