Changeset 86ec46


Ignore:
Timestamp:
Sep 1, 2008, 2:09:11 PM (11 years ago)
Author:
rene <rene@…>
Branches:
master
Children:
3f8e9a
Parents:
371535
Message:

cleaned genericSendMessage, rearranged some functions.

Location:
chrome/content/v_identity
Files:
2 edited

Legend:

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

    r371535 r86ec46  
    404404        vI_msgIdentityClone.initMsgIdentityTextbox_clone();
    405405        if (!existingIdentity) {
    406             vI.replacement_functions.replaceGenericFunction()
    407406            if (vI.elements.Obj_vILogo.getAttribute("hidden") != "false") {
    408407                vI_msgIdentityClone.elements.Obj_MsgIdentityTextbox_clone
     
    435434                vI_msgIdentityClone.elements.Obj_MsgIdentity_clone
    436435                    .setAttribute("class", vI_msgIdentityClone.icon_usualId_class);
    437                 vI.Cleanup();
    438436                vI.elements.Obj_vILogo.setAttribute("hidden","true");
    439437                vI_msgIdentityClone.elements.Obj_MsgIdentity_clone.setAttribute("value",existingIdentity)
  • chrome/content/v_identity/v_identity.js

    r371535 r86ec46  
    193193        ComposeProcessDone: function(aResult) {
    194194            vI_notificationBar.dump("## v_identity: StateListener reports ComposeProcessDone\n");
    195             vI.Cleanup_Account(); // not really required, parallel handled by vI.close
     195            vI.Cleanup(); // not really required, parallel handled by vI.close
    196196            vI_storage.clean();
    197197        },
    198198        SaveInFolderDone: function(folderURI) {
    199199            vI_notificationBar.dump("## v_identity: SaveInFolderDone\n");
    200             vI.Cleanup_Account();
     200            vI.Cleanup();
    201201            vI_storage.clean();
    202202        }
     
    258258                .getService(Components.interfaces.nsIPromptService);
    259259            vI_notificationBar.dump("## v_identity: VIdentity_GenericSendMessage\n");
    260             vI.msgType = msgType;
    261260           
    262             // dont allow user to fake identity if Message is not sended NOW and thunderbird-version is below 2.0 !!!!
    263             if (msgType != nsIMsgCompDeliverMode.Now &&
    264                 (vI_helper.olderVersion("TB", "2.0b") || vI_helper.olderVersion("SM", "1.5a"))) {
    265                 var server = gAccountManager.defaultAccount.incomingServer.prettyName
    266                 var name = gAccountManager.defaultAccount.defaultIdentity.fullName
    267                 var email = gAccountManager.defaultAccount.defaultIdentity.email
    268 
    269                 //Get the bundled string file.
    270                 if (promptService.confirm(window,"Error",vI.elements.strings.getString("vident.sendLater.warning") +
    271                     vI.elements.strings.getString("vident.sendLater.prefix") +
    272                     name + " " + email + " [" + server + "]" + vI.elements.strings.getString("vident.sendLater.postfix")))
    273                     {
    274                         vI_msgIdentityClone.resetMenuToDefault();
    275                         GenericSendMessage( msgType );
    276                     }
    277                 else { return; }
     261            var vid = (vI_msgIdentityClone.elements.Obj_MsgIdentity_clone.getAttribute("value") == "vid");
     262
     263            if (msgType != nsIMsgCompDeliverMode.Now) {
     264                // dont allow user to fake identity if Message is not sended NOW and thunderbird-version is below 2.0 !!!!
     265                if (vid && (vI_helper.olderVersion("TB", "2.0b") || vI_helper.olderVersion("SM", "1.5a"))) {
     266                    var server = gAccountManager.defaultAccount.incomingServer.prettyName
     267                    var name = gAccountManager.defaultAccount.defaultIdentity.fullName
     268                    var email = gAccountManager.defaultAccount.defaultIdentity.email
     269                    var query = vI.elements.strings.getString("vident.sendLater.warning") +
     270                        vI.elements.strings.getString("vident.sendLater.prefix") +
     271                        name + " " + email + " [" + server + "]" +
     272                        vI.elements.strings.getString("vident.sendLater.postfix")
     273                   
     274                    if (!promptService.confirm(window,"Error",query)) return;
     275                    else vI_msgIdentityClone.resetMenuToDefault();
     276                }
     277                vI.original_functions.GenericSendMessage(msgType);
    278278            }
    279             else if ( msgType != nsIMsgCompDeliverMode.Now || !vI.preferences.getBoolPref("warn_virtual") ||
    280                 promptService.confirm(window,"Warning",vI.elements.strings.getString("vident.sendVirtual.warning")) ) {
    281                 // just to be sure to use the recent settings if account was left by cancelled Send Operation
    282                 vI.Cleanup_Account();
    283                 vI_account.createAccount();
    284                 vI.addVirtualIdentityToMsgIdentityMenu();
    285                 vI_storage.storeVIdentityToAllRecipients(msgType);
    286                 vI.original_functions.GenericSendMessage(msgType);
    287                 if (window.cancelSendMessage) {
    288                     vI.Cleanup_Account();
    289                     vI_notificationBar.dump("## v_identity: SendMessage cancelled\n");
    290                 }
    291             }
     279            else if ( (vid && vI.preferences.getBoolPref("warn_virtual") &&
     280                    !(promptService.confirm(window,"Warning",
     281                        vI.elements.strings.getString("vident.sendVirtual.warning")))) ||
     282                  (!vid && vI.preferences.getBoolPref("warn_nonvirtual") &&
     283                    !(promptService.confirm(window,"Warning",
     284                        vI.elements.strings.getString("vident.sendNonvirtual.warning")))) )
     285                    return;
     286           
     287            if (vid) vI.prepareAccount();
     288            vI_storage.storeVIdentityToAllRecipients(msgType);
     289            vI.original_functions.GenericSendMessage(msgType);
    292290        },
    293291       
     
    303301                FillIdentityListPopup = vI.replacement_functions.FillIdentityListPopup;
    304302            }
    305         },
    306        
    307         replaceGenericFunction : function()
    308         {
    309             if (GenericSendMessage == vI.replacement_functions.GenericSendMessage) return;
    310             vI_notificationBar.dump("## v_identity: replace GenericSendMessage (Virtual Identity activated)\n");
    311             GenericSendMessage = vI.replacement_functions.GenericSendMessage;
    312         },
     303        }
    313304    },
    314305
     
    317308        window.removeEventListener('compose-window-close', vI.close, true);
    318309        vI_notificationBar.dump("## v_identity: end. remove Account if there.\n")
    319         vI.Cleanup_Account();
     310        vI.Cleanup();
    320311        vI_storage.clean();
    321312    },
     
    353344   
    354345    close : function() {
    355         vI.Cleanup_Account();
     346        vI.Cleanup();
    356347        vI_storage.clean();
    357348    },
     
    376367    adapt_genericSendMessage : function() {
    377368        if (vI.original_functions.GenericSendMessage) return; // only initialize this once
    378    
    379         // adapt GenericSendMessage to know SendMsgType
    380369        vI_notificationBar.dump("## v_identity: adapt GenericSendMessage\n");
    381370        vI.original_functions.GenericSendMessage = GenericSendMessage;
    382         GenericSendMessage = function (msgType) {
    383                 vI.msgType = msgType; if (vI.warning(msgType)) {
    384                     vI.original_functions.GenericSendMessage(msgType);
    385                     vI_storage.storeVIdentityToAllRecipients(msgType); } }     
     371        GenericSendMessage = vI.replacement_functions.GenericSendMessage;
    386372    },
    387373   
     
    425411    },
    426412   
    427     // show a warning if you are using a usual (non-virtual) identity
    428     warning : function(msgType) {
    429         var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
    430             .getService(Components.interfaces.nsIPromptService);
    431         return ((msgType != nsIMsgCompDeliverMode.Now) || !vI.preferences.getBoolPref("warn_nonvirtual") ||
    432             promptService.confirm(window,"Warning",vI.elements.strings.getString("vident.sendNonvirtual.warning")))
    433     },
    434    
     413    tempStorage: { BaseIdentity : null, NewIdentity : null },
     414
     415    __setSelectedIdentity : function(menuItem) {
     416        vI.elements.Obj_MsgIdentity.selectedItem = menuItem;
     417        vI.elements.Obj_MsgIdentity.setAttribute("label", menuItem.getAttribute("label"));
     418        vI.elements.Obj_MsgIdentity.setAttribute("accountname", menuItem.getAttribute("accountname"));
     419        vI.elements.Obj_MsgIdentity.setAttribute("value", menuItem.getAttribute("value"));
     420    },
     421
    435422    // sets the values of the dropdown-menu to the ones of the newly created account
    436423    addVirtualIdentityToMsgIdentityMenu : function()
    437424    {
    438         vI.storeBaseIdentity = vI.elements.Obj_MsgIdentity.selectedItem
    439         var newMenuItem = vI_helper.addIdentityMenuItem(vI.elements.Obj_MsgIdentityPopup,
     425        vI.tempStorage.BaseIdentity = vI.elements.Obj_MsgIdentity.selectedItem;
     426        vI.tempStorage.NewIdentity =
     427            vI_helper.addIdentityMenuItem(vI.elements.Obj_MsgIdentityPopup,
    440428                        vI_account.account.defaultIdentity.identityName,
    441429                        " - " +  vI_account.account.incomingServer.prettyName,
    442430                        vI_account.account.key,
    443                         vI_account.account.defaultIdentity.key, null, null, null)
    444         vI.elements.Obj_MsgIdentity.selectedItem = newMenuItem;
    445         vI.elements.Obj_MsgIdentity.setAttribute("label", newMenuItem.getAttribute("label"));
    446         vI.elements.Obj_MsgIdentity.setAttribute("accountname", newMenuItem.getAttribute("accountname"));
    447         vI.elements.Obj_MsgIdentity.setAttribute("value", newMenuItem.getAttribute("value"));
    448     },
    449    
    450     // sets the values of the dropdown-menu to the ones of the newly created account
    451     remVirtualIdentityFromMsgIdentityMenu : function()
     431                        vI_account.account.defaultIdentity.key, null, null, null);
     432        vI.__setSelectedIdentity(vI.tempStorage.NewIdentity);
     433    },
     434   
     435    removeVirtualIdentityFromMsgIdentityMenu : function()
    452436    {
    453         MenuItems = vI_msgIdentityClone.elements.Obj_MsgIdentity.firstChild.childNodes
    454         for (var index = 1; index <= MenuItems.length; index++) {
    455             if ( MenuItems[MenuItems.length - index].getAttribute("value") == vI_account.account.defaultIdentity.key )
    456                 vI_msgIdentityClone.elements.Obj_MsgIdentity.firstChild.removeChild(MenuItems[MenuItems.length - index])
    457         }
    458         vI.elements.Obj_MsgIdentity.selectedItem = vI.storeBaseIdentity;
    459         vI.elements.Obj_MsgIdentity.setAttribute("label", vI.storeBaseIdentity.getAttribute("label"));
    460         vI.elements.Obj_MsgIdentity.setAttribute("accountname", vI.storeBaseIdentity.getAttribute("accountname"));
    461         vI.elements.Obj_MsgIdentity.setAttribute("value", vI.storeBaseIdentity.getAttribute("value"));
    462         vI.storeBaseIdentity = null;
    463     },
    464 
    465     // Clean all the things I had changed (except the FillIdentityListPopup)
    466     Cleanup : function()
    467     {
    468         vI_notificationBar.dump("## v_identity: Cleanup\n");
    469         vI.Cleanup_Account();
    470        
    471         // restore function
    472         if (GenericSendMessage == vI.replacement_functions.GenericSendMessage) {
    473             GenericSendMessage = function (msgType) {
    474                 vI.msgType = msgType; if (vI.warning(msgType)) {
    475                     vI.original_functions.GenericSendMessage(msgType);
    476                     vI_storage.storeVIdentityToAllRecipients(msgType); } }
    477             vI_notificationBar.dump("## v_identity: restored GenericSendMessage (Virtual Identity deactivated)\n");
    478         }
    479     },
    480 
    481     // removes the account
    482     Cleanup_Account : function() {
    483         // remove temporary Account
    484         if (vI_account.account) {
    485             vI.remVirtualIdentityFromMsgIdentityMenu();
    486             vI_account.removeUsedVIAccount();
    487         }
     437        if (!vI.tempStorage.BaseIdentity) return; // don't try to remove Item twice
     438        vI_msgIdentityClone.elements.Obj_MsgIdentity.firstChild.removeChild(vI.tempStorage.NewIdentity);
     439        vI.__setSelectedIdentity(vI.tempStorage.BaseIdentity);
     440        vI.tempStorage.NewIdentity = null;
     441        vI.tempStorage.BaseIdentity = null;
     442    },
     443
     444    prepareAccount : function() {
     445        vI.Cleanup(); // just to be sure that nothing is left (maybe last time sending was irregularily stopped)
     446        vI_account.createAccount();
     447        vI.addVirtualIdentityToMsgIdentityMenu();
     448    },
     449
     450    Cleanup : function() {
     451        vI.removeVirtualIdentityFromMsgIdentityMenu();
     452        vI_account.removeUsedVIAccount();
    488453    },
    489454}
Note: See TracChangeset for help on using the changeset viewer.