Changeset c05d83


Ignore:
Timestamp:
Apr 7, 2010, 2:48:05 PM (12 years ago)
Author:
rene <rene@…>
Branches:
multiEdit, ng_0.6, ng_0.8, ng_0.9
Children:
837660
Parents:
68cb93 (diff), 8e5aff (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'ng_0.6_help' into ng_0.6

Files:
19 added
5 deleted
61 edited
4 copied
11 moved

Legend:

Unmodified
Added
Removed
  • chrome.manifest

    r8e5aff rc05d83  
    11content v_identity jar:chrome/v_identity.jar!/content/v_identity/
     2locale  v_identity  cs-CZ   jar:chrome/v_identity.jar!/locale/cs-CZ/v_identity/
     3locale  v_identity  de-DE   jar:chrome/v_identity.jar!/locale/de-DE/v_identity/
    24locale  v_identity  en-US   jar:chrome/v_identity.jar!/locale/en-US/v_identity/
     5locale  v_identity  es-ES   jar:chrome/v_identity.jar!/locale/es-ES/v_identity/
     6locale  v_identity  fr  jar:chrome/v_identity.jar!/locale/fr/v_identity/
     7locale  v_identity  nl  jar:chrome/v_identity.jar!/locale/nl/v_identity/
     8locale  v_identity  ru-RU   jar:chrome/v_identity.jar!/locale/ru-RU/v_identity/
    39skin    v_identity  classic/1.0 jar:chrome/v_identity.jar!/skin/classic/v_identity/
    410overlay chrome://messenger/content/messengercompose/messengercompose.xul    chrome://v_identity/content/v_identity.xul
  • chrome/content/v_identity/_version.dtd

    r8e5aff rc05d83  
    1 <!ENTITY vident.version "0.6.0pre8">
     1<!ENTITY vident.version "0.6.5">
  • chrome/content/v_identity/vI_Dialog.js

    r8e5aff rc05d83  
    4141        if (warning.class == "replaceVIdentity") {
    4242            document.documentElement.getButton("extra1").hidden = true;
     43            document.documentElement.getButton("extra2").hidden = true;
    4344        }
    4445    }
  • chrome/content/v_identity/vI_Dialog.xul

    r8e5aff rc05d83  
    3030
    3131<dialog id="vI_Dialog" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    32     buttons="accept,cancel,extra1"
     32    buttons="accept,cancel,extra1,extra2"
    3333        buttonlabelextra1="&vident.vI_Dialog.extra1Button.label;"
    3434    buttoniconextra1="no"
     35        buttonlabelextra2="&vident.vI_Dialog.extra2Button.label;"
     36    buttoniconextra2="no"
    3537        title="Virtual Identity"
    3638    zlevel="6"
     
    3941    ondialogcancel="window.close(); window.arguments[1].returnValue = 'cancel';"
    4042    ondialogextra1="window.close(); window.arguments[1].returnValue = 'abort';"
     43    ondialogextra2="window.close(); window.arguments[1].returnValue = 'takeover';"
    4144    persist="height width">
    4245
  • chrome/content/v_identity/vI_account.js

    r8e5aff rc05d83  
    3535
    3636    _getBaseIdentity : function () {
    37         return gAccountManager.getIdentity(vI.elements.Obj_MsgIdentity.value);
     37        return gAccountManager.getIdentity(vI_main.elements.Obj_MsgIdentity.value);
    3838    },
    3939
     
    5959
    6060    copyPreferences : function() {
    61         if (vI.preferences.getBoolPref("copySMIMESettings")) {
     61        if (vI_main.preferences.getBoolPref("copySMIMESettings")) {
    6262            // SMIME settings
    6363            vI_notificationBar.dump("## vI_account: copy S/MIME settings\n")
     
    6767        }
    6868/*      seems not required, encryption happens before Virtual Identity account is created
    69         if (vI.preferences.getBoolPref("copyEnigmailSettings")) {
     69        if (vI_main.preferences.getBoolPref("copyEnigmailSettings")) {
    7070            // pgp/enigmail settings
    7171            vI_notificationBar.dump("## vI_account: copy PGP settings\n")
     
    8080            vI_account._copyIntAttribute("defaultEncryptionPolicy");
    8181        }   */
    82         if (vI.preferences.getBoolPref("copyAttachVCardSettings")) {
     82        if (vI_main.preferences.getBoolPref("copyAttachVCardSettings")) {
    8383            // attach vcard
    8484            vI_notificationBar.dump("## vI_account: copy VCard settings\n")
     
    185185   
    186186    removeUsedVIAccount : function() {
     187        var mailWindow = Components.classes["@mozilla.org/appshell/window-mediator;1"].getService()
     188            .QueryInterface(Components.interfaces.nsIWindowMediator)
     189            .getMostRecentWindow("mail:3pane");
     190        if (mailWindow) {               // it's not sure that we have an open 3-pane-window
     191            var selectedFolder = (mailWindow.gFolderTreeView)?mailWindow.gFolderTreeView.getSelectedFolders()[0]:null;
     192            var selectedMessages = (mailWindow.gFolderDisplay)?mailWindow.gFolderDisplay.selectedMessages:null;
     193        }
    187194        if (vI_account.account) {
    188195            vI_account.__removeAccount(vI_account.account);
    189196            vI_account.account = null;
    190197        }
     198        try {
     199        if (selectedFolder) mailWindow.gFolderTreeView.selectFolder(selectedFolder);
     200        if (selectedMessages) mailWindow.gFolderDisplay.selectMessages(selectedMessages, false, false);
     201        } catch (e) { };
    191202    },
    192203   
     
    199210        /*
    200211        // the easiest way would be to get all requiered Attributes might be to duplicate the default account like this
    201         var recentAccount = vI_account.AccountManager.getAccount(vI.elements.Obj_MsgIdentity.selectedItem.getAttribute("accountkey"));
    202         vI.VIdent_Account = vI_account.AccountManager.duplicateAccount(recentAccount);
     212        var recentAccount = vI_account.AccountManager.getAccount(vI_main.elements.Obj_MsgIdentity.selectedItem.getAttribute("accountkey"));
     213        vI_main.VIdent_Account = vI_account.AccountManager.duplicateAccount(recentAccount);
    203214        // but this ends up in the following exception:
    204215        // "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIMsgAccountManager.duplicateAccount]"
     
    216227        // the incomingServer has to be replaced before the account is removed, else it get removed ether
    217228        var servers = vI_account.AccountManager.GetServersForIdentity(vI_account._getBaseIdentity());
    218         vI_account.account.incomingServer = servers.QueryElementAt(0, Components.interfaces.nsIMsgIncomingServer);
    219        
     229        var server = servers.QueryElementAt(0, Components.interfaces.nsIMsgIncomingServer);
     230       
     231        // we mark the server as invalid so that the account manager won't
     232        // tell RDF about the new server - we don't need this server for long
     233        // but we should restore it, because it's actually the same server as the one of the base identity
     234        server.valid = false;
     235        vI_account.account.incomingServer = server;
     236        server.valid = true;
     237
    220238        vI_account.copyMsgIdentityClone();
    221239        vI_account.copyPreferences();
     
    241259    {
    242260        if (document.getElementById("fcc_switch").getAttribute("checked")) {
    243             switch (vI.preferences.getCharPref("fccFolderPickerMode"))
     261            switch (vI_main.preferences.getCharPref("fccFolderPickerMode"))
    244262            {
    245263                case "2"  :
     
    262280                vI_notificationBar.dump ("## vI_account: preparing Fcc --- use Virtual Identity Settings\n");
    263281                vI_account.account.defaultIdentity.doFcc
    264                     = vI.preferences.getBoolPref("doFcc");
     282                    = vI_main.preferences.getBoolPref("doFcc");
    265283                vI_account.account.defaultIdentity.fccFolder
    266                     = vI.unicodeConverter.ConvertToUnicode(vI.preferences.getCharPref("fccFolder"));
     284                    = vI_main.unicodeConverter.ConvertToUnicode(vI_main.preferences.getCharPref("fccFolder"));
    267285                vI_account.account.defaultIdentity.fccFolderPickerMode
    268                     = vI.preferences.getCharPref("fccFolderPickerMode");
     286                    = vI_main.preferences.getCharPref("fccFolderPickerMode");
    269287                if (!vI_helper.olderVersion("TB", "2.0"))
    270                     vI_account.account.defaultIdentity.fccReplyFollowsParent = vI.preferences.getBoolPref("fccReplyFollowsParent");
     288                    vI_account.account.defaultIdentity.fccReplyFollowsParent = vI_main.preferences.getBoolPref("fccReplyFollowsParent");
    271289
    272290                break;
     
    280298            vI_account.account.defaultIdentity.fccFolder + " fccFolderPickerMode " +
    281299            vI_account.account.defaultIdentity.fccFolderPickerMode + "(" +
    282             vI.preferences.getCharPref("fccFolderPickerMode") + "))\n");
     300            vI_main.preferences.getCharPref("fccFolderPickerMode") + "))\n");
    283301    },
    284302   
    285303    setupDraft : function() {
    286         switch (vI.preferences.getCharPref("draftFolderPickerMode"))
     304        switch (vI_main.preferences.getCharPref("draftFolderPickerMode"))
    287305        {
    288306            case "2"  :
     
    299317            vI_notificationBar.dump ("## vI_account: preparing Draft --- use Virtual Identity Settings\n");
    300318            vI_account.account.defaultIdentity.draftFolder
    301                 = vI.unicodeConverter.ConvertToUnicode(vI.preferences.getCharPref("draftFolder"));
     319                = vI_main.unicodeConverter.ConvertToUnicode(vI_main.preferences.getCharPref("draftFolder"));
    302320            vI_account.account.defaultIdentity.draftsFolderPickerMode
    303                 = vI.preferences.getCharPref("draftFolderPickerMode");
     321                = vI_main.preferences.getCharPref("draftFolderPickerMode");
    304322            break;
    305323        }
     
    307325            vI_account.account.defaultIdentity.draftFolder + " draftsFolderPickerMode " +
    308326            vI_account.account.defaultIdentity.draftsFolderPickerMode + "(" +
    309             vI.preferences.getCharPref("draftFolderPickerMode") + "))\n");
     327            vI_main.preferences.getCharPref("draftFolderPickerMode") + "))\n");
    310328    },
    311329   
    312330    setupTemplates : function() {
    313         switch (vI.preferences.getCharPref("stationeryFolderPickerMode"))
     331        switch (vI_main.preferences.getCharPref("stationeryFolderPickerMode"))
    314332        {
    315333            case "2"  :
     
    326344            vI_notificationBar.dump ("## vI_account: preparing Templates --- use Virtual Identity Settings\n");
    327345            vI_account.account.defaultIdentity.stationeryFolder
    328                 = vI.unicodeConverter.ConvertToUnicode(vI.preferences.getCharPref("stationeryFolder"));
     346                = vI_main.unicodeConverter.ConvertToUnicode(vI_main.preferences.getCharPref("stationeryFolder"));
    329347            vI_account.account.defaultIdentity.tmplFolderPickerMode
    330                 = vI.preferences.getCharPref("stationeryFolderPickerMode");
     348                = vI_main.preferences.getCharPref("stationeryFolderPickerMode");
    331349            break;
    332350        }
     
    334352            vI_account.account.defaultIdentity.stationeryFolder + " tmplFolderPickerMode " +
    335353            vI_account.account.defaultIdentity.tmplFolderPickerMode + "(" +
    336             vI.preferences.getCharPref("stationeryFolderPickerMode") + "))\n");
     354            vI_main.preferences.getCharPref("stationeryFolderPickerMode") + "))\n");
    337355    }
    338356}
  • chrome/content/v_identity/vI_context.xul

    r8e5aff rc05d83  
    5858            <menupopup>
    5959                <menuitem label="&vident.vI_Menu.Settings.label;"
    60                       oncommand="window.openDialog('chrome://v_identity/content/vI_prefDialogOpener.xul', '', 'chrome');" />
     60                      oncommand="window.open('chrome://v_identity/content/vI_prefDialogOpener.xul', '', 'chrome, dialog, resizable=yes');" />
    6161                <menuitem label="&vident.vI_Menu.DataEditor.label;"
    62                       oncommand="window.open('chrome://v_identity/content/vI_rdfDataTree.xul', '', 'chrome');" />
     62                      oncommand="window.open('chrome://v_identity/content/vI_rdfDataTree.xul', '', 'chrome, dialog, resizable=yes');" />
    6363            </menupopup>
    6464        </menu>
  • chrome/content/v_identity/vI_getHeader.js

    r8e5aff rc05d83  
    9494        var currentHeadersCounter = [];
    9595       
    96         var vI_listId = false; var vI_received = false;
    97         // loop through the headers
     96        var vI_listId = false; var vI_received = false; var vI_content_base = false;
    9897        for (var header in currentHeaderData) {
    9998            var headerName = currentHeaderData[header].headerName.toLowerCase();
     99//          vI_notificationBar.dump("## vI_getHeader: found header: " + currentHeaderData[header].headerName + "\n");
    100100
    101101            // remember list-id header to prevent using Mailing-List addresses as sender
     
    113113            }
    114114           
     115            // remember content-base header to prevent using Blog/News-Feed addresses as sender
     116            if (!vI_content_base && headerName == "content-base") {
     117                hdr.setStringProperty("vI_content_base","found"); vI_content_base = true;
     118                vI_notificationBar.dump("## vI_getHeader: found header: content-base  ...stored to recognize blog/news-feed\n");
     119//              continue;
     120            }
     121
    115122            if (currentHeadersCounter[headerName]) currentHeadersCounter[headerName]++
    116123            else currentHeadersCounter[headerName] = 1
     
    190197   
    191198    init : function() {
     199        vI_prepareHeader.orig_initializeHeaderViewTables = initializeHeaderViewTables;
     200        initializeHeaderViewTables = vI_prepareHeader.replacement_initializeHeaderViewTables;
     201        if (vI_prepareHeader.addExtraHeader()) vI_prepareHeader.addObserver();
     202    },
     203   
     204    replacement_initializeHeaderViewTables : function() {
     205        vI_prepareHeader.cleanup();
     206        vI_notificationBar.dump("## vI_getHeader: initializeHeaderViewTables\n");
     207        vI_prepareHeader.orig_initializeHeaderViewTables();
    192208        if (vI_prepareHeader.addExtraHeader()) vI_prepareHeader.addObserver();
    193209    },
     
    221237        // add Received to recognizable headers to detect if mail was sent or received
    222238        header_list.push("Received")
     239
     240        // add Website to recognizable headers to detect Blog/News-Posts
     241        header_list.push("content-base")
    223242
    224243//      try {
  • chrome/content/v_identity/vI_htmlTextBox.xml

    r68cb93 rc05d83  
    1818
    1919   - The Initial Developer of the Original Code is Rene Ejury.
     20   - code of remoteBrowserBox was copied and adapted from mozapps/update/updates.xml
    2021   - Portions created by the Initial Developer are Copyright (C) 2007
    2122   - the Initial Developer. All Rights Reserved.
     
    2324   - Contributor(s):
    2425   - ***** END LICENSE BLOCK ***** -->
     26
     27<!DOCTYPE overlay [
     28<!ENTITY % vIdentDTD SYSTEM "chrome://v_identity/locale/vI_prefDialog.dtd">
     29%vIdentDTD;
     30]>
    2531
    2632<bindings id="vI_htmlTextBoxBindings"
     
    2834          xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    2935          xmlns:xbl="http://www.mozilla.org/xbl">
     36   
     37    <binding id="vI_remoteBrowserBox">
     38    <content>
     39        <xul:vbox flex="1" >
     40            <xul:vbox class="vI_remoteBrowserBoxProgressmeter" flex="1" >
     41                <xul:progressmeter mode="undetermined" />
     42                <xul:spacer flex="1" />
     43            </xul:vbox>
     44            <xul:browser xbl:inherits="src=url" class="vI_htmlTextBox" hidden="true" flex="1" disablehistory="true" />
     45            <xul:button xbl:inherits="tooltiptext=url" label="&vI_prefDialog.openHelpInBrowserButton.label;"
     46                    oncommand="vI_prefDialog.openURL(this.tooltipText); vI_prefDialog.toggleHelp();" />
     47        </xul:vbox>
     48    </content>
     49    <resources>
     50            <stylesheet src="chrome://v_identity/skin/v_identity.css"/>
     51    </resources>
     52    <implementation>
     53    <destructor><![CDATA[
     54        // clean up the listener but you may not have one if you never showed
     55        // the page with a <remotecontent> element
     56        if (this._remoteProgressListener) this._content.webProgress.removeProgressListener(this._remoteProgressListener);
     57    ]]></destructor>
     58    <field name="_init">null</field>
     59    <method name="init">
     60    <body><![CDATA[
     61        if (this._init) return;
     62       
     63        // just to be safe, turn off js, auth, plugins, and subframes
     64        var docShell = this._content.docShell;
     65        docShell.allowJavascript = false;
     66        docShell.allowAuth = false;
     67        docShell.allowPlugins = false;
     68        //allow redirects
     69        //docShell.allowMetaRedirects = false;
     70        docShell.allowSubframes = false;
     71        //allow images
     72        //docShell.allowImages = false;
     73       
     74        this._init = true;
     75    ]]></body>
     76    </method>
     77    <field name="_remoteProgressListener">null</field>
     78    <property name="url">
     79        <getter><![CDATA[
     80        return this.getAttribute("url");
     81        ]]></getter>
     82        <setter><![CDATA[
     83        this.init();
     84        if (this._remoteProgressListener)
     85            this._content.webProgress.removeProgressListener(this._remoteProgressListener);
     86        var self = this;
     87
     88        this._remoteProgressListener = {
     89            QueryInterface: function(aIID) {
     90                if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
     91                    aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
     92                    aIID.equals(Components.interfaces.nsISupports))
     93                    return this;
     94                throw Components.results.NS_NOINTERFACE;
     95            },
     96            onLocationChange: function() {},
     97            onProgressChange: function() {},
     98            onStatusChange:   function() {},
     99            onSecurityChange: function() {},
     100            onStateChange:    function(aWebProgress, aRequest, aStateFlags, aStatus) {
     101                if (!aRequest)
     102                    return;
     103
     104                const nsIWebProgressListener =
     105                    Components.interfaces.nsIWebProgressListener;
     106           
     107                if (aStateFlags & nsIWebProgressListener.STATE_IS_NETWORK)
     108                {
     109                    if (aStateFlags & nsIWebProgressListener.STATE_START) self.onStart();
     110                    else if (aStateFlags & nsIWebProgressListener.STATE_STOP) {
     111                        const nsIHttpChannel = Components.interfaces.nsIHttpChannel;
     112                        try {
     113                            var channel = aRequest.QueryInterface(nsIHttpChannel);
     114                            if (channel.requestSucceeded) {
     115                                // if we get here, the load was OK, report success
     116                                self.onLoad();
     117                                return;
     118                            }
     119                        } catch (ex) {
     120                            // the channel.requestSucceeded can throw
     121                            // NS_ERROR_NOT_AVAILABLE if you can't reach the server
     122                            // so we treat that as an error
     123                        }
     124                        // everything else (like a 404) is an error
     125                        self.onError();
     126                    }
     127                }
     128            }
     129        }
     130        this._content.webProgress.addProgressListener(this._remoteProgressListener,Components.interfaces.nsIWebProgress.NOTIFY_ALL);
     131        // load the url now that the listener is registered
     132        this.setAttribute("url", val);
     133        ]]></setter>
     134    </property>
     135    <field name="_content">
     136        document.getAnonymousElementByAttribute(this, "class", "vI_htmlTextBox");
     137    </field>
     138    <field name="_progress">
     139        document.getAnonymousElementByAttribute(this, "class", "vI_remoteBrowserBoxProgressmeter");
     140    </field>
     141    <property name="localCss" onget="return this.getAttribute('localCss');" onset="this.setAttribute('localCss', val); return val;" />
     142    <method name="onError">
     143    <body><![CDATA[
     144    //  alert("error");
     145    ]]></body>
     146    </method>
     147    <method name="onLoad">
     148        <body><![CDATA[
     149        this._content.cssSource = this.localCss;
     150        this._progress.setAttribute("hidden", "true");
     151        this._content.removeAttribute("hidden");
     152    ]]></body>
     153    </method>
     154    <method name="onStart">
     155    <body><![CDATA[
     156        this._content.setAttribute("hidden", "true");
     157        this._progress.removeAttribute("hidden");
     158    ]]></body>
     159    </method>
     160    </implementation>
     161    </binding>
     162
     163
    30164    <binding id="vI_htmlTextBox" extends="chrome://global/content/bindings/browser.xml#browser">
    31165    <implementation>
    32166    <constructor>
    33167        <![CDATA[       
    34 <!--        vI_notificationBar.dump('******* vI_htmlTextBox.xml constructor\n'); -->
     168        dump('******* vI_htmlTextBox.xml constructor\n');
    35169        ]]>
    36170    </constructor>
     171    <field name="_cssRead">false</field>
     172    <property name="cssSource" >
     173        <setter><![CDATA[
     174        if (!val) return;
     175        dump("cssSource set to " + val + "\n");
     176        var head = this.contentDocument.getElementsByTagName("HEAD").item(0);
     177        var range = document.createRange();
     178        range.selectNode(head);
     179        var css_text = this._getContents("chrome://v_identity/skin/" + val);
     180        dump("cssSource set to " + val + " cont.\n");
     181        var documentFragment = range.createContextualFragment("<style type='text/css'>" + css_text + "</style>");
     182        head.appendChild(documentFragment);
     183        dump("cssSource set to " + val + " done\n");
     184        this._cssRead = true;
     185        ]]></setter>
     186    </property>
     187    <method name="_getContents">
     188        <parameter name="aURL" />
     189        <body><![CDATA[     
     190        // read the chrome file (copied from http://forums.mozillazine.org/viewtopic.php?p=921150)
     191        var ioService=Components.classes["@mozilla.org/network/io-service;1"]
     192            .getService(Components.interfaces.nsIIOService);
     193        var scriptableStream=Components
     194            .classes["@mozilla.org/scriptableinputstream;1"]
     195            .getService(Components.interfaces.nsIScriptableInputStream);
     196       
     197        var channel=ioService.newChannel(aURL,null,null);
     198        var input=channel.open();
     199        scriptableStream.init(input);
     200        var str=scriptableStream.read(input.available());
     201        scriptableStream.close();
     202        input.close();
     203        return str;
     204        ]]></body>
     205    </method>
    37206    <property name="outputString" >
    38207        <setter><![CDATA[
     
    56225        ]]></setter>
    57226    </property>
    58     <field name="_cssRead">false</field>
    59     <property name="cssSource" >
    60         <setter><![CDATA[
    61         if (!val) return;
    62         var head = this.contentDocument.getElementsByTagName("HEAD").item(0);
    63         var range = document.createRange();
    64         range.selectNode(head);
    65         var css_text = this._getContents("chrome://v_identity/skin/" + val);
    66         var documentFragment = range.createContextualFragment("<style type='text/css'>" + css_text + "</style>");
    67         head.appendChild(documentFragment);
    68         this._cssRead = true;
    69         ]]></setter>
    70     </property>
    71227    <field name="_currentList">null</field>
    72228    <field name="_currentBaseNode">null</field>
    73     <method name="_getContents">
    74         <parameter name="aURL" />
    75         <body><![CDATA[     
    76         // read the chrome file (copied from http://forums.mozillazine.org/viewtopic.php?p=921150)
    77         var ioService=Components.classes["@mozilla.org/network/io-service;1"]
    78             .getService(Components.interfaces.nsIIOService);
    79         var scriptableStream=Components
    80             .classes["@mozilla.org/scriptableinputstream;1"]
    81             .getService(Components.interfaces.nsIScriptableInputStream);
    82        
    83         var channel=ioService.newChannel(aURL,null,null);
    84         var input=channel.open();
    85         scriptableStream.init(input);
    86         var str=scriptableStream.read(input.available());
    87         scriptableStream.close();
    88         input.close();
    89         return str;
    90         ]]></body>
    91     </method>
    92229    <method name="_isHR">
    93230        <parameter name="text" />
  • chrome/content/v_identity/vI_identityData.js

    r8e5aff rc05d83  
    2323 * ***** END LICENSE BLOCK ***** */
    2424
    25 function identityData(email, fullName, id, smtp, extras, sideDescription) {
     25function vI_identityData(email, fullName, id, smtp, extras, sideDescription, existingID) {
    2626    this.email = email;
    2727    this.fullName = (fullName?fullName:'');
    28     this.id = new idObj(id);
    29     this.smtp = new smtpObj(smtp);
     28    this.id = new vI_idObj(id);
     29    this.smtp = new vI_smtpObj(smtp);
    3030    this.extras = extras?extras:new vI_storageExtras();
    3131    this.comp = {   // holds the results of the last comparison for later creation of a compareMatrix
     
    3434    }
    3535    if (sideDescription) this.sideDescription = sideDescription;
     36    if (existingID) this.existingID = existingID;
    3637    else if (this.id.value) this.sideDescription = " - " + this.id.value;
    3738    this.stringBundle = document.getElementById("vIdentBundle");
    3839}
    39 identityData.prototype = {
     40vI_identityData.prototype = {
    4041    email : null,
    4142    fullName : null,
     
    4445    extras : null,
    4546    sideDescription : null,
     47    existingID : null,      // indicates that this is a pre-defined Identity, which might handled slightly differently
    4648   
    4749    stringBundle : null,
     
    8284    // creates an Duplicate of the current IdentityData, cause usually we are working with a pointer
    8385    getDuplicate : function() {
    84         return new identityData(this.email, this.fullName, this.id.key, this.smtp.key, this.extras.getDuplicate(), this.sideDescription);
     86        return new vI_identityData(this.email, this.fullName, this.id.key, this.smtp.key, this.extras.getDuplicate(), this.sideDescription, this.existingID);
    8587    },
    8688
     
    9799    // dependent on MsgComposeCommands, should/will only be called in ComposeDialog
    98100    isExistingIdentity : function(ignoreFullNameWhileComparing) {
     101        vI_notificationBar.dump("## vI_identityData: isExistingIdentity: ignoreFullNameWhileComparing='" + ignoreFullNameWhileComparing + "'\n");
     102//      vI_notificationBar.dump("## vI_identityData base: fullName.toLowerCase()='" + this.fullName + "' email.toLowerCase()='" + this.email + "' smtp='" + this.smtp.key + "'\n");
     103
    99104        var accounts = queryISupportsArray(gAccountManager.accounts, Components.interfaces.nsIMsgAccount);
    100105        for (var i in accounts) {
     
    104109            var identities = queryISupportsArray(accounts[i].identities, Components.interfaces.nsIMsgIdentity);
    105110            for (var j in identities) {
     111//              vI_notificationBar.dump("## vI_identityData comp: fullName.toLowerCase()='" + identities[j].fullName.toLowerCase() + "' email.toLowerCase()='" + identities[j].email.toLowerCase() + "' smtp='" + identities[j].smtpServerKey + "'\n");
     112                var email = this.email?this.email:"";               // might be null if no identity is set
     113                var idEmail = identities[j].email?identities[j].email:"";   // might be null if no identity is set
    106114                if (    (ignoreFullNameWhileComparing ||
    107115                    this.fullName.toLowerCase() == identities[j].fullName.toLowerCase()) &&
    108                     (this.email.toLowerCase() == identities[j].email.toLowerCase()) &&
    109                     this.smtp.equal(new smtpObj(identities[j].smtpServerKey))   ) {
     116                    (email.toLowerCase() == idEmail.toLowerCase()) &&
     117                    this.smtp.equal(new vI_smtpObj(identities[j].smtpServerKey))    ) {
    110118                    vI_notificationBar.dump("## vI_identityData: isExistingIdentity: " + this.combinedName + " found, id='" + identities[j].key + "'\n");
    111119                    return identities[j].key;
     
    120128        this.comp.compareID = compareIdentityData;
    121129
    122         this.comp.equals.fullName = (this.fullName == compareIdentityData.fullName)
    123         this.comp.equals.email = (this.email == compareIdentityData.email)
     130        this.comp.equals.fullName = (((this.fullName)?this.fullName.toLowerCase():null) == ((compareIdentityData.fullName)?compareIdentityData.fullName.toLowerCase():null));
     131        this.comp.equals.email = (((this.email)?this.email.toLowerCase():null) == ((compareIdentityData.email)?compareIdentityData.email.toLowerCase():null));
    124132
    125133        this.comp.equals.smtp = this.smtp.equal(compareIdentityData.smtp);
     
    128136        this.comp.equals.id = this.id.equal(compareIdentityData.id);
    129137        this.comp.equals.extras = this.extras.equal(compareIdentityData.extras);
    130 //      vI_notificationBar.dump("## vI_identityData: smtp:'" + this.comp.equals.smtp + "' id:'" + this.comp.equals.id + "'\n");
    131         return (this.comp.equals.fullName && this.comp.equals.email && this.comp.equals.smtp && this.comp.equals.id && this.comp.equals.extras)
     138       
     139        return (this.comp.equals.fullName && this.comp.equals.email && this.comp.equals.smtp && this.comp.equals.id && this.comp.equals.extras);
    132140    },
    133141
     
    169177}
    170178
    171 function identityCollection() {
     179function vI_identityCollection() {
    172180    this.number = 0;
    173181    this.identityDataCollection = {};
    174182    this.menuItems = {};
    175183}
    176 identityCollection.prototype =
     184vI_identityCollection.prototype =
    177185{
    178186    number : null,
     
    183191        for (var index = 0; index < addIdentityCollection.number; index++)
    184192            this.addWithoutDuplicates(addIdentityCollection.identityDataCollection[index])
     193    },
     194
     195    dropIdentity : function(index) {
     196        vI_notificationBar.dump("## identityCollection:   dropping address from inputList: " + this.identityDataCollection[index].combinedName + "\n");
     197        while (index < (this.number - 1)) { this.identityDataCollection[index] = this.identityDataCollection[++index]; };
     198        this.identityDataCollection[--this.number] = null;
    185199    },
    186200
     
    225239const NO_SMTP_TAG = "vI_noStoredSMTP"
    226240
    227 function smtpObj(key) {
     241function vI_smtpObj(key) {
    228242    this._key = key;
    229243    this.DEFAULT_TAG = document.getElementById("bundle_messenger").getString("defaultServerTag");
    230244}
    231 smtpObj.prototype = {
     245vI_smtpObj.prototype = {
    232246    DEFAULT_TAG : null,
    233247    _key : null,
     
    284298}
    285299
    286 function idObj(key) { this._key = key; }
    287 idObj.prototype = {
     300function vI_idObj(key) { this._key = key; }
     301vI_idObj.prototype = {
    288302    _key : null,
    289303    _value : null,
  • chrome/content/v_identity/vI_msgIdentityCloneTools.js

    r8e5aff rc05d83  
    4141       
    4242    signatureSwitch: function(existingIdentity) {
     43        // always initialize Security/Enigmail-Options
     44        try { setSecuritySettings(1); enigSetMenuSettings(''); } catch(vErr) { };
    4345        if (!existingIdentity) {
    44             // code to hide the signature
    45             try { if (vI.preferences.getBoolPref("hide_signature") && ss_signature.length == 0)
     46            vI_notificationBar.dump("## vI_msgIdentityCloneTools: signatureSwitch hide/remove signatures\n");
     47            // code to hide the text signature
     48            try { if (vI_main.preferences.getBoolPref("hide_signature") && ss_signature.length == 0) {
     49                vI_notificationBar.dump("## vI_msgIdentityCloneTools: hide text/html signature");
    4650                ss_main.signatureSwitch()
     51                vI_notificationBar.dump("\n");
     52            } } catch(vErr) { vI_notificationBar.dump(" -- missing signatureSwitch extension?\n"); };
     53            // code to hide the sMime signature
     54            try { if (vI_main.preferences.getBoolPref("hide_sMime_messageSignature")) {
     55                var element = document.getElementById("menu_securitySign1");
     56                if (element.getAttribute("checked") == "true") {
     57                    vI_notificationBar.dump("## signatureSwitch hide_sMime_messageSignature with doCommand\n");
     58                    element.doCommand();
     59                }
     60            }
     61            //  document.getElementById("menu_securitySign1").removeAttribute("checked");
     62            } catch(vErr) { };
     63            // code to hide the openGPG signature
     64            try { if (vI_main.preferences.getBoolPref("hide_openPGP_messageSignature")) {
     65                var element = document.getElementById("enigmail_signed_send");
     66                if (element.getAttribute("checked") == "true") {
     67                    var skipChangeGPGsign = false;
     68                    // sometimes GPG delays changing with dialog, so don't act if EnigmailAlertWindow is open to prevent double changes
     69                    var windows = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
     70                        .getService(Components.interfaces.nsIWindowWatcher).getWindowEnumerator();
     71                    while (windows.hasMoreElements()) {
     72                        var window = windows.getNext();
     73                        skipChangeGPGsign = skipChangeGPGsign || (window.document.title == EnigGetString("enigAlert"));
     74                    }
     75                    if (skipChangeGPGsign)
     76                        vI_notificationBar.dump("## signatureSwitch skip hide_openPGP_messageSignature - EnigMail AlertWindow open\n");
     77                    else {
     78                        vI_notificationBar.dump("## signatureSwitch hide_openPGP_messageSignature with doCommand\n");
     79                        element.doCommand();
     80                    }
     81                }
     82            }
     83            //  document.getElementById("enigmail_signed_send").removeAttribute("checked");
    4784            } catch(vErr) { };
    4885        }
    4986        else {
    50             // code to show the signature
    51             try { if (ss_signature.length > 0) ss_main.signatureSwitch(); }
    52             catch(vErr) { };
     87            vI_notificationBar.dump("## vI_msgIdentityCloneTools: signatureSwitch restore signature\n");
     88            // code to show the text signature
     89            try { if (ss_signature.length > 0) {
     90                vI_notificationBar.dump("## vI_msgIdentityCloneTools: show text/html signature");
     91                ss_main.signatureSwitch()
     92                vI_notificationBar.dump("\n");
     93            } } catch(vErr) { vI_notificationBar.dump(" -- missing signatureSwitch extension?\n"); };
     94            // sMime and openGPG signature will not be re-added automatically
    5395        }
    5496    },
  • chrome/content/v_identity/vI_prefDialog.js

    r68cb93 rc05d83  
    2424
    2525var vI_prefDialog = {
     26    toggleHelp : function() {
     27        var browserElem = document.getElementById("vI_remoteBrowserBox");
     28        if (browserElem.getAttribute("hidden")) {
     29            window.resizeBy( 200, 0);
     30            vI_prefDialog.updateHelpUrl();
     31            browserElem.removeAttribute("hidden");
     32        } else {
     33            window.resizeBy( -(browserElem.clientWidth+7), 0);
     34            browserElem.setAttribute("hidden", "true");
     35        }
     36    },
     37
     38    updateHelpUrl : function(tabpanel) {
     39        var panelIndex = (tabpanel)?tabpanel:document.getElementById('prefTabbox').selectedIndex
     40        var prefTree = document.getElementById('prefTabbox').selectedPanel.getElementsByAttribute("class", "vIprefTree")[0];
     41        var currentVersion = document.getElementById("extVersion").getAttribute("value").split(/\./);
     42        var extVersion = currentVersion[0] + "." + currentVersion[1];
     43        var url = "https://www.absorb.it/virtual-id/wiki/docs/" + extVersion + "/tab" + panelIndex + "/tree" + prefTree.currentIndex;
     44        document.getElementById("vI_remoteBrowserBox").url = url;
     45    },
     46
    2647    preferences : Components.classes["@mozilla.org/preferences-service;1"]
    2748                .getService(Components.interfaces.nsIPrefService)
     
    257278            mAttr(elem.id,"open", valueParam);
    258279            window.resizeBy( 0, document.getAnonymousElementByAttribute(dialogElem, "class", "box-inherit dialog-content-box").clientHeight - oldContentElemHeight);
     280        },
     281       
     282        initTreeValues : function() {
     283            var prefTrees = document.getElementById("prefTabbox").getElementsByAttribute("class", "vIprefTree");
     284            for (var i=0 ; i<prefTrees.length; i++) prefTrees[i].currentIndex = 0;
    259285        }
    260286    },
     
    288314        vI_prefDialog.base.constraints();
    289315        vI_prefDialog.base.menuButtonConstraints();
     316        vI_prefDialog.base.initTreeValues();
     317
    290318        if (vI_storageExtrasHelper.seamonkey_to_old()) {
    291319            document.getElementById("storageExtrasTreeitem1").setAttribute("hidden", "true")
     
    303331            var uri = Components.classes["@mozilla.org/network/standard-url;1"].createInstance(Components.interfaces.nsIURI);
    304332            var protocolSvc = Components.classes["@mozilla.org/uriloader/external-protocol-service;1"].getService(Components.interfaces.nsIExternalProtocolService);
    305 
     333        dump("load url " + aURL + "\n");
    306334            uri.spec = aURL;
    307335            protocolSvc.loadUrl(uri);
  • chrome/content/v_identity/vI_prefDialog.xul

    r68cb93 rc05d83  
    7878<textbox hidden="true" id="VIdent_identity.stationeryFolderPickerMode"
    7979                prefstring="stationeryFolderPickerMode"/>
    80 
     80<hbox>
    8181<tabbox id="prefTabbox" class="viewSelector ">
    8282    <hbox>
     
    9090        <hbox>
    9191            <radio pane="source" id="sourceEmail"
    92                 oncommand="document.getElementById('prefTabbox').selectedIndex = 0;"
     92                oncommand="document.getElementById('prefTabbox').selectedIndex = 0; vI_prefDialog.updateHelpUrl();"
    9393                tooltiptext="&vI_prefDialog.tabbox.tab0.label;" />
    9494            <vbox><spacer flex="1"/><image class="arrow" id="toSelection" /><spacer flex="1"/></vbox>
    9595            <radio pane="source" id="selection"
    96                 oncommand="document.getElementById('prefTabbox').selectedIndex = 1;"
     96                oncommand="document.getElementById('prefTabbox').selectedIndex = 1; vI_prefDialog.updateHelpUrl();"
    9797                tooltiptext="&vI_prefDialog.tabbox.tab1.label;" />
    9898            <vbox><spacer flex="1"/><image class="arrow" id="toCompose" /><spacer flex="1"/></vbox>
    9999            <radio pane="source" id="composeDialog"
    100                 oncommand="document.getElementById('prefTabbox').selectedIndex = 2;"
     100                oncommand="document.getElementById('prefTabbox').selectedIndex = 2; vI_prefDialog.updateHelpUrl();"
    101101                tooltiptext="&vI_prefDialog.tabbox.tab2.label;" />
    102102            <vbox><spacer flex="1"/><image class="arrow" id="toSend" /><spacer flex="1"/></vbox>
    103103            <radio pane="source" id="emailOut"
    104                 oncommand="document.getElementById('prefTabbox').selectedIndex = 3;"
     104                oncommand="document.getElementById('prefTabbox').selectedIndex = 3; vI_prefDialog.updateHelpUrl();"
    105105                tooltiptext="&vI_prefDialog.tabbox.tab3.label;" />
    106106        </hbox>
     
    110110            <vbox><spacer flex="1"/><image class="arrow" id="storageUp" /><spacer flex="1"/></vbox>
    111111            <radio pane="source" id="storageOut"
    112                 oncommand="document.getElementById('prefTabbox').selectedIndex = 4;"
     112                oncommand="document.getElementById('prefTabbox').selectedIndex = 4; vI_prefDialog.updateHelpUrl();"
    113113                tooltiptext="&vI_prefDialog.tabbox.tab4.label;" />
    114114            <vbox><spacer flex="1"/><image class="arrow" id="storageUpDown" /><spacer flex="1"/></vbox>
     
    120120            <spacer flex="1"/>
    121121            <hbox><spacer flex="1"/><radio pane="source" id="options"
    122                 oncommand="document.getElementById('prefTabbox').selectedIndex = 5;"
     122                oncommand="document.getElementById('prefTabbox').selectedIndex = 5; vI_prefDialog.updateHelpUrl();"
    123123                tooltiptext="&vI_prefDialog.tabbox.tab5.label;" />
    124124            </hbox>
     
    133133    <hbox>
    134134        <tabs>
    135             <tab label="&vI_prefDialog.tabbox.tab0.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 0;"/>
    136             <tab label="&vI_prefDialog.tabbox.tab1.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 1;"/>
    137             <tab label="&vI_prefDialog.tabbox.tab2.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 2;"/>
    138             <tab label="&vI_prefDialog.tabbox.tab3.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 3;"/>
    139             <tab label="&vI_prefDialog.tabbox.tab4.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 4;"/>
    140             <tab label="&vI_prefDialog.tabbox.tab5.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 5;"/>
     135            <tab label="&vI_prefDialog.tabbox.tab0.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 0; vI_prefDialog.updateHelpUrl(0);"/>
     136            <tab label="&vI_prefDialog.tabbox.tab1.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 1; vI_prefDialog.updateHelpUrl(1);"/>
     137            <tab label="&vI_prefDialog.tabbox.tab2.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 2; vI_prefDialog.updateHelpUrl(2);"/>
     138            <tab label="&vI_prefDialog.tabbox.tab3.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 3; vI_prefDialog.updateHelpUrl(3);"/>
     139            <tab label="&vI_prefDialog.tabbox.tab4.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 4; vI_prefDialog.updateHelpUrl(4);"/>
     140            <tab label="&vI_prefDialog.tabbox.tab5.label;" oncommand="document.getElementById('viewGroup').selectedIndex = 5; vI_prefDialog.updateHelpUrl(5);"/>
    141141        </tabs>
    142142        <spacer flex="1" />
     
    149149    <tabpanel orient="vertical" >
    150150        <hbox flex="1">
    151         <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex"
     151        <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex; vI_prefDialog.updateHelpUrl();"
    152152            hidecolumnpicker="true" hidehscroll="true" >
    153153        <treecols orient="vertical"><treecol flex="1" hideheader="true" primary="true"/></treecols>
     
    248248    <tabpanel orient="vertical" >
    249249        <hbox flex="1">
    250         <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex"
     250        <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex; vI_prefDialog.updateHelpUrl();"
    251251            hidecolumnpicker="true" hidehscroll="true">
    252252        <treecols orient="vertical"><treecol flex="1" hideheader="true" primary="true" /></treecols>
     
    313313    <tabpanel orient="vertical" >
    314314        <hbox flex="1">
    315         <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex"
     315        <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex; vI_prefDialog.updateHelpUrl();"
    316316            hidecolumnpicker="true" hidehscroll="true">
    317317        <treecols orient="vertical"><treecol flex="1" hideheader="true" primary="true" /></treecols>
     
    371371    <tabpanel orient="vertical" >
    372372        <hbox flex="1">
    373         <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex"
     373        <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex; vI_prefDialog.updateHelpUrl();"
    374374            hidecolumnpicker="true" hidehscroll="true" >
    375375        <treecols orient="vertical"><treecol flex="1" hideheader="true" primary="true"/></treecols>
     
    538538    <tabpanel orient="vertical" >
    539539        <hbox flex="1">
    540         <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex"
     540        <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex; vI_prefDialog.updateHelpUrl();"
    541541            hidecolumnpicker="true" hidehscroll="true">
    542542        <treecols orient="vertical">
     
    650650    <tabpanel orient="vertical" >
    651651        <hbox flex="1">
    652         <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex"
     652        <tree class="vIprefTree" seltype="single" onselect="this.nextSibling.selectedIndex = this.currentIndex; vI_prefDialog.updateHelpUrl();"
    653653            hidecolumnpicker="true" hidehscroll="true">
    654654        <treecols orient="vertical">
     
    711711    </tabpanels>
    712712</tabbox>
     713<browserbox id="vI_remoteBrowserBox" class="vI_remoteBrowserBox" localCss="localDoc.css" flex="1" hidden="true" />
     714<label id="extVersion" value="&vident.version;" hidden="true" />
     715</hbox>
    713716</dialog>
    714717</overlay>
  • chrome/content/v_identity/vI_prefDialogOpener.xul

    r8e5aff rc05d83  
    4444    function openPrefDialog () {
    4545        var chromeURL=(vI_helper.olderVersion('SM', '2.0a1pre') || vI_helper.olderVersion('TB', '3.0a1pre'))?'preTB3.xul':'TB3.xul';
    46         window.openDialog('chrome://v_identity/content/vI_prefDialog_' + chromeURL, '', 'chrome');
     46        window.open('chrome://v_identity/content/vI_prefDialog_' + chromeURL, '', 'chrome, dialog, alwaysRaised, resizable=yes');
    4747    };
    4848    ]]>
  • chrome/content/v_identity/vI_prefDialog_TB3.xul

    r68cb93 rc05d83  
    3232    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    3333        onload="vI_prefDialog.init();"
    34         buttons="accept,cancel"
     34        buttons="accept,cancel,help"
    3535        ondialogaccept="vI_prefDialog.savePrefs();"
     36    ondialoghelp="vI_prefDialog.toggleHelp();"
     37    buttonlabelhelp="&vI_prefDialog.dlgHelpButton.label;"
    3638        persist="screenX screenY"
    3739        title="&vI_prefDialog.dlgTitle.label;" />
  • chrome/content/v_identity/vI_prefDialog_preTB3.xul

    r68cb93 rc05d83  
    3232    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    3333        onload="vI_prefDialog.init();"
    34         buttons="accept,cancel"
     34        buttons="accept,cancel,help"
    3535        ondialogaccept="vI_prefDialog.savePrefs();"
     36    ondialoghelp="vI_prefDialog.toggleHelp();"
     37        buttonlabelhelp="&vI_prefDialog.dlgHelpButton.label;"
    3638        persist="screenX screenY"
    3739        title="&vI_prefDialog.dlgTitle.label;" />
  • chrome/content/v_identity/vI_rdfDataEditor.js

    r8e5aff rc05d83  
    5252        vI_rdfDataEditor.__rdfDataTree = window.arguments[3];
    5353        ;
    54         vI_rdfDataEditor.__identityData = new identityData();
     54        vI_rdfDataEditor.__identityData = new vI_identityData();
    5555        vI_rdfDataEditor.__identityData.copy(window.arguments[0].identityData);
    5656
     
    102102        var address = vI_helper.parseAddress(document.getElementById("sender").value)
    103103       
    104         var localIdentityData = new identityData(address.email, address.name,
     104        var localIdentityData = new vI_identityData(address.email, address.name,
    105105            document.getElementById("identity_list").selectedItem.getAttribute("value"),
    106106            document.getElementById("smtp_server_list").selectedItem.getAttribute("key"));
  • chrome/content/v_identity/vI_rdfDataTree.js

    r8e5aff rc05d83  
    430430    newItem : function() {
    431431        var treeType = vI_rdfDataTree.tabbox.selectedPanel.id;
    432         var newItemPreset = { identityData : new identityData ("", null, null, NO_SMTP_TAG, null, null) };
     432        var newItemPreset = { identityData : new vI_identityData ("", null, null, NO_SMTP_TAG, null, null) };
    433433        // XXXX create useful preset
    434434        var retVar = { treeType: null };
  • chrome/content/v_identity/vI_rdfDatasource.js

    r8e5aff rc05d83  
    209209            var extras = new vI_storageExtras(vI_rdfDatasource.__getRDFValue, resource);
    210210           
    211             var localIdentityData = new identityData(email, fullName, id, smtp, extras)
     211            var localIdentityData = new vI_identityData(email, fullName, id, smtp, extras)
    212212            addNewDatum (resource, name, localIdentityData, idData)
    213213        }
     
    272272        var id = vI_rdfDatasource.__getRDFValue(resource, "id")
    273273        var smtp = vI_rdfDatasource.__getRDFValue(resource, "smtp")
     274        if (!smtp) smtp = NO_SMTP_TAG;
     275       
    274276        vI_notificationBar.dump("## vI_rdfDatasource: email='" + email +
    275277            "' fullName='" + fullName + "' id='" + id + "' smtp='" + smtp + "'\n");
    276         if (!smtp) smtp = NO_SMTP_TAG;
    277        
    278         vI_notificationBar.dump("## vI_rdfDatasource: email='" + email +
    279             "' fullName='" + fullName + "' id='" + id + "' smtp='" + smtp + "'\n");
    280278       
    281279        var extras = new vI_storageExtras(vI_rdfDatasource.__getRDFValue, resource);
    282280        vI_notificationBar.dump("## vI_rdfDatasource: extras:" + extras.status() + "\n");
    283281       
    284         var localIdentityData = new identityData(email, fullName, id, smtp, extras)
     282        var localIdentityData = new vI_identityData(email, fullName, id, smtp, extras)
    285283        return localIdentityData;
    286284    },
  • chrome/content/v_identity/vI_smartIdentity.js

    r8e5aff rc05d83  
    4848            case msgComposeType.ReplyToSenderAndGroup: // reply to a newsgroup, would possibly be stopped later
    4949            case msgComposeType.ReplyWithTemplate:
     50            case msgComposeType.ReplyToList:
    5051                vI_smartIdentity.Reply(); break;
    5152            case msgComposeType.Draft:
     
    7475        vI_notificationBar.dump("## vI_smartIdentity: new email: " + new_email + "\n");
    7576
    76         vI_notificationBar.setNote(vI.elements.strings.getString("vident.smartIdentity.vIUsage") + ".",
     77        vI_notificationBar.setNote(vI_main.elements.strings.getString("vident.smartIdentity.vIUsage") + ".",
    7778                    "smart_reply_notification");
    7879
     
    8182   
    8283    NewMail : function() {
    83         var storageIdentities = new identityCollection();
     84        var storageIdentities = new vI_identityCollection();
    8485        vI_storage.getVIdentityFromAllRecipients(storageIdentities);
    8586       
    8687        if (storageIdentities.number > 0) vI_smartIdentity.__smartIdentitySelection(storageIdentities, false)
    87         else if (vI.preferences.getBoolPref("autoTimestamp")) vI_smartIdentity.__autoTimestamp();   
     88        else if (vI_main.preferences.getBoolPref("autoTimestamp")) vI_smartIdentity.__autoTimestamp(); 
    8889    },
    8990   
     
    9192        vI_notificationBar.dump("## vI_smartIdentity: ReplyOnSent() (rules like SmartDraft)\n");
    9293       
    93         var allIdentities = new identityCollection();
     94        var allIdentities = new vI_identityCollection();
    9495
    9596        vI_smartIdentity.__SmartDraftOrReplyOnSent(hdr, allIdentities);
    96         var storageIdentities = new identityCollection();
     97        var storageIdentities = new vI_identityCollection();
    9798        vI_storage.getVIdentityFromAllRecipients(storageIdentities);
    9899       
     
    106107        vI_notificationBar.dump("## vI_smartIdentity: Draft()\n");
    107108       
    108         var allIdentities = new identityCollection();
     109        var allIdentities = new vI_identityCollection();
    109110
    110111        var draftHdr = vI_smartIdentity.messenger.
     
    116117
    117118        vI_smartIdentity.__SmartDraftOrReplyOnSent(draftHdr, allIdentities);
    118         var storageIdentities = new identityCollection();
     119        var storageIdentities = new vI_identityCollection();
    119120        vI_storage.getVIdentityFromAllRecipients(storageIdentities);
    120121       
     
    126127    __parseHeadersWithArray: function(hdr, allIdentities) {
    127128        var emails = {}; var fullNames = {}; var combinedNames = {};
    128         var number = vI.headerParser.parseHeadersWithArray(hdr, emails, fullNames, combinedNames);
     129        var number = vI_main.headerParser.parseHeadersWithArray(hdr, emails, fullNames, combinedNames);
    129130        for (var index = 0; index < number; index++) {
    130             var newIdentity = new identityData(emails.value[index], fullNames.value[index],
     131            var newIdentity = new vI_identityData(emails.value[index], fullNames.value[index],
    131132                null, NO_SMTP_TAG, null, null);
    132133            allIdentities.addWithoutDuplicates(newIdentity);
     
    136137    // this function checks if we have a draft-case and Smart-Draft should replace the Identity
    137138    __SmartDraftOrReplyOnSent : function(hdr, allIdentities) {
    138         if (!vI.preferences.getBoolPref("smart_draft"))
     139        if (!vI_main.preferences.getBoolPref("smart_draft"))
    139140            { vI_notificationBar.dump("## vI_smartIdentity: SmartDraft deactivated\n"); return; }
    140141
     
    149150   
    150151    __filterAddresses : function(smartIdentities) {
    151         var returnIdentities = new identityCollection();
     152        var returnIdentities = new vI_identityCollection();
    152153       
    153154        var filterList  =
    154             vI.unicodeConverter.ConvertToUnicode(vI.preferences.getCharPref("smart_reply_filter")).split(/\n/)
     155            vI_main.unicodeConverter.ConvertToUnicode(vI_main.preferences.getCharPref("smart_reply_filter")).split(/\n/)
    155156        if (filterList.length == 0) filterList[0] == ""
    156157       
     
    160161            if (filterList.length <= 1 && filterList[0] == "")
    161162                { vI_notificationBar.dump("## vI_smartIdentity: no filters configured\n"); recentfilterType = filterType.None; }
    162             else if (/^\/(.*)\/$/.exec(filterList[i]))
     163            else if (/^[+-]?\/(.*)\/$/.exec(filterList[i]))
    163164                { vI_notificationBar.dump("## vI_smartIdentity: filter emails with RegExp '"
    164165                    + filterList[i].replace(/\\/g,"\\\\") + "'\n"); recentfilterType = filterType.RegExp; }
     
    173174                    case filterType.RegExp:
    174175                        if (skipRegExp) break;
    175                         try {   /^\/(.*)\/$/.exec(filterList[i]);
    176                             add_addr =  (smartIdentities.identityDataCollection[j].email.match(new RegExp(RegExp.$1,"i")))
     176                        try {   /^[+-]?\/(.*)\/$/.exec(filterList[i]);
     177                            if ( filterList[i][0] == "-" ) {
     178                                if (smartIdentities.identityDataCollection[j].email.match(new RegExp(RegExp.$1,"i")))
     179                                    smartIdentities.dropIdentity(j--);
     180                            } else
     181                                add_addr = (smartIdentities.identityDataCollection[j].email.match(new RegExp(RegExp.$1,"i")));
    177182                        }
    178183                        catch(vErr) {
    179184                            vI_notificationBar.addNote(
    180                                 vI.elements.strings.getString("vident.smartIdentity.ignoreRegExp") +
     185                                vI_main.elements.strings.getString("vident.smartIdentity.ignoreRegExp") +
    181186                                +filterList[i].replace(/\\/g,"\\\\") + " .",
    182187                                "smart_reply_notification");
     
    195200    __smartReplyCollectAddresses : function(hdr, allIdentities) {
    196201        // add emails from selected headers (stored by vI_getHeader.xul/js)
    197         var reply_headers = vI.unicodeConverter.ConvertToUnicode(vI.preferences.getCharPref("smart_reply_headers")).split(/\n/)
     202        var reply_headers = vI_main.unicodeConverter.ConvertToUnicode(vI_main.preferences.getCharPref("smart_reply_headers")).split(/\n/)
    198203                   
    199204        for (var index = 0; index < reply_headers.length; index++) {
     
    220225           
    221226            // ------------- read the stored header -------------------------------
    222             var value = vI.unicodeConverter.ConvertToUnicode(hdr.getStringProperty("vI_" + replyHeaderNameToRead))
     227            var value = vI_main.unicodeConverter.ConvertToUnicode(hdr.getStringProperty("vI_" + replyHeaderNameToRead))
    223228            vI_notificationBar.dump("## vI_smartIdentity: reading header '" +
    224229                replyHeaderNameToRead + "': '" + value + "'\n");
    225230           
    226231            // ------------- parse address-string to get a field of single email-addresses
    227             var splitted = new identityCollection();
     232            var splitted = new vI_identityCollection();
    228233            vI_smartIdentity.__parseHeadersWithArray(value, splitted);
    229234           
     
    253258        vI_notificationBar.dump("## vI_smartIdentity: Reply()\n");
    254259
    255         if (hdr && !gMsgCompose.compFields.newsgroups) {
     260        if (hdr && !gMsgCompose.compFields.newsgroups && !hdr.getStringProperty("vI_content_base")) {
    256261        //  RFC 2821 (http://www.ietf.org/rfc/rfc2821.txt) says:
    257262        //  "4.4 Trace Information
     
    263268        //  hidden option smart_detectByReceivedHeader will act as a switch for not RFC-compliant servers
    264269            // RFC-compliant
    265             if (vI.preferences.getBoolPref("smart_detectByReceivedHeader")) {
     270            if (vI_main.preferences.getBoolPref("smart_detectByReceivedHeader")) {
    266271                if (!hdr.getStringProperty("vI_received")) { // mail was not received
    267272                    vI_notificationBar.dump("## vI_smartIdentity: reply on non-received (sent?) mail. Using SmartDraft. \n");
     
    288293        }
    289294           
    290         var storageIdentities = new identityCollection();
     295        var storageIdentities = new vI_identityCollection();
    291296        vI_storage.getVIdentityFromAllRecipients(storageIdentities);
    292297       
    293         var smartIdentities = new identityCollection();
    294         if (storageIdentities.number == 0 || !vI.preferences.getBoolPref("idSelection_storage_ignore_smart_reply"))
     298        var smartIdentities = new vI_identityCollection();
     299        if (storageIdentities.number == 0 || !vI_main.preferences.getBoolPref("idSelection_storage_ignore_smart_reply"))
    295300            vI_smartIdentity.__SmartReply(hdr, smartIdentities);
    296301        else vI_notificationBar.dump("## vI_smartIdentity: SmartReply skipped, Identities in Storage found.\n");
    297302
    298303        // merge SmartReply-Identities and Storage-Identites
    299         if (vI.preferences.getBoolPref("idSelection_storage_prefer_smart_reply"))
     304        if (vI_main.preferences.getBoolPref("idSelection_storage_prefer_smart_reply"))
    300305            { smartIdentities.mergeWithoutDuplicates(storageIdentities); var allIdentities = smartIdentities; }
    301306        else
     
    309314    // this function checks if we have a reply-case and Smart-Reply should replace the Identity
    310315    __SmartReply : function(hdr, smartIdentities) {
    311         if (!vI.preferences.getBoolPref("smart_reply"))
     316        if (!vI_main.preferences.getBoolPref("smart_reply"))
    312317            { vI_notificationBar.dump("## vI_smartIdentity: SmartReply deactivated\n"); return; }
    313         if (gMsgCompose.compFields.newsgroups && !vI.preferences.getBoolPref("smart_reply_for_newsgroups")) {
     318        if (gMsgCompose.compFields.newsgroups && !vI_main.preferences.getBoolPref("smart_reply_for_newsgroups")) {
    314319            vI_notificationBar.dump("## vI_smartIdentity: SmartReply, answering to a newsgroup, aborting\n");
    315320            return;
     
    329334           
    330335            /* set default FullName */
    331             var smart_reply_defaultFullName = vI.unicodeConverter.ConvertToUnicode(vI.preferences.getCharPref("smart_reply_defaultFullName"))
     336            var smart_reply_defaultFullName = vI_main.unicodeConverter.ConvertToUnicode(vI_main.preferences.getCharPref("smart_reply_defaultFullName"))
    332337            if (smart_reply_defaultFullName != "") {
    333338                for (var index = 0; index < smartIdentities.number; index++) {
     
    343348            /* if match replace FullName with existing one, keep identity in list by now        */
    344349            /* will not be added to the menu but probably choosen with __smartIdentitySelection     */
    345             if (vI.preferences.getBoolPref("smart_reply_ignoreFullName")) {
     350            if (vI_main.preferences.getBoolPref("smart_reply_ignoreFullName")) {
    346351                vI_notificationBar.dump("## vI_smartIdentity: compare with existing Identities (ignoring FullNames).\n")
    347352           
     
    362367   
    363368    __smartIdentitySelection : function(allIdentities, autocreate) {
    364         document.getElementById("msgIdentity_clone").addIdentitiesToCloneMenu(allIdentities);
    365 
    366369        /* compare with existing Identities                                     */
    367370        for (var index = 0; index < allIdentities.number; index++) {
    368             if (allIdentities.identityDataCollection[index].isExistingIdentity(true)) {
     371            var existingID = allIdentities.identityDataCollection[index].isExistingIdentity(true);
     372            if (existingID) {
     373                allIdentities.identityDataCollection[index].id.key = existingID;    // set found identity
    369374                // if 'preferExisting' than select it and return
    370                 if (vI.preferences.getBoolPref("idSelection_preferExisting")) {
     375                if (vI_main.preferences.getBoolPref("idSelection_preferExisting")) {
    371376                    vI_notificationBar.dump("## vI_smartIdentity: found existing Identity, use without interaction.\n");
     377                    // add all Indentities to Clone Menu before selecting and leaving the function
     378                    document.getElementById("msgIdentity_clone").addIdentitiesToCloneMenu(allIdentities);
    372379                    vI_smartIdentity.changeIdentityToSmartIdentity(allIdentities, index);
    373380                    return;
    374381                }
    375382                // else reorder list of Identities to prefer it on autoselect
     383                // has to be done before Identities are added to the Menu
    376384                vI_notificationBar.dump("## vI_smartIdentity: found existing Identity, prefer this one.\n");
    377385                var firstIdentity = allIdentities.identityDataCollection[index];
     
    384392        }
    385393       
    386         if (!autocreate && vI.preferences.getBoolPref("idSelection_ask") &&
    387             ((allIdentities.number == 1 && vI.preferences.getBoolPref("idSelection_ask_always"))
     394        document.getElementById("msgIdentity_clone").addIdentitiesToCloneMenu(allIdentities);
     395
     396        if (!autocreate && vI_main.preferences.getBoolPref("idSelection_ask") &&
     397            ((allIdentities.number == 1 && vI_main.preferences.getBoolPref("idSelection_ask_always"))
    388398                || allIdentities.number > 1)) {
    389399            for (var index = 0; index < allIdentities.number; index++) {
     
    391401                    + "(" + allIdentities.identityDataCollection[index].id.value + "," + allIdentities.identityDataCollection[index].smtp.value + ")\n");
    392402            }
    393             window.openDialog("chrome://v_identity/content/vI_smartReplyDialog.xul",0, // give the Dialog a unique id
     403            window.openDialog("chrome://v_identity/content/vI_smartReplyDialog.xul",0,
    394404                    "chrome, dialog, modal, alwaysRaised, resizable=yes",
    395405                     allIdentities,
    396406                    /* callback: */ vI_smartIdentity.changeIdentityToSmartIdentity).focus();
    397407        }
    398         else if (autocreate || vI.preferences.getBoolPref("idSelection_autocreate")) {
     408        else if (autocreate || vI_main.preferences.getBoolPref("idSelection_autocreate")) {
    399409            vI_smartIdentity.changeIdentityToSmartIdentity(allIdentities, 0);
    400410        }   
     
    406416        document.getElementById("msgIdentity_clone").selectedMenuItem = allIdentities.menuItems[selectedValue];
    407417        if (document.getElementById("msgIdentity_clone").vid) {
    408             var label=vI.elements.strings.getString("vident.smartIdentity.vIUsage");
     418            var label=vI_main.elements.strings.getString("vident.smartIdentity.vIUsage");
    409419            if (allIdentities.number > 1) label += " "
    410                 + vI.elements.strings.getString("vident.smartIdentity.moreThanOne");
     420                + vI_main.elements.strings.getString("vident.smartIdentity.moreThanOne");
    411421            vI_notificationBar.addNote(label + ".", "smart_reply_notification");
    412422        }
     
    415425   
    416426    __removeSmartIdentityFromRecipients : function(allIdentities, index) {
    417         if (!vI.preferences.getBoolPref("idSelection_removeSmartIdentityFromRecipients")) return;
     427        if (!vI_main.preferences.getBoolPref("idSelection_removeSmartIdentityFromRecipients")) return;
    418428       
    419429        // check if selected email is defined as doBcc address. If so, it should not be removed.
    420430        var skip_bcc = false;
    421431        if (getCurrentIdentity().doBcc) {
    422             var bcc_addresses = new identityCollection();
     432            var bcc_addresses = new vI_identityCollection();
    423433            vI_smartIdentity.__parseHeadersWithArray(getCurrentIdentity().doBccList, bcc_addresses);
    424434           
     
    453463                    awCleanupRows()
    454464                    vI_notificationBar.addNote(" " +
    455                         vI.elements.strings.getString("vident.smartIdentity.remRecipient"),
     465                        vI_main.elements.strings.getString("vident.smartIdentity.remRecipient"),
    456466                        "smart_reply_notification");
    457467                    break;
  • chrome/content/v_identity/vI_statusmenu.js

    r8e5aff rc05d83  
    145145        var sourceString = "vident.statusText.save." + save;
    146146        if (smtp != "off") sourceString = sourceString + ".smtp"
    147         var messageLine1 = vI.elements.strings.getString(sourceString + ".line1");
    148         var messageLine2 = vI.elements.strings.getString(sourceString + ".line2");
     147        var messageLine1 = vI_main.elements.strings.getString(sourceString + ".line1");
     148        var messageLine2 = vI_main.elements.strings.getString(sourceString + ".line2");
    149149        if (!messageLine2) {
    150150            vI_statusmenu.objStatusText.setAttribute("label", messageLine1);
  • chrome/content/v_identity/vI_storage.js

    r8e5aff rc05d83  
    3030var vI_storage = {
    3131    multipleRecipients : null,
     32    focusedElement : null,
    3233   
    3334    lastCheckedEmail : {},  // array of last checked emails per row,
     
    6667        vI_notificationBar.dump("\n## vI_storage: awOnBlur '" + element.id +"'\n");
    6768        vI_storage.updateVIdentityFromStorage(element);
     69        vI_storage.focusedElement = null;
     70    },
     71
     72    awOnFocus : function (element) {
     73        if (!element || ! element.id.match(/^addressCol2*/)) return;
     74        vI_storage.focusedElement = element;
    6875    },
    6976
     
    8996                    input.setAttribute("onblur", (oldBlur?oldBlur+"; ":"") +
    9097                        "window.setTimeout(vI_storage.awOnBlur, 250, this.parentNode.parentNode.parentNode);")
     98                    var oldFocus = input.getAttribute("onfocus")
     99                    input.setAttribute("onfocus", (oldFocus?oldFocus+"; ":"") +
     100                        "window.setTimeout(vI_storage.awOnFocus, 250, this.parentNode.parentNode.parentNode);")
    91101                }
    92102                var popup = awGetPopupElement(row);
     
    106116        const enigmail_ID="{847b3a00-7ab1-11d4-8f02-006008948af5}"
    107117        if (!vI_helper.extensionActive(enigmail_ID)) {
    108             vI.preferences.setBoolPref("storageExtras_openPGP_messageEncryption", false)
    109             vI.preferences.setBoolPref("storageExtras_openPGP_messageSignature", false)
    110             vI.preferences.setBoolPref("storageExtras_openPGP_PGPMIME", false)
     118            vI_main.preferences.setBoolPref("storageExtras_openPGP_messageEncryption", false)
     119            vI_main.preferences.setBoolPref("storageExtras_openPGP_messageSignature", false)
     120            vI_main.preferences.setBoolPref("storageExtras_openPGP_PGPMIME", false)
    111121        }
    112122    },
     
    115125    firstUsedInputElement : null,   // this stores the first Element for which a Lookup in the Storage was successfull
    116126    updateVIdentityFromStorage: function(inputElement) {       
    117         if (!vI.preferences.getBoolPref("storage"))
     127        if (!vI_main.preferences.getBoolPref("storage"))
    118128            { vI_notificationBar.dump("## vI_storage: Storage deactivated\n"); return; }
    119129        vI_notificationBar.dump("## vI_storage: updateVIdentityFromStorage()\n");
     
    142152
    143153        var matchResults = { storageData : {}, menuItem : {} };
    144         matchResults.storageData[0] = vI_rdfDatasource.readVIdentityFromRDF(recipient.recDesc, recipient.recType),
     154        matchResults.storageData[0] = vI_rdfDatasource.readVIdentityFromRDF(recipient.recDesc, recipient.recType);
    145155        matchResults.storageData[1] = vI_rdfDatasource.findMatchingFilter(recipient.recDesc);
    146156
     157        vI_notificationBar.dump("## vI_storage: updateVIdentityFromStorage add found Identities to CloneMenu.\n");
    147158        var matchIndex = null;
    148159        for (var i = 0; i <= 1; i++) {
    149             if (matchResults.storageData[i]) {
    150                 if (matchIndex == null) matchIndex = i;
     160            if (matchResults.storageData[i]) {          // check if there is a result in direct match or filter
     161                if (matchIndex == null) matchIndex = i;     // prefer direct match instead of filter
    151162                matchResults.menuItem[i] = document.getElementById("msgIdentity_clone")
    152163                                .addIdentityToCloneMenu(matchResults.storageData[i]);
    153164            }
    154165        }
    155         if (matchIndex == null) return;
    156        
     166        if (matchIndex == null) {
     167            vI_notificationBar.dump("## vI_storage: updateVIdentityFromStorage no usable Storage-Data found.\n");
     168            return;
     169        }
     170        else {
     171            vI_notificationBar.dump("## vI_storage: using data from " + ((matchIndex == 0)?"direct":"filter") + " match\n");
     172        }
    157173        // found storageData, so store InputElement
    158174        if (!vI_storage.firstUsedInputElement) vI_storage.firstUsedInputElement = inputElement;
    159175       
    160176        vI_notificationBar.dump("## vI_storage: compare with current Identity\n");
    161         if (vI.preferences.getBoolPref("storage_getOneOnly") &&
    162             vI_storage.firstUsedInputElement &&
    163             vI_storage.firstUsedInputElement != inputElement &&
    164             !matchResults.storageData[matchIndex].equalsCurrentIdentity(false).equal)
    165                 vI_notificationBar.setNote(vI.elements.strings
    166                     .getString("vident.smartIdentity.vIStorageCollidingIdentity"),
     177        if (vI_main.preferences.getBoolPref("storage_getOneOnly") &&                    // if requested to retrieve only storageID for first recipient entered
     178            vI_storage.firstUsedInputElement &&                     // and the request for the first recipient was already done
     179            vI_storage.firstUsedInputElement != inputElement &&             // and it's not the same element we changed now
     180            !matchResults.storageData[matchIndex].equalsCurrentIdentity(false).equal)   // and this id is different than the current used one
     181                vI_notificationBar.setNote(vI_main.elements.strings
     182                    .getString("vident.smartIdentity.vIStorageCollidingIdentity"),  // than drop the potential changes
    167183                    "storage_notification");
    168184        // only update fields if new Identity is different than old one.
    169185        else {
     186            vI_notificationBar.dump("## vI_storage: updateVIdentityFromStorage check if storage-data matches current Identity.\n");
    170187            var compResult = matchResults.storageData[matchIndex].equalsCurrentIdentity(true);
    171188            if (!compResult.equal) {
     
    173190                var msgIdentityCloneElem = document.getElementById("msgIdentity_clone")
    174191                if (    !msgIdentityCloneElem.vid ||
    175                     !vI.preferences.getBoolPref("storage_warn_vI_replace") ||
     192                    !vI_main.preferences.getBoolPref("storage_warn_vI_replace") ||
    176193                    (vI_storage.__askWarning(warning) == "accept")) {
    177194                        msgIdentityCloneElem.selectedMenuItem = matchResults.menuItem[matchIndex];
    178195                        if (msgIdentityCloneElem.vid)
    179                             vI_notificationBar.setNote(vI.elements.strings.getString("vident.smartIdentity.vIStorageUsage") + ".",
     196                            vI_notificationBar.setNote(vI_main.elements.strings.getString("vident.smartIdentity.vIStorageUsage") + ".",
    180197                            "storage_notification");
    181198                }
     199            }
     200            else {
     201                vI_notificationBar.dump("## vI_storage: updateVIdentityFromStorage doing nothing - equals current Identity.\n");
    182202            }
    183203        }
     
    195215        if (msgType != nsIMsgCompDeliverMode.Now) return true;
    196216        vI_notificationBar.dump("## vI_storage: ----------------------------------------------------------\n")
    197         if (!vI.preferences.getBoolPref("storage"))
     217        if (!vI_main.preferences.getBoolPref("storage"))
    198218            { vI_notificationBar.dump("## vI_storage: Storage deactivated\n"); return true; }
    199219       
     
    234254    __getWarning : function(warningCase, recipient, compareMatrix) {
    235255        var warning = { title: null, recLabel : null, recipient : null, warning : null, css: null, query : null, class : null };
    236         warning.title = vI.elements.strings.getString("vident." + warningCase + ".title")
    237         warning.recLabel = vI.elements.strings.getString("vident." + warningCase + ".recipient") + " (" + recipient.recType + "):"
     256        warning.title = vI_main.elements.strings.getString("vident." + warningCase + ".title")
     257        warning.recLabel = vI_main.elements.strings.getString("vident." + warningCase + ".recipient") + " (" + recipient.recType + "):"
    238258        warning.recipient = recipient.recDesc;
    239259        warning.warning =
    240260            "<table class='" + warningCase + "'><thead><tr><th class='col1'/>" +
    241                 "<th class='col2'>" + vI.elements.strings.getString("vident." + warningCase + ".currentIdentity") + "</th>" +
    242                 "<th class='col3'>" + vI.elements.strings.getString("vident." + warningCase + ".storedIdentity") + "</th>" +
     261                "<th class='col2'>" + vI_main.elements.strings.getString("vident." + warningCase + ".currentIdentity") + "</th>" +
     262                "<th class='col3'>" + vI_main.elements.strings.getString("vident." + warningCase + ".storedIdentity") + "</th>" +
    243263            "</tr></thead>" +
    244264            "<tbody>" + compareMatrix + "</tbody>" +
    245265            "</table>"
    246266        warning.css = "vI_DialogBrowser.css";
    247         warning.query = vI.elements.strings.getString("vident." + warningCase + ".query");
     267        warning.query = vI_main.elements.strings.getString("vident." + warningCase + ".query");
    248268        warning.class = warningCase;
    249269        return warning;
     
    252272    __askWarning : function(warning) {
    253273        var retVar = { returnValue: null };
    254         var answer = window.openDialog("chrome://v_identity/content/vI_Dialog.xul",0,
     274        var answer = window.openDialog("chrome://v_identity/content/vI_Dialog.xul","",
    255275                    "chrome, dialog, modal, alwaysRaised, resizable=yes",
    256276                     warning, retVar)
     
    260280    __updateStorageFromVIdentity : function(recipient, recipientType) {
    261281        vI_notificationBar.dump("## vI_storage: __updateStorageFromVIdentity.\n")
    262         var dontUpdateMultipleNoEqual = (vI.preferences.getBoolPref("storage_dont_update_multiple") &&
     282        var dontUpdateMultipleNoEqual = (vI_main.preferences.getBoolPref("storage_dont_update_multiple") &&
    263283                    vI_storage.multipleRecipients)
    264284        vI_notificationBar.dump("## vI_storage: __updateStorageFromVIdentity dontUpdateMultipleNoEqual='" + dontUpdateMultipleNoEqual + "'\n")
     
    279299            vI_notificationBar.dump("## vI_storage: __updateStorageFromVIdentity updating\n")
    280300            var doUpdate = "accept";
    281             if (storageDataByType && !storageDataByTypeEqual && vI.preferences.getBoolPref("storage_warn_update")) {
     301            if (storageDataByType && !storageDataByTypeEqual && vI_main.preferences.getBoolPref("storage_warn_update")) {
    282302                vI_notificationBar.dump("## vI_storage: __updateStorageFromVIdentity overwrite warning\n");
    283303                doUpdate = vI_storage.__askWarning(vI_storage.__getWarning("updateStorage", recipient, storageDataByTypeCompResult.compareMatrix));
     304                if (doUpdate == "takeover") {
     305                    var msgIdentityCloneElem = document.getElementById("msgIdentity_clone");
     306                    msgIdentityCloneElem.selectedMenuItem = msgIdentityCloneElem.addIdentityToCloneMenu(storageDataByType);
     307                    return false;
     308                }
    284309                if (doUpdate == "abort") return false;
    285310            }
     
    356381        var recipientType = awGetPopupElement(row).selectedItem.getAttribute("value");
    357382        if (recipientType != "addr_bcc" || !getCurrentIdentity().doBcc) return false
    358         var doBccArray = gMsgCompose.compFields.SplitRecipients(getCurrentIdentity().doBccList, false);
     383
     384        var doBccArray;
     385        if (typeof(gMsgCompose.compFields.SplitRecipients)=="function")
     386            doBccArray = gMsgCompose.compFields.SplitRecipients(getCurrentIdentity().doBccList, false); // TB 2.x
     387        else    doBccArray = gMsgCompose.compFields.splitRecipients(getCurrentIdentity().doBccList, false, {}); // TB 3.x
     388
    359389        for (var index = 0; index < doBccArray.count; index++ ) {
    360390            if (doBccArray.StringAt(index) == awGetInputElement(row).value) {
     
    368398
    369399    getVIdentityFromAllRecipients : function(allIdentities) {
    370         if (!vI.preferences.getBoolPref("storage"))
     400        if (!vI_main.preferences.getBoolPref("storage"))
    371401            { vI_notificationBar.dump("## vI_storage: Storage deactivated\n"); return; }
    372402        vI_notificationBar.dump("## vI_storage: getVIdentityFromAllRecipients()\n");
  • chrome/content/v_identity/vI_storageExtras.js

    r8e5aff rc05d83  
    267267        // read the value from the internal vI object, global object might not be available any more
    268268        // happens especially while storing after sending the message
    269         this.value = vI.gMsgCompose.compFields.characterSet;
     269        this.value = vI_main.gMsgCompose.compFields.characterSet;
    270270        if (gCharsetConvertManager) {
    271271            var charsetAlias = gCharsetConvertManager.getCharsetAlias(this.value);
     
    468468        if (!this.value || !element) return;
    469469        if (this.updateFunction) eval(this.updateFunction);
     470
    470471        if ((element.getAttribute("checked") == "true") != (this.value == "true")) {
    471             if (this.value == "true") element.setAttribute("checked","true");
    472             else element.removeAttribute("checked");
     472            vI_notificationBar.dump("## vI_storageExtras change "+ this.field + " to " + this.value + " with doCommand\n");
    473473            element.doCommand();
    474474        }
  • chrome/content/v_identity/vI_storageExtrasDataEditorOverlay.xul

    r8e5aff rc05d83  
    8181            </template>
    8282            <menupopup>
    83                 <menuitem name="charsetCustomize" accesskey="&charsetCustomize.accesskey;" label="&charsetCustomize.label;" oncommand="window.openDialog('chrome://global/content/customizeCharset.xul','PrefWindow', 'chrome,modal=yes,resizable=yes', 'mailedit')"/>
     83                <menuitem name="charsetCustomize" accesskey="&charsetCustomize.accesskey;" label="&charsetCustomize.label;" oncommand="window.openDialog('chrome://global/content/customizeCharset.xul','PrefWindow', 'chrome, dialog, modal, alwaysRaised, resizable=yes', 'mailedit')"/>
    8484                <menuseparator />
    8585            </menupopup>
  • chrome/content/v_identity/vI_upgrade.js

    r8e5aff rc05d83  
    298298        //~ alert(splitted.email + "++" + splitted.name + "++" + splitted.combinedName)
    299299       
    300         var localIdentityData = new identityData(splitted.email, splitted.name, id, smtp, null)
     300        var localIdentityData = new vI_identityData(splitted.email, splitted.name, id, smtp, null)
    301301       
    302302        vI_rdfDatasource.updateRDF(vI_helper.combineNames(Card.displayName, Card.primaryEmail),
  • chrome/content/v_identity/vI_upgradeOverlay.js

    r8e5aff rc05d83  
    2828        if (vI_rdfDatasource.rdfUpgradeRequired() || vI_rdfDatasource.extUpgradeRequired()) {
    2929            if (!vI_upgrade.quick_upgrade())
    30                 window.open("chrome://v_identity/content/vI_upgrade.xul",0, // give the Dialog a unique id
    31                 "chrome, dialog, alwaysRaised, resizable=yes").focus();
     30                window.open("chrome://v_identity/content/vI_upgrade.xul",0,
     31                    "chrome, dialog, modal, alwaysRaised, resizable=yes").focus();
    3232        }
    3333        else {
  • chrome/content/v_identity/v_identity.js

    r8e5aff rc05d83  
    2323 * ***** END LICENSE BLOCK ***** */
    2424
    25 var vI = {
     25var vI_main = {
    2626    preferences : Components.classes["@mozilla.org/preferences-service;1"]
    2727            .getService(Components.interfaces.nsIPrefService)
     
    4646    elements : {
    4747        init_base : function() {
    48             vI.elements.Area_MsgIdentityHbox = document.getElementById("msgIdentityHbox");
    49             vI.elements.Obj_MsgIdentity = document.getElementById("msgIdentity");
     48            vI_main.elements.Area_MsgIdentityHbox = document.getElementById("msgIdentityHbox");
     49            vI_main.elements.Obj_MsgIdentity = document.getElementById("msgIdentity");
    5050        },
    5151        init_rest : function() {
    52             vI.elements.Obj_MsgIdentityPopup = document.getElementById("msgIdentityPopup");
    53             vI.elements.Obj_vILogo = document.getElementById("v_identity_logo");
    54             vI.elements.strings = document.getElementById("vIdentBundle");
     52            vI_main.elements.Obj_MsgIdentityPopup = document.getElementById("msgIdentityPopup");
     53            vI_main.elements.Obj_vILogo = document.getElementById("v_identity_logo");
     54            vI_main.elements.strings = document.getElementById("vIdentBundle");
    5555        },
    5656        strings : null
     
    6060        NotifyComposeBodyReady: function() {
    6161            vI_notificationBar.dump("## v_identity: NotifyComposeBodyReady\n");
    62             if (!vI_helper.olderVersion("TB", "2.0a")) vI.initSystemStage2();
     62            if (!vI_helper.olderVersion("TB", "2.0a")) vI_main.initSystemStage2();
    6363        },
    6464        NotifyComposeFieldsReady: function() {
    6565            vI_notificationBar.dump("## v_identity: NotifyComposeFieldsReady\n");
    66             if (vI_helper.olderVersion("TB", "2.0a")) vI.initSystemStage2();
     66            if (vI_helper.olderVersion("TB", "2.0a")) vI_main.initSystemStage2();
    6767        },
    6868        ComposeProcessDone: function(aResult) {
    6969            vI_notificationBar.dump("## v_identity: StateListener reports ComposeProcessDone\n");
    70             vI.Cleanup(); // not really required, parallel handled by vI.close
     70            vI_main.Cleanup(); // not really required, parallel handled by vI_main.close
    7171            vI_storage.clean();
    7272        },
    7373        SaveInFolderDone: function(folderURI) {
    7474            vI_notificationBar.dump("## v_identity: SaveInFolderDone\n");
    75             vI.Cleanup();
     75            vI_main.Cleanup();
    7676            vI_storage.clean();
    7777        }
     
    131131        GenericSendMessageInProgress : false,
    132132        GenericSendMessage: function (msgType) {
    133             if (vI.replacement_functions.GenericSendMessageInProgress) return;
    134             vI.replacement_functions.GenericSendMessageInProgress = true;
     133            if (vI_main.replacement_functions.GenericSendMessageInProgress) return;
     134            vI_main.replacement_functions.GenericSendMessageInProgress = true;
    135135           
     136            // if addressCol2 is focused while sending check storage for the entered address before continuing
     137            vI_storage.awOnBlur(vI_storage.focusedElement);
     138
    136139            var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
    137140                .getService(Components.interfaces.nsIPromptService);
     
    146149                    var name = gAccountManager.defaultAccount.defaultIdentity.fullName
    147150                    var email = gAccountManager.defaultAccount.defaultIdentity.email
    148                     var query = vI.elements.strings.getString("vident.sendLater.warning") +
    149                         vI.elements.strings.getString("vident.sendLater.prefix") +
     151                    var query = vI_main.elements.strings.getString("vident.sendLater.warning") +
     152                        vI_main.elements.strings.getString("vident.sendLater.prefix") +
    150153                        name + " " + email + " [" + server + "]" +
    151                         vI.elements.strings.getString("vident.sendLater.postfix")
     154                        vI_main.elements.strings.getString("vident.sendLater.postfix")
    152155                   
    153156                    if (!promptService.confirm(window,"Error",query)) {
    154                         vI.replacement_functions.GenericSendMessageInProgress = false;
     157                        vI_main.replacement_functions.GenericSendMessageInProgress = false;
    155158                        return;
    156159                    }
     
    159162            }
    160163            else {
    161                 if ( (vid && vI.preferences.getBoolPref("warn_virtual") &&
     164                if ( (vid && vI_main.preferences.getBoolPref("warn_virtual") &&
    162165                    !(promptService.confirm(window,"Warning",
    163                         vI.elements.strings.getString("vident.sendVirtual.warning")))) ||
    164                   (!vid && vI.preferences.getBoolPref("warn_nonvirtual") &&
     166                        vI_main.elements.strings.getString("vident.sendVirtual.warning")))) ||
     167                  (!vid && vI_main.preferences.getBoolPref("warn_nonvirtual") &&
    165168                    !(promptService.confirm(window,"Warning",
    166                         vI.elements.strings.getString("vident.sendNonvirtual.warning")))) ) {
    167                     vI.replacement_functions.GenericSendMessageInProgress = false;
     169                        vI_main.elements.strings.getString("vident.sendNonvirtual.warning")))) ) {
     170                    vI_main.replacement_functions.GenericSendMessageInProgress = false;
    168171                    return;
    169172                }
    170173                if (!vI_storage.storeVIdentityToAllRecipients(msgType)) {
    171174//                  vI_notificationBar.dump("## v_identity: sending aborted\n");
    172                     vI.replacement_functions.GenericSendMessageInProgress = false;
     175                    vI_main.replacement_functions.GenericSendMessageInProgress = false;
    173176                    return;
    174177                }
    175178                vI_msgIdentityCloneTools.addReplyToSelf();
    176179            }
    177             if (vid) vI.prepareAccount();
    178             vI.replacement_functions.GenericSendMessageInProgress = false;
     180            if (vid) vI_main.prepareAccount();
     181            vI_main.replacement_functions.GenericSendMessageInProgress = false;
    179182//          vI_notificationBar.dump("## v_identity: original_functions.GenericSendMessage\n");
    180             vI.original_functions.GenericSendMessage(msgType);
    181 
     183
     184            // final check if eyerything is nice before we handover to the real sending...
     185            var virtualIdentityData = document.getElementById("msgIdentity_clone").identityData;
     186            var currentIdentity = getCurrentIdentity();
     187            var currentSMTPobj = new vI_smtpObj(currentIdentity.smtpServerKey);
     188           
     189            vI_notificationBar.dump("\n## vI_identityData GenericSendMessage Final Check\n");
     190            vI_notificationBar.dump("## vI_identityData currentIdentity: fullName='" + currentIdentity.fullName + "' email='" + currentIdentity.email + "' smtp='" + currentSMTPobj.key + "'\n");
     191            vI_notificationBar.dump("## vI_identityData virtualIdentityData: fullName='" + virtualIdentityData.fullName + "' email='" + virtualIdentityData.email + "' smtp='" + virtualIdentityData.smtp.key + "'\n");
     192
     193            if  (currentIdentity.fullName.toLowerCase() == virtualIdentityData.fullName.toLowerCase()   &&
     194                currentIdentity.email.toLowerCase() == virtualIdentityData.email.toLowerCase()      &&
     195                virtualIdentityData.smtp.equal(currentSMTPobj)  ) {
     196                    vI_main.original_functions.GenericSendMessage(msgType);
     197            }
     198            else {
     199                if (!(currentIdentity.fullName.toLowerCase() == virtualIdentityData.fullName.toLowerCase())) vI_notificationBar.dump("\n## vI_identityData failed check for fullName.\n");
     200                if (!(currentIdentity.email.toLowerCase() == virtualIdentityData.email.toLowerCase())) vI_notificationBar.dump("\n## vI_identityData failed check for email.\n");
     201                if (!(virtualIdentityData.smtp.equal(currentSMTPobj))) vI_notificationBar.dump("\n## vI_identityData failed check for SMTP.\n");
     202                alert(vI_main.elements.strings.getString("vident.genericSendMessage.error"));
     203                vI_main.Cleanup();
     204            }
    182205//          vI_notificationBar.dump("## v_identity: original_functions.GenericSendMessage done\n");
    183206        },
     
    186209            if (typeof(FillIdentityList)=="function") {
    187210                //~ vI_notificationBar.dump("## v_identity: replace FillIdentityList (TB 3.x)\n");
    188                 vI.original_functions.FillIdentityList = FillIdentityList;
    189                 FillIdentityList = vI.replacement_functions.FillIdentityList;
     211                vI_main.original_functions.FillIdentityList = FillIdentityList;
     212                FillIdentityList = vI_main.replacement_functions.FillIdentityList;
    190213            }
    191214            else {
    192215                //~ vI_notificationBar.dump("## v_identity: replace FillIdentityListPopup (TB 2.x)\n");
    193                 vI.original_functions.FillIdentityListPopup = FillIdentityListPopup;
    194                 FillIdentityListPopup = vI.replacement_functions.FillIdentityListPopup;
     216                vI_main.original_functions.FillIdentityListPopup = FillIdentityListPopup;
     217                FillIdentityListPopup = vI_main.replacement_functions.FillIdentityListPopup;
    195218            }
    196219        }
     
    198221
    199222    remove: function() {
    200         window.removeEventListener('compose-window-reopen', vI.reopen, true);
    201         window.removeEventListener('compose-window-close', vI.close, true);
     223        window.removeEventListener('compose-window-reopen', vI_main.reopen, true);
     224        window.removeEventListener('compose-window-close', vI_main.close, true);
    202225        vI_notificationBar.dump("## v_identity: end. remove Account if there.\n")
    203         vI.Cleanup();
     226        vI_main.Cleanup();
    204227        vI_storage.clean();
    205228    },
     
    207230    // initialization //
    208231    init: function() {
    209         window.removeEventListener('load', vI.init, false);
    210         window.removeEventListener('compose-window-init', vI.init, true);
    211         if (vI.elements.Area_MsgIdentityHbox) return; // init done before, (?reopen)
     232        window.removeEventListener('load', vI_main.init, false);
     233        window.removeEventListener('compose-window-init', vI_main.init, true);
     234        if (vI_main.elements.Area_MsgIdentityHbox) return; // init done before, (?reopen)
    212235        vI_notificationBar.dump("\n## v_identity: init.\n")
    213         vI.unicodeConverter.charset="UTF-8";
    214         vI.adapt_interface();
    215         vI.adapt_genericSendMessage();
    216         gMsgCompose.RegisterStateListener(vI.ComposeStateListener);
     236        vI_main.unicodeConverter.charset="UTF-8";
     237        if (!vI_main.adapt_genericSendMessage()) { vI_notificationBar.dump("\n## v_identity: init failed.\n"); return; }
     238        vI_main.adapt_interface();
     239        gMsgCompose.RegisterStateListener(vI_main.ComposeStateListener);
    217240        document.getElementById("vI_tooltipPopupset")
    218241            .addTooltip(document.getElementById("msgIdentity_clone"), false);
    219         window.addEventListener('compose-window-reopen', vI.reopen, true);
    220         window.addEventListener('compose-window-close', vI.close, true);
    221         vI.initSystemStage1();
     242        window.addEventListener('compose-window-reopen', vI_main.reopen, true);
     243        window.addEventListener('compose-window-close', vI_main.close, true);
     244       
     245        // append observer to fcc_switch, because it does'n work with real identities (hidden by css)
     246        document.getElementById("fcc_switch").appendChild(document.getElementById("msgIdentity_clone_observer").cloneNode(false));
     247
     248        vI_main.initSystemStage1();
    222249        vI_notificationBar.dump("## v_identity: init done.\n\n")
    223250    },
     
    225252    initSystemStage1 : function() {
    226253        vI_notificationBar.dump("## v_identity: initSystemStage1.\n")
    227         vI.gMsgCompose = gMsgCompose;
     254        vI_main.gMsgCompose = gMsgCompose;
    228255        document.getElementById("msgIdentity_clone").init();
    229256        vI_statusmenu.init();
     
    238265   
    239266    close : function() {
    240         vI.Cleanup();
     267        vI_main.Cleanup();
    241268        vI_storage.clean();
    242269    },
    243270   
    244271    adapt_interface : function() {
    245         if (vI.elements.strings) return; // only rearrange the interface once
     272        if (vI_main.elements.strings) return; // only rearrange the interface once
    246273       
    247274        // initialize the pointers to extension elements
    248         vI.elements.init_base()
     275        vI_main.elements.init_base()
    249276       
    250277        // rearrange the positions of some elements
    251         var parent_hbox = vI.elements.Obj_MsgIdentity.parentNode;
     278        var parent_hbox = vI_main.elements.Obj_MsgIdentity.parentNode;
    252279        var storage_box = document.getElementById("addresses-box");
    253280        var autoReplyToSelfLabel = document.getElementById("autoReplyToSelfLabel");
     
    255282        storage_box.removeChild(autoReplyToSelfLabel);
    256283        parent_hbox.appendChild(autoReplyToSelfLabel);
    257         storage_box.removeChild(vI.elements.Area_MsgIdentityHbox);
    258         parent_hbox.appendChild(vI.elements.Area_MsgIdentityHbox);
    259 
    260         vI.elements.Obj_MsgIdentity.setAttribute("hidden", "true");
    261         vI.elements.Obj_MsgIdentity.previousSibling.setAttribute("control", "msgIdentity_clone");
     284        storage_box.removeChild(vI_main.elements.Area_MsgIdentityHbox);
     285        parent_hbox.appendChild(vI_main.elements.Area_MsgIdentityHbox);
     286
     287        vI_main.elements.Obj_MsgIdentity.setAttribute("hidden", "true");
     288        vI_main.elements.Obj_MsgIdentity.previousSibling.setAttribute("control", "msgIdentity_clone");
    262289       
    263290        // initialize the pointers to extension elements (initialize those earlier might brake the interface)
    264         vI.elements.init_rest();   
     291        vI_main.elements.init_rest();   
    265292    },
    266293   
    267294    adapt_genericSendMessage : function() {
    268         if (vI.original_functions.GenericSendMessage) return; // only initialize this once
     295        if (vI_main.original_functions.GenericSendMessage) return true; // only initialize this once
    269296        vI_notificationBar.dump("## v_identity: adapt GenericSendMessage\n");
    270         vI.original_functions.GenericSendMessage = GenericSendMessage;
    271         GenericSendMessage = vI.replacement_functions.GenericSendMessage;
     297        vI_main.original_functions.GenericSendMessage = GenericSendMessage;
     298        GenericSendMessage = vI_main.replacement_functions.GenericSendMessage;
     299        return true;
    272300    },
    273301   
     
    283311       
    284312        // now (re)init the elements
    285         vI.initSystemStage1();
     313        vI_main.initSystemStage1();
    286314       
    287315        // stateListener only works in reply-cases
     
    297325            case msgComposeType.ForwardAsAttachment:
    298326            case msgComposeType.ForwardInline:
    299                 vI.initSystemStage2(); break;
     327                vI_main.initSystemStage2(); break;
    300328            case msgComposeType.Reply:
    301329            case msgComposeType.ReplyAll:
     
    304332            case msgComposeType.ReplyToSenderAndGroup:
    305333            case msgComposeType.ReplyWithTemplate:
    306                 gMsgCompose.RegisterStateListener(vI.ComposeStateListener);
     334            case msgComposeType.ReplyToList:
     335                gMsgCompose.RegisterStateListener(vI_main.ComposeStateListener);
    307336        }
    308337        vI_notificationBar.dump("## v_identity: reopen done.\n")
     
    312341
    313342    __setSelectedIdentity : function(menuItem) {
    314         vI.elements.Obj_MsgIdentity.selectedItem = menuItem;
    315         vI.elements.Obj_MsgIdentity.setAttribute("label", menuItem.getAttribute("label"));
    316         vI.elements.Obj_MsgIdentity.setAttribute("accountname", menuItem.getAttribute("accountname"));
    317         vI.elements.Obj_MsgIdentity.setAttribute("value", menuItem.getAttribute("value"));
     343        vI_main.elements.Obj_MsgIdentity.selectedItem = menuItem;
     344        vI_main.elements.Obj_MsgIdentity.setAttribute("label", menuItem.getAttribute("label"));
     345        vI_main.elements.Obj_MsgIdentity.setAttribute("accountname", menuItem.getAttribute("accountname"));
     346        vI_main.elements.Obj_MsgIdentity.setAttribute("value", menuItem.getAttribute("value"));
    318347    },
    319348
     
    321350    addVirtualIdentityToMsgIdentityMenu : function()
    322351    {
    323         vI.tempStorage.BaseIdentity = vI.elements.Obj_MsgIdentity.selectedItem;
    324         vI.tempStorage.NewIdentity = document.createElement("menuitem");
    325         vI.tempStorage.NewIdentity.className = "identity-popup-item";
     352        vI_main.tempStorage.BaseIdentity = vI_main.elements.Obj_MsgIdentity.selectedItem;
     353        vI_main.tempStorage.NewIdentity = document.createElement("menuitem");
     354        vI_main.tempStorage.NewIdentity.className = "identity-popup-item";
    326355       
    327356        // set the account name in the choosen menu item
    328         vI.tempStorage.NewIdentity.setAttribute("label", vI_account.account.defaultIdentity.identityName);
    329         vI.tempStorage.NewIdentity.setAttribute("accountname", " - " +  vI_account.account.incomingServer.prettyName);
    330         vI.tempStorage.NewIdentity.setAttribute("accountkey", vI_account.account.key);
    331         vI.tempStorage.NewIdentity.setAttribute("value", vI_account.account.defaultIdentity.key);
    332        
    333         vI.elements.Obj_MsgIdentityPopup.appendChild(vI.tempStorage.NewIdentity);
    334         vI.__setSelectedIdentity(vI.tempStorage.NewIdentity);
     357        vI_main.tempStorage.NewIdentity.setAttribute("label", vI_account.account.defaultIdentity.identityName);
     358        vI_main.tempStorage.NewIdentity.setAttribute("accountname", " - " +  vI_account.account.incomingServer.prettyName);
     359        vI_main.tempStorage.NewIdentity.setAttribute("accountkey", vI_account.account.key);
     360        vI_main.tempStorage.NewIdentity.setAttribute("value", vI_account.account.defaultIdentity.key);
     361       
     362        vI_main.elements.Obj_MsgIdentityPopup.appendChild(vI_main.tempStorage.NewIdentity);
     363        vI_main.__setSelectedIdentity(vI_main.tempStorage.NewIdentity);
    335364    },
    336365   
    337366    removeVirtualIdentityFromMsgIdentityMenu : function()
    338367    {
    339         if (!vI.tempStorage.BaseIdentity) return; // don't try to remove Item twice
     368        if (!vI_main.tempStorage.BaseIdentity) return; // don't try to remove Item twice
    340369        try {   // might not exist anymore (window closed), so just try to remove it
    341             document.getElementById("msgIdentity").firstChild.removeChild(vI.tempStorage.NewIdentity);
    342             vI.__setSelectedIdentity(vI.tempStorage.BaseIdentity);
     370            document.getElementById("msgIdentity").firstChild.removeChild(vI_main.tempStorage.NewIdentity);
     371            vI_main.__setSelectedIdentity(vI_main.tempStorage.BaseIdentity);
    343372        } catch (e) { };
    344         vI.tempStorage.NewIdentity = null;
    345         vI.tempStorage.BaseIdentity = null;
     373        vI_main.tempStorage.NewIdentity = null;
     374        vI_main.tempStorage.BaseIdentity = null;
    346375    },
    347376
    348377    prepareAccount : function() {
    349         vI.Cleanup(); // just to be sure that nothing is left (maybe last time sending was irregularily stopped)
     378        vI_main.Cleanup(); // just to be sure that nothing is left (maybe last time sending was irregularily stopped)
    350379        vI_account.createAccount();
    351         vI.addVirtualIdentityToMsgIdentityMenu();
     380        vI_main.addVirtualIdentityToMsgIdentityMenu();
    352381    },
    353382
    354383    Cleanup : function() {
    355         vI.removeVirtualIdentityFromMsgIdentityMenu();
     384        vI_main.removeVirtualIdentityFromMsgIdentityMenu();
    356385        vI_account.removeUsedVIAccount();
    357386    }
     
    359388
    360389
    361 vI.replacement_functions.replace_FillIdentityList();
    362 window.addEventListener('load', vI.init, false);        // TB 1.5x, SM
    363 window.addEventListener('compose-window-init', vI.init, true);  // TB 2.x 3.x
     390vI_main.replacement_functions.replace_FillIdentityList();
     391window.addEventListener('load', vI_main.init, false);       // TB 1.5x, SM
     392window.addEventListener('compose-window-init', vI_main.init, true); // TB 2.x 3.x
    364393
    365394window.addEventListener("unload", function(e) { try {vI_statusmenu.removeObserver();} catch (ex) { } }, false);
  • chrome/content/v_identity/v_identity.xml

    r8e5aff rc05d83  
    125125        this.label = this._identityDataStorage.combinedName;
    126126        this.value = this._identityDataStorage.id.key;
    127         vI_notificationBar.dump("** v_identity.xml fromPopupItem_clone constructor id='" + this.value + "'.\n")
     127        // vI_notificationBar.dump("** v_identity.xml fromPopupItem_clone constructor id='" + this.value + "'.\n")
    128128
    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")
     131        // vI_notificationBar.dump("** v_identity.xml fromPopupItem_clone constructor smtp='" + this.smtp + "'.\n")
    132132        this.smtpStyle = "width:" + document.getElementById("smtp_server_list").clientWidth + "px;";
    133133        this._identityDataStorage.smtp.value;
     
    275275                <xul:spacer flex="1" /></xul:vbox>
    276276                <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>
     277                    <xul:label value="&vident.accPane.prettyName.prefix;" class="menu_clone-vid virtIdLabel" xbl:inherits="vid" crop="right"/>
    281278                <xul:spacer flex="1" /></xul:vbox>
    282279                <xul:observes element="vI_statusMenu_storage_save" attribute="checked" />
     
    284281            <xul:hbox id="baseIDHbox" class="baseIDHbox" >
    285282                <xul:vbox><xul:spacer flex="1" />
    286                     <xul:label id="msgIdentity_clone_label" class="menu_clone-description" xbl:inherits="value=description" crop="right"/>
     283                    <xul:hbox>
     284                        <xul:label id="msgIdentity_base_id_label" class="menu_clone-description" xbl:inherits="value,hidden=base_id_key_hidden" crop="right" hidden="true"/>
     285                        <xul:label id="msgIdentity_clone_label" class="menu_clone-description" xbl:inherits="value=description" crop="right"/>
     286                    </xul:hbox>
    287287                <xul:spacer flex="1" /></xul:vbox>
    288288                <xul:vbox id="saveBaseIDSwitch"><xul:spacer flex="1" />
     
    332332        <body><![CDATA[
    333333        vI_notificationBar.dump("\n** v_identity.xml msgIdentityCloneElem.doCommand() \n")
     334        // copy selected Menu-Value from clone to orig.
     335        vI_notificationBar.dump("** v_identity.xmlcopy selected Menu-Value from clone to orig. Searching for id=" + this.selectedMenuItem.identityData.id.key + " \n")
     336       
     337        if ( this.selectedMenuItem.identityData.id.key != null ) {
     338            var MenuItems = this._msgIdentityPopupElem.childNodes
     339            for (var index = 0; index < MenuItems.length; index++) {
     340                if ( MenuItems[index].getAttribute("value") == this.selectedMenuItem.identityData.id.key ) {
     341                    this._msgIdentityElem.selectedItem = MenuItems[index];
     342                    this._msgIdentityElem.value = MenuItems[index].getAttribute("value");
     343                    break;
     344                }
     345            }
     346            this._msgIdentityPopupElem.doCommand();
     347        }
    334348        this.identityData = this.selectedMenuItem.identityData.getDuplicate();
    335        
    336         // copy selected Menu-Value from clone to orig.
    337         var MenuItems = this._msgIdentityPopupElem.childNodes
    338         for (var index = 0; index < MenuItems.length; index++) {
    339             if ( MenuItems[index].getAttribute("value") == this.value ) {
    340                 this._msgIdentityElem.selectedItem = MenuItems[index];
    341                 this._msgIdentityElem.value = MenuItems[index].getAttribute("value");
    342                 break;
    343             }
    344         }
    345         this._msgIdentityPopupElem.doCommand();
    346349       
    347350        // if current SMTP is empty, take the one from current Identity
     
    359362            var identity = gAccountManager.getIdentity(MenuItems[index].getAttribute("value"));
    360363           
    361             var newIdentity = new identityData(identity.email, identity.fullName, identity.key,
    362                         identity.smtpServerKey, null,
    363                         identity.description?"- "+identity.description:identity.accountname)
     364            var description;
     365            var server = gAccountManager.GetServersForIdentity(identity).QueryElementAt(0, Components.interfaces.nsIMsgIncomingServer);
     366            // if (server.type == "nntp")
     367                description = server.prettyName
     368            // else description = identity.description?"- "+identity.description:identity.accountname
     369           
     370            var newIdentity = new vI_identityData(identity.email, identity.fullName, identity.key,
     371                        identity.smtpServerKey, null, description, true)
    364372            newIdentity.extras.readIdentityValues(identity);
    365 
     373               
    366374            var menuItem = this.addIdentityToCloneMenu(newIdentity)
    367375
     
    498506    <method name="checkForVirtualIdentity">
    499507        <body><![CDATA[
     508        vI_notificationBar.dump("** v_identity.xml checkForVirtualIdentity: " + this.identityData.id.key + " '" + this.identityData.id.value + "'\n")
    500509        var existingIdentity = this.identityData.isExistingIdentity(false);
    501510       
     
    528537            var oldIdentityData = this._identityDataStorage;
    529538            this._identityDataStorage = val;
    530            
    531539            if (oldIdentityData) { // indicates that it's not first time after clean
    532                 if (!this._identityDataStorage.id.key) {
    533                     this._identityDataStorage.id.key = oldIdentityData.id.key;
    534                     var idName = this._identityDataStorage.id.value;
    535                     this._identityDataStorage.sideDescription = (idName)?" - "+idName:"";
    536                     vI_notificationBar.dump("** v_identity.xml set new Id: '" + this._identityDataStorage.id.value + "'\n")
    537                 }
     540                vI_notificationBar.dump("** v_identity.xml previousID: fullName='" + oldIdentityData.fullName + "' email='" + oldIdentityData.email + "' smtp='" + oldIdentityData.smtp.key + "' id='" + oldIdentityData.id.key + "' existingID='" + oldIdentityData.existingID + "'\n");
     541                vI_notificationBar.dump("** v_identity.xml newID: fullName='" + this._identityDataStorage.fullName + "' email='" + this._identityDataStorage.email + "' smtp='" + this._identityDataStorage.smtp.key + "' id='" + this._identityDataStorage.id.key + "' existingID='" + this._identityDataStorage.existingID + "'\n");
     542                if (!this._identityDataStorage.existingID && !this._identityDataStorage.combinedName)
     543                    this._identityDataStorage.fullName = oldIdentityData.fullName;
     544                if (!this._identityDataStorage.existingID && !this._identityDataStorage.email)
     545                    this._identityDataStorage.email = oldIdentityData.email;
     546                if (!this._identityDataStorage.smtp.key) this._identityDataStorage.smtp.key = oldIdentityData.smtp.key;
     547                if (!this._identityDataStorage.id.key) this._identityDataStorage.id.key = oldIdentityData.id.key;
    538548                this._identityDataStorage.extras.setValues();
    539            
    540                 this.checkForVirtualIdentity();
     549                if (this._identityDataStorage.existingID) this.vid = false;
     550                else this.checkForVirtualIdentity();
    541551            }
    542552            else    this.vid = false;       // first time after clean it's always a real identity
     
    544554            this.label = this._identityDataStorage.combinedName;
    545555            this.value = this._identityDataStorage.id.key;
    546             vI_notificationBar.dump("** v_identity.xml identityData setter value='" + this.value + "'\n")
    547556            this.description = this._identityDataStorage.sideDescription;
    548             vI_notificationBar.dump("** v_identity.xml identityData setter smtp='" + this._identityDataStorage.smtp.keyNice + "'\n")
    549557            document.getAnonymousElementByAttribute(this, "anonid", "smtpServerListHbox").smtp = this._identityDataStorage.smtp.keyNice;
    550            
    551         }
    552         // vI_notificationBar.dump("** v_identity.xml identityData setter done.'\n")
     558            vI_notificationBar.dump("** v_identity.xml resultingID: fullName='" + this._identityDataStorage.fullName + "' email='" + this._identityDataStorage.email + "' smtp='" + this._identityDataStorage.smtp.key + "' id='" + this._identityDataStorage.id.key + "' existingID='" + this._identityDataStorage.existingID + "'\n");           
     559        }
     560        vI_notificationBar.dump("** v_identity.xml identityData setter done.'\n")
    553561        ]]></setter>
    554562    </property>
  • chrome/content/v_identity/v_identity.xul

    r8e5aff rc05d83  
    7575    </menulist>
    7676    <checkbox id="fcc_switch" label="&vident.composeDialog.fcc_switch.label;"
    77           tooltiptext="&vident.composeDialog.fcc_switch.tooltiptext;" hidden="true" />
     77        tooltiptext="&vident.composeDialog.fcc_switch.tooltiptext;" hidden="true" doFcc="false"
     78        oncommand="if (this.doFcc == this.checked) this.checked = !(this.checked); this.doFcc = this.checked;" />
    7879    <popupset id="vI_tooltipPopupset" />
    7980</hbox>
     
    9091          <menuseparator id="vI_statusMenu_separator" />
    9192          <menuitem class="menuitem-iconic" label="&vident.vI_Menu.Settings.label;"
    92             oncommand="window.openDialog('chrome://v_identity/content/vI_prefDialogOpener.xul', '', 'chrome');" />
     93            oncommand="window.open('chrome://v_identity/content/vI_prefDialogOpener.xul', '', 'chrome, dialog, resizable=yes');" />
    9394          <menuitem class="menuitem-iconic" label="&vident.vI_Menu.DataEditor.label;"
    94             oncommand="window.open('chrome://v_identity/content/vI_rdfDataTree.xul', '', 'chrome');" />
     95            oncommand="window.open('chrome://v_identity/content/vI_rdfDataTree.xul', '', 'chrome, dialog, resizable=yes');" />
    9596      </popup>
    9697  </popupset>
     
    116117              align="right">
    117118        <label value="&vident.vidLogo.label; &vident.version;" />
    118         <observes element="msgIdentity_clone" attribute="vid" />
     119        <observes id="msgIdentity_clone_observer" element="msgIdentity_clone" attribute="vid" />
    119120    </statusbarpanel>
    120121      <statusbarpanel id="vI-status-menu" save="off"
  • chrome/locale/cs-CZ/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "Nastavení Virtual Identity">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Otevřít domovskou stránku rozšíření Virtual Identity">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Help"> <!-- translate -->
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Open in Browser"> <!-- translate -->
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "ZdrojovÜ e-mail">
  • chrome/locale/cs-CZ/v_identity/vI_rdfDataEditor.dtd

    r8e5aff rc05d83  
    33<!ENTITY vI_rdfDataEditor.dataType.email "e-mail">
    44<!ENTITY vI_rdfDataEditor.dataType.maillist "seznam adres">
    5 <!ENTITY vI_rdfDataEditor.dataType.newsgroup "diskusní skuoina">
     5<!ENTITY vI_rdfDataEditor.dataType.newsgroup "diskusní skupina">
    66
    77<!ENTITY vI_rdfDataEditor.header.label "Přidat/upravit uloÅŸená data">
  • chrome/locale/cs-CZ/v_identity/vI_rdfDataEditor.properties

    r8e5aff rc05d83  
    66vI_rdfDataTree.dataType.maillist=seznam adres
    77vI_rdfDataTree.dataType.newsgroup=diskusní skupina
    8 vI_rdfDataTree.dataType.filter=filter
     8vI_rdfDataTree.dataType.filter=filtr
  • chrome/locale/cs-CZ/v_identity/vI_rdfDataTree.dtd

    r8e5aff rc05d83  
    55<!ENTITY vI_rdfDataTree.showAll.label "Zobrazit vše">
    66<!ENTITY vI_rdfDataTree.showAll.accesskey "o">
    7 <!ENTITY vI_rdfDataTree.indexColumn.label "No."> <!-- to translate -->
     7<!ENTITY vI_rdfDataTree.indexColumn.label "Ne.">
    88<!ENTITY vI_rdfDataTree.recipientColumn.label "Příjemce">
    99<!ENTITY vI_rdfDataTree.typeColumn.label "Typ">
  • chrome/locale/cs-CZ/v_identity/vI_storageExtras.dtd

    r8e5aff rc05d83  
    22
    33<!ENTITY vI_prefDialog.storageExtras.returnReciept.label "stav doručenky">
     4<!ENTITY vI_prefDialog.storageExtras.fcc.label "stav FCC">
    45<!ENTITY vI_prefDialog.storageExtras.characterEncoding.label "zvolená znaková sada">
    56<!ENTITY vI_prefDialog.storageExtras.messageFormat.label "zvolenÜ formát zpráv">
     
    1213<!ENTITY vI_prefDialog.storageExtras.openPGP.messageSignature.label "pouşití podpisu">
    1314<!ENTITY vI_prefDialog.storageExtras.openPGP.PGPMIME.label "pouşití PGP/MIME">
    14 <!ENTITY vI_prefDialog.storageExtras.Warning.label "please reopen current windows to apply these settings"> <!-- to translate -->
     15<!ENTITY vI_prefDialog.storageExtras.Warning.label "pro aplikování změn prosím znovu otevřete tato okna">
    1516
    1617<!ENTITY vI_storageExtras.caption.label "další uloşená nastavení">
    1718
    1819<!ENTITY vI_storageExtrasDataTreeOverlay.recieptCol.label "Potvrzení o přečtení">
     20<!ENTITY vI_storageExtrasDataTreeOverlay.fccCol.label "FCC">
    1921<!ENTITY vI_storageExtrasDataTreeOverlay.charEncCol.label "Znaková sada">
    2022<!ENTITY vI_storageExtrasDataTreeOverlay.msgFormatCol.label "Formát zpráv">
     
    2729<!ENTITY vI_storageExtrasDataEditorOverlay.hideUnused.label "skrÜt neaktivní pole">
    2830<!ENTITY vI_storageExtrasDataEditorOverlay.reciept.label "Potvrzení o přečtení">
     31<!ENTITY vI_storageExtrasDataEditorOverlay.fcc.label "FCC">
    2932<!ENTITY vI_storageExtrasDataEditorOverlay.charEnc.label "Znaková sada">
    3033<!ENTITY vI_storageExtrasDataEditorOverlay.msgFormat.label "Formát zpráv">
  • chrome/locale/cs-CZ/v_identity/vI_storageExtras.properties

    r8e5aff rc05d83  
    11vident.identityData.extras.reciept=Potvrzení o přečtení
     2vident.identityData.extras.fcc=FCC
    23vident.identityData.extras.charEnc=Znaková sada
    34vident.identityData.extras.msgFormat=Formát zpráv
  • chrome/locale/cs-CZ/v_identity/vI_upgrade.properties

    r8e5aff rc05d83  
    11vident.intro=Děkujeme, ÅŸe pouşíváte Virtual Identity.\n\nVirtual Identity je rozšíření pro váš poÅ¡tovní program, které vám umoÅŸní za běhu tvorbu identit i bez pouÅŸití Nastavení účtu. To je zvláště uÅŸitečné v případě, ÅŸe máte vlastní poÅ¡tovní server a pouşíváte spoustu identit.\n\nPokud máte nějaké problémy, nápady nebo poÅŸadavky, můşete je nahlásit na https://www.absorb.it/virtual-id\n\nNásledují další kroky průvodce aktualizací.
    2 vident.features= New features of the 0.6 release (pre1)\n* cleaner, object-oriented programming\n* tooltips to inform you about the identities\n* filter to apply stored identities to domains etc.\n\n---\nIt's a preview, so please report every problem at https://www.absorb.it/virtual-id .
     2vident.features=Vlastnosti vydání 0.6\n* čistější, objektově orientovanÃœ kód\n* místní nápověda k identitám\n* filtr pro aktivování uloÅŸenÃœch identit pro domény\n* intuitivnější dialog předvoleb\n* ukládání SMTP nyní volitelně\n\n---\nJakékoliv problémy prosím hlaste na https://www.absorb.it/virtual-id .
    33vident.license=Tento program je volnÃœ software; můşete jej šířit a modifikovat podle ustanovení Obecné veřejné licence GNU, vydávané Free Software Foundation; a to buď verze 2 této licence anebo (podle vaÅ¡eho uváşení) kterékoli pozdější verze.\n\nTento program je rozÅ¡iřován v naději, ÅŸe bude uÅŸitečnÃœ, avÅ¡ak BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo VHODNOSTI PRO URČITÝ ÚČEL. Další podrobnosti hledejte ve Obecné veřejné licenci GNU na http://www.gnu.org/copyleft/gpl.html .\n\n---\nTento program vytvořil Rene Ejury (2008).
    44vident.finish=Aktualizace/Instalace proběhla úspěšně.\n\nUÅŸijte si Virtal Identity.\n\nKvalita software záleşí také na vás, prosím nahlaste chyby, problémy nebo pomozte s psaním dokumentace na https://www.absorb.it/virtual-id . S překladem rozšíření můşete pomoci na http://babelzilla.org .
  • chrome/locale/cs-CZ/v_identity/v_identity.dtd

    r8e5aff rc05d83  
    33<!ENTITY vident.composeDialog.storageSave.label "uloÅŸit">
    44<!ENTITY vident.composeDialog.storageSave.tooltiptext "uloÅŸit identitu při odesílání">
     5<!ENTITY vident.composeDialog.fcc_switch.label "Fcc">
     6<!ENTITY vident.composeDialog.fcc_switch.tooltiptext "uloÅŸit kopii odeslaného e-mailu">
     7<!ENTITY vident.composeDialog.autoReplyToSelf.label "(=Reply-To)">
     8<!ENTITY vident.composeDialog.autoReplyToSelf.menuLabel "zakázat synchronizaci Reply-To">
    59<!ENTITY vident.replySelector.dialogheader.title "Virtuální identita">
    610<!ENTITY vident.replySelector.caption.label "Zvolte si virtuální identitu">
     
    1014<!ENTITY vident.vI_Menu.storageSave.label "ukládat identitu při odeslání">
    1115<!ENTITY vident.vI_Menu.saveBaseID.label "ukládat základní identitu">
     16<!ENTITY vident.vI_Menu.saveSMTP.label "uloÅŸit informaci o SMTP">
    1217<!ENTITY vident.vI_Menu.TooltipTitle.label "Status Virtual Identity">
    1318<!ENTITY vident.vI_Menu.TooltipChange.label "změníte kliknutím">
    1419
    15 <!ENTITY vident.vI_Dialog.extra1Button.label "Abort Sending"> <!-- to translate -->
     20<!ENTITY vident.vI_Dialog.extra1Button.label "ZruÅ¡it odesílání">
     21<!ENTITY vident.vI_Dialog.extra2Button.label "Pouşít uloÅŸenou identitu">
    1622
    1723<!ENTITY fccMailFolder.accesskey "P">
  • chrome/locale/cs-CZ/v_identity/v_identity.properties

    r8e5aff rc05d83  
    22vident.sendLater.prefix=Chcete nahradit virtuální identitu vÜchozí identitou (
    33vident.sendLater.postfix=) ?
     4
     5vident.genericSendMessage.error=Chyba Virtual Identity:Nelze změnit identitu před odesláním\nChybu prosím nahlaste na https://add-on-it.de/virtual-id/newticket
    46
    57vident.updateStorage.title=Pro tohoto příjemce jiÅŸ máte virtuální identitu uloÅŸenou.
     
    2123vident.statusText.save.base.line1=ukládání virtuálních identit
    2224vident.statusText.save.base.line2=(zapamatovat si vÜchozí identitu)
     25vident.statusText.save.ok.smtp.line1=ukládání virtuálních identit
     26vident.statusText.save.ok.smtp.line2=(pamatovat si SMTP)
     27vident.statusText.save.base.smtp.line1=ukládání virtuálních identit
     28vident.statusText.save.base.smtp.line2=(zapamatovat si vÃœchozí identitu a SMTP)
    2329
    2430vident.identityData.Name=Jméno
  • chrome/locale/de-DE/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "Virtual Identity Einstellungen">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Öffne die Webseite von Virtual Identity">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Hilfe">
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Öffne in Web-Browser">
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "Basis-Email">
  • chrome/locale/de-DE/v_identity/vI_storageExtras.dtd

    r8e5aff rc05d83  
    22
    33<!ENTITY vI_prefDialog.storageExtras.returnReciept.label "Status EmpfangsbestÀtigung">
     4<!ENTITY vI_prefDialog.storageExtras.fcc.label "FCC Sende-Kopie">
    45<!ENTITY vI_prefDialog.storageExtras.characterEncoding.label "ausgewÀhlter Zeichensatz">
    56<!ENTITY vI_prefDialog.storageExtras.messageFormat.label "ausgewÀhltes Email-Format">
     
    1718
    1819<!ENTITY vI_storageExtrasDataTreeOverlay.recieptCol.label "EmpfangsbestÀtigung">
     20<!ENTITY vI_storageExtrasDataTreeOverlay.fccCol.label "FCC Sende-Kopie">
    1921<!ENTITY vI_storageExtrasDataTreeOverlay.charEncCol.label "Zeichensatz">
    2022<!ENTITY vI_storageExtrasDataTreeOverlay.msgFormatCol.label "Email-Format">
     
    2729<!ENTITY vI_storageExtrasDataEditorOverlay.hideUnused.label "verstecke unbenutzte Felder">
    2830<!ENTITY vI_storageExtrasDataEditorOverlay.reciept.label "EmpfangsbestÀtigung">
     31<!ENTITY vI_storageExtrasDataEditorOverlay.fcc.label "FCC Sende-Kopie">
    2932<!ENTITY vI_storageExtrasDataEditorOverlay.charEnc.label "Zeichensatz">
    3033<!ENTITY vI_storageExtrasDataEditorOverlay.msgFormat.label "Email-Format">
  • chrome/locale/de-DE/v_identity/vI_storageExtras.properties

    r8e5aff rc05d83  
    11vident.identityData.extras.reciept=EmpfangsbestÀtigung
     2vident.identityData.extras.fcc=FCC Sende-Kopie
    23vident.identityData.extras.charEnc=Zeichensatz
    34vident.identityData.extras.msgFormat=Email-Format
  • chrome/locale/de-DE/v_identity/vI_upgrade.properties

    r8e5aff rc05d83  
    11vident.intro=Willkommen bei Virtual Identity.\n\nVirtual Identity ist eine Erweiterung fÌr Dein Email-Programm. Diese gibt Dir die Möglichkeit, neue IdentitÀten schnell und ohne den traditionellen Account-Dialog wÀhrend dem Schreiben einer Email zu erstellen. Das ist besonders sinnvoll, wenn Du einen eigenen Mailserver betreibst und viele unterschiedliche Email Adressen zur Kommunikation benutzt.\n\nBitte berichte Probleme, Ideen oder WÌnsche unter https://www.absorb.it/virtual-id\n\nFÌhre nun alle Schritte des Update-Assistenten durch.
    2 vident.features= New features of the 0.6 release (pre1)\n* cleaner, object-oriented programming\n* tooltips to inform you about the identities\n* filter to apply stored identities to domains etc.\n\n---\nIt's a preview, so please report every problem at https://www.absorb.it/virtual-id .
     2vident.features= Funktionen der 0.6-Version\n* teils objekt-orientierte Programmierung\n* Hinweise (ToolTips) mit Informationen ÃŒber Virtuelle IdentitÀten\n* Filter um gespeicherte IdentitÀten bsow. Domains zuzuordnen\n* ein aufgerÀumter Konfigurations-Dialog\n* ÃŒberarbeitete Speicherung von SMTP\n\n---\nBitte berichte alle Probleme unter https://www.absorb.it/virtual-id .
    33vident.license=Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemÀß Version 2 der Lizenz oder (nach Ihrer Option) jeder spÀteren Version.\n\nDie Veröffentlichung dieses Programms erfolgt in der Hoffnung, daß es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License unter http://www.gnu.org/copyleft/gpl.html\n\n---\nDieses Programm wurde entwickelt von Rene Ejury (2008).
    44vident.finish=Upgrade/Installation erfolgreich.\n\nViel Erfolg bei der Nutzung von Virtual Identity.\n\nDie QualitÀt der Erweiterung hÀngt auch von Dir ab. Bitte melde Fehler und Probleme oder ergÀnze die Dokumentation unter https://www.absorb.it/virtual-id . Ausserdem werden unter http://babelzilla.org immer Übersetzungen gesucht.
  • chrome/locale/de-DE/v_identity/v_identity.dtd

    r8e5aff rc05d83  
    33<!ENTITY vident.composeDialog.storageSave.label "speichern">
    44<!ENTITY vident.composeDialog.storageSave.tooltiptext "speichere IdentitÀt beim Senden">
     5<!ENTITY vident.composeDialog.fcc_switch.label "Fcc">
     6<!ENTITY vident.composeDialog.fcc_switch.tooltiptext "speichere eine Kopie der gesendeten Email (Fcc)">
     7<!ENTITY vident.composeDialog.autoReplyToSelf.label "(=Reply-To)">
     8<!ENTITY vident.composeDialog.autoReplyToSelf.menuLabel "deaktiviere Reply-To Synchronisation">
    59<!ENTITY vident.replySelector.dialogheader.title "Virtual Identity">
    610<!ENTITY vident.replySelector.caption.label "WÀhlen Sie eine Virtuelle IdentitÀt">
     
    1014<!ENTITY vident.vI_Menu.storageSave.label "speichere IdentitÀt beim Senden">
    1115<!ENTITY vident.vI_Menu.saveBaseID.label "speichere zugrunde liegende IdentitÀt">
     16<!ENTITY vident.vI_Menu.saveSMTP.label "speichere SMTP-Server">
    1217<!ENTITY vident.vI_Menu.TooltipTitle.label "Virtual Identity Status">
    1318<!ENTITY vident.vI_Menu.TooltipChange.label "Àndere durch Maus-Klick">
    1419
    1520<!ENTITY vident.vI_Dialog.extra1Button.label "Senden Abbrechen">
     21<!ENTITY vident.vI_Dialog.extra2Button.label "Nutze gespeicherte IdentitÀt">
    1622
    1723<!ENTITY fccMailFolder.accesskey "P">
  • chrome/locale/de-DE/v_identity/v_identity.properties

    r8e5aff rc05d83  
    22vident.sendLater.prefix= Soll ich die virtuelle IdentitÀt mit der Standard-IdentitÀt (
    33vident.sendLater.postfix= ) ersetzen ?
     4
     5vident.genericSendMessage.error=Virtual Identity Fehler: Kann die IdentitÀt vor dem Senden nicht Àndern.\nBitte schreibe ein Ticket unter https://add-on-it.de/virtual-id/newticket
    46
    57vident.updateStorage.title=FÌr diesen EmpfÀnger ist breits eine Virtuelle IdentitÀt gespeichert.
     
    2123vident.statusText.save.base.line1=speichere Virtuelle IdentitÀten
    2224vident.statusText.save.base.line2=(und die zugrunde liegende IdentitÀt)
     25vident.statusText.save.ok.smtp.line1=speichere Virtuelle IdentitÀten
     26vident.statusText.save.ok.smtp.line2=(und SMTP)
     27vident.statusText.save.base.smtp.line1=speichere Virtuelle IdentitÀten
     28vident.statusText.save.base.smtp.line2=(und die zugrunde liegende IdentitÀt & SMTP)
    2329
    2430vident.identityData.Name=Name
  • chrome/locale/en-US/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "Virtual Identity Settings">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Open Virtual Identity Homepage">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Help">
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Open in Browser">
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "Source Mail">
  • chrome/locale/en-US/v_identity/vI_upgrade.properties

    r8e5aff rc05d83  
    11vident.intro= Thank you for using Virtual Identity.\n\nVirtual Identity is an Extension for your email client, which gives you the possibility to create Identity's on the fly without using the Account Dialog. This is especially useful, if you have an own mailserver and use many different Identities.\n\nPlease report all problems, ideas or requirements at https://www.absorb.it/virtual-id\n\nContinue all steps of the Upgrade-Wizard.
    2 vident.features= New features of the 0.6 release (pre3)\n* cleaner, object-oriented programming\n* tooltips to inform you about the identities\n* filter to apply stored identities to domains\n* more intuitive preferences dialog\n* storing of SMTP now optional\n\n---\nIt's a preview, so please report every problem at https://www.absorb.it/virtual-id .
     2vident.features= Features of the 0.6 release\n* cleaner, object-oriented programming\n* tooltips to inform you about the identities\n* filter to apply stored identities to domains\n* more intuitive preferences dialog\n* storing of SMTP now optional\n\n---\nPlease report every problem at https://www.absorb.it/virtual-id .
    33vident.license= This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License at http://www.gnu.org/copyleft/gpl.html for more details.\n\n---\nThis program was developed by Rene Ejury (2008).
    44vident.finish= Upgrade/Installation successful.\n\nEnjoy using Virtual Identity.\n\nThe quality of the software is also depending on you, so please report bugs and problems or help writing some documentation at https://www.absorb.it/virtual-id . You can also help translating the program at http://babelzilla.org .
  • chrome/locale/en-US/v_identity/v_identity.dtd

    r8e5aff rc05d83  
    1919
    2020<!ENTITY vident.vI_Dialog.extra1Button.label "Abort Sending">
     21<!ENTITY vident.vI_Dialog.extra2Button.label "Use Stored Identity">
    2122
    2223<!ENTITY fccMailFolder.accesskey "P">
  • chrome/locale/en-US/v_identity/v_identity.properties

    r8e5aff rc05d83  
    22vident.sendLater.prefix= Replace Virtual Identity with Default Identity (
    33vident.sendLater.postfix= ) ?
     4
     5vident.genericSendMessage.error=Virtual Identity Error: Can't change Identity before Sending.\nPlease report at https://add-on-it.de/virtual-id/newticket
    46
    57vident.updateStorage.title=You already have a Virtual Identity stored for this recipient.
  • chrome/locale/es-ES/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "Virtual Identity - Opciones">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Visitar la página web de Virtual Identity">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Help"> <!-- translate -->
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Open in Browser"> <!-- translate -->
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "Correo fuente">
  • chrome/locale/es-ES/v_identity/vI_rdfDataTree.dtd

    r8e5aff rc05d83  
    55<!ENTITY vI_rdfDataTree.showAll.label "Mostrar todo">
    66<!ENTITY vI_rdfDataTree.showAll.accesskey "w">
    7 <!ENTITY vI_rdfDataTree.indexColumn.label "No."> <!-- to translate -->
     7<!ENTITY vI_rdfDataTree.indexColumn.label "No.">
    88<!ENTITY vI_rdfDataTree.recipientColumn.label "Destinatario">
    99<!ENTITY vI_rdfDataTree.typeColumn.label "Tipo">
  • chrome/locale/es-ES/v_identity/vI_storageExtras.dtd

    r8e5aff rc05d83  
    22
    33<!ENTITY vI_prefDialog.storageExtras.returnReciept.label "estado del acuse de recibo">
     4<!ENTITY vI_prefDialog.storageExtras.fcc.label "Estado de FCC">
    45<!ENTITY vI_prefDialog.storageExtras.characterEncoding.label "codificación de caracteres seleccionada">
    56<!ENTITY vI_prefDialog.storageExtras.messageFormat.label "formato de mensaje seleccionado">
     
    1213<!ENTITY vI_prefDialog.storageExtras.openPGP.messageSignature.label "uso de la firma">
    1314<!ENTITY vI_prefDialog.storageExtras.openPGP.PGPMIME.label "uso de PGP/MIME">
    14 <!ENTITY vI_prefDialog.storageExtras.Warning.label "please reopen current windows to apply these settings"> <!-- to translate -->
     15<!ENTITY vI_prefDialog.storageExtras.Warning.label "por favor, vuelva a abrir la ventana actual para aplicar estas opciones">
    1516
    1617<!ENTITY vI_storageExtras.caption.label "opciones adicionales del almacén">
    1718
    1819<!ENTITY vI_storageExtrasDataTreeOverlay.recieptCol.label "Acuse de recibo">
     20<!ENTITY vI_storageExtrasDataTreeOverlay.fccCol.label "FCC">
    1921<!ENTITY vI_storageExtrasDataTreeOverlay.charEncCol.label "Codificación de caracteres">
    2022<!ENTITY vI_storageExtrasDataTreeOverlay.msgFormatCol.label "Formato del mensaje">
     
    2729<!ENTITY vI_storageExtrasDataEditorOverlay.hideUnused.label "ocultar los campos inactivos">
    2830<!ENTITY vI_storageExtrasDataEditorOverlay.reciept.label "Acuse de recibo">
     31<!ENTITY vI_storageExtrasDataEditorOverlay.fcc.label "FCC">
    2932<!ENTITY vI_storageExtrasDataEditorOverlay.charEnc.label "Codificación de caracteres">
    3033<!ENTITY vI_storageExtrasDataEditorOverlay.msgFormat.label "Formato del mensaje">
  • chrome/locale/es-ES/v_identity/vI_storageExtras.properties

    r8e5aff rc05d83  
    11vident.identityData.extras.reciept=Acuse de recibo
     2vident.identityData.extras.fcc=FCC
    23vident.identityData.extras.charEnc=Codificación de caracteres
    34vident.identityData.extras.msgFormat=Formato del mensaje
  • chrome/locale/es-ES/v_identity/vI_upgrade.properties

    r8e5aff rc05d83  
    11vident.intro=Gracias por usar Virtual Identity.\n\nVirtual Identity es una extensión para su cliente de correo, que le permite crear identidades usando el asistente de cuentas. Esto es especialmente útil si tiene su propio servidor de correo y usa diferentes identidades.\n\nPor favor, informe de cualquier error, idea o requisito en https://www.absorb.it/virtual-id\n\nSiga todos los pasos de asistente de actualización.
    2 vident.features= New features of the 0.6 release (pre1)\n* cleaner, object-oriented programming\n* tooltips to inform you about the identities\n* filter to apply stored identities to domains etc.\n\n---\nIt's a preview, so please report every problem at https://www.absorb.it/virtual-id .
     2vident.features=Opciones de la versión 0.6\n* programación orientada a objetos más limpia\n* textos emergentes para informarle de las identidades\n* filtros para aplicar a las identidades guardadas\n*cuadros de opciones más intuitivos\n* opción para guardar los SMTP\n\n---\nPor favor, informe de cualquier problema en https://www.absorb.it/virtual-id .
    33vident.license=Este programa es software libre; usted puede distribuirlo y/o modificarlo siguiendo los términos de la GNU General Public License publicada por la Free Software Foundation; en su versión 2, o (en función de su criterio) cualquier versión posterior.\n\nEste programa se distribuye con la intención de ser útil, pero SIN NINGUNA GARANTÍA; ni si quiera con la garantía implícita de MERCANTIBILIDAD o SER ADECUADO PARA UN PROPÓSITO PARTICULAR. Consulte la GNU General Public License en http://www.gnu.org/copyleft/gpl.html para ver más detalles.\n\n---\nEste programa ha sido desarrollado por Rene Ejury (2008).
    44vident.finish=Instalación/Actualización correcta.\n\nDisfrute usando Virtual Identity.\n\nLa calidad de este programa también depende de usted, así que por favor informe de fallos y problemas o ayude escribiendo documentación en https://www.absorb.it/virtual-id . También puede ayudar a traducir este programa en http://babelzilla.org .
  • chrome/locale/es-ES/v_identity/v_identity.dtd

    r8e5aff rc05d83  
    33<!ENTITY vident.composeDialog.storageSave.label "guardar">
    44<!ENTITY vident.composeDialog.storageSave.tooltiptext "guardar la identidad al enviar">
     5<!ENTITY vident.composeDialog.fcc_switch.label "Fcc">
     6<!ENTITY vident.composeDialog.fcc_switch.tooltiptext "guardar copia del correo enviado">
     7<!ENTITY vident.composeDialog.autoReplyToSelf.label "(=Reply-To)">
     8<!ENTITY vident.composeDialog.autoReplyToSelf.menuLabel "deshabilitar la sincronización reply-to">
    59<!ENTITY vident.replySelector.dialogheader.title "Virtual Identity">
    610<!ENTITY vident.replySelector.caption.label "Elegir una identidad virtual">
     
    1014<!ENTITY vident.vI_Menu.storageSave.label "guardar la identidad al enviar">
    1115<!ENTITY vident.vI_Menu.saveBaseID.label "guardar la identidad base">
     16<!ENTITY vident.vI_Menu.saveSMTP.label "guardar la información del SMTP">
    1217<!ENTITY vident.vI_Menu.TooltipTitle.label "Estado de la identidad virtual">
    1318<!ENTITY vident.vI_Menu.TooltipChange.label "pulse para cambiar">
    1419
    15 <!ENTITY vident.vI_Dialog.extra1Button.label "Abort Sending"> <!-- to translate -->
     20<!ENTITY vident.vI_Dialog.extra1Button.label "Abortar el envío">
     21<!ENTITY vident.vI_Dialog.extra2Button.label "Usar la identidad almacenada">
    1622
    1723<!ENTITY fccMailFolder.accesskey "P">
  • chrome/locale/es-ES/v_identity/v_identity.properties

    r8e5aff rc05d83  
    22vident.sendLater.prefix=Cambiar la identidad virtual por la identidad por defecto (
    33vident.sendLater.postfix=) ?
     4
     5vident.genericSendMessage.error=Error de Virtual Identity: No se puede cambiar la identidad antes de enviar.\nPor favor, informe en https://add-on-it.de/virtual-id/newticket
    46
    57vident.updateStorage.title=Ya tiene una identidad virtual guardada para este destinatario
     
    2123vident.statusText.save.base.line1=guardando identidades virtuales
    2224vident.statusText.save.base.line2=(recordar la identidad usada)
     25vident.statusText.save.ok.smtp.line1=guardando identidades virtuales
     26vident.statusText.save.ok.smtp.line2=(recordar SMTP)
     27vident.statusText.save.base.smtp.line1=guardando identidades virtuales
     28vident.statusText.save.base.smtp.line2=(recordar las identidades y el SMTP)
    2329
    2430vident.identityData.Name=Nombre
     
    2935vident.smartIdentity.vIUsage=usar la identidad virtual como remitente
    3036vident.smartIdentity.vIStorageUsage=usar la identidad virtual como remitente
    31 vident.smartIdentity.vIStorageCollidingIdentity=New recipient has a different Virtual Identity stored. Ignored.
     37vident.smartIdentity.vIStorageCollidingIdentity=El nuevo destinatario tiene una identidad virtual diferente guardada. Ignorado.
    3238vident.smartIdentity.ignoreRegExp=ignorando expresión regular incorrecta.
    3339vident.smartIdentity.matchExisting=encontrada identidad existente con correspondencia.
  • chrome/locale/fr/v_identity/contents.rdf

    r8e5aff rc05d83  
    55  <!-- list all the packages being supplied by this jar -->
    66  <RDF:Seq about="urn:mozilla:locale:root">
    7     <RDF:li resource="urn:mozilla:locale:nl-NL"/>
     7    <RDF:li resource="urn:mozilla:locale:fr"/>
    88  </RDF:Seq>
    99
    1010  <!-- locale information -->
    11   <RDF:Description about="urn:mozilla:locale:nl-NL"
    12         chrome:displayName="Nederlands (NL)"
    13         chrome:author="Rmarkh"
    14         chrome:name="nl-NL">
     11  <RDF:Description about="urn:mozilla:locale:fr"
     12        chrome:displayName="French (FR)"
     13        chrome:author="Goofy, PatheticCockroach, Antoine"
     14        chrome:name="fr">
    1515    <chrome:packages>
    16       <RDF:Seq about="urn:mozilla:locale:nl-NL:packages">
    17         <RDF:li resource="urn:mozilla:locale:nl-NL:v_identity"/>
     16      <RDF:Seq about="urn:mozilla:locale:fr:packages">
     17        <RDF:li resource="urn:mozilla:locale:fr:v_identity"/>
    1818      </RDF:Seq>
    1919    </chrome:packages>
  • chrome/locale/fr/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "ParamÚtres de Virtual Identity">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Ouvrir la page Web de Virtual Identity">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Help"> <!-- translate -->
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Open in Browser"> <!-- translate -->
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "Mail d'origine">
  • chrome/locale/nl/v_identity/contents.rdf

    r8e5aff rc05d83  
    55  <!-- list all the packages being supplied by this jar -->
    66  <RDF:Seq about="urn:mozilla:locale:root">
    7     <RDF:li resource="urn:mozilla:locale:nl-NL"/>
     7    <RDF:li resource="urn:mozilla:locale:nl"/>
    88  </RDF:Seq>
    99
    1010  <!-- locale information -->
    11   <RDF:Description about="urn:mozilla:locale:nl-NL"
     11  <RDF:Description about="urn:mozilla:locale:nl"
    1212        chrome:displayName="Nederlands (NL)"
    13         chrome:author="Rmarkh"
    14         chrome:name="nl-NL">
     13        chrome:author="markh"
     14        chrome:name="nl">
    1515    <chrome:packages>
    16       <RDF:Seq about="urn:mozilla:locale:nl-NL:packages">
    17         <RDF:li resource="urn:mozilla:locale:nl-NL:v_identity"/>
     16      <RDF:Seq about="urn:mozilla:locale:nl:packages">
     17        <RDF:li resource="urn:mozilla:locale:nl:v_identity"/>
    1818      </RDF:Seq>
    1919    </chrome:packages>
  • chrome/locale/nl/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "Virtual Identity instellingen">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Virtual Identity startpagina openen">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Help"> <!-- translate -->
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Open in Browser"> <!-- translate -->
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "Bron e-mailbericht">
  • chrome/locale/nl/v_identity/vI_rdfDataTree.dtd

    r8e5aff rc05d83  
    55<!ENTITY vI_rdfDataTree.showAll.label "Alles weergeven">
    66<!ENTITY vI_rdfDataTree.showAll.accesskey "W">
    7 <!ENTITY vI_rdfDataTree.indexColumn.label "No.">  <!-- to translate -->
     7<!ENTITY vI_rdfDataTree.indexColumn.label "Aantal">
    88<!ENTITY vI_rdfDataTree.recipientColumn.label "Ontvanger">
    99<!ENTITY vI_rdfDataTree.typeColumn.label "Type">
  • chrome/locale/nl/v_identity/vI_storageExtras.dtd

    r8e5aff rc05d83  
    22
    33<!ENTITY vI_prefDialog.storageExtras.returnReciept.label "Ontvangstbevestigingsstatus">
     4<!ENTITY vI_prefDialog.storageExtras.fcc.label "Fcc-status">
    45<!ENTITY vI_prefDialog.storageExtras.characterEncoding.label "Geselecteerde codering">
    56<!ENTITY vI_prefDialog.storageExtras.messageFormat.label "Geselecteerde berichtopmaak">
     
    1213<!ENTITY vI_prefDialog.storageExtras.openPGP.messageSignature.label "Handtekeninggebruik">
    1314<!ENTITY vI_prefDialog.storageExtras.openPGP.PGPMIME.label "PGP/MIME-gebruik">
    14 <!ENTITY vI_prefDialog.storageExtras.Warning.label "please reopen current windows to apply these settings"> <!-- to translate -->
     15<!ENTITY vI_prefDialog.storageExtras.Warning.label "Heropen a.u.b. de huidige vensters om deze instellingen door te voeren">
    1516
    1617<!ENTITY vI_storageExtras.caption.label "Aanvullende opgeslagen instellingen">
    1718
    1819<!ENTITY vI_storageExtrasDataTreeOverlay.recieptCol.label "Ontvangstbevestiging">
     20<!ENTITY vI_storageExtrasDataTreeOverlay.fccCol.label "FCC">
    1921<!ENTITY vI_storageExtrasDataTreeOverlay.charEncCol.label "Codering">
    2022<!ENTITY vI_storageExtrasDataTreeOverlay.msgFormatCol.label "Berichtopmaak">
     
    2729<!ENTITY vI_storageExtrasDataEditorOverlay.hideUnused.label "Inactieve velden verbergen">
    2830<!ENTITY vI_storageExtrasDataEditorOverlay.reciept.label "Ontvangstbevestiging">
     31<!ENTITY vI_storageExtrasDataEditorOverlay.fcc.label "FCC">
    2932<!ENTITY vI_storageExtrasDataEditorOverlay.charEnc.label "Codering">
    3033<!ENTITY vI_storageExtrasDataEditorOverlay.msgFormat.label "Berichtopmaak">
  • chrome/locale/nl/v_identity/vI_storageExtras.properties

    r8e5aff rc05d83  
    11vident.identityData.extras.reciept=Ontvangstbevestiging
     2vident.identityData.extras.fcc=FCC
    23vident.identityData.extras.charEnc=Codering
    34vident.identityData.extras.msgFormat=Berichtopmaak
  • chrome/locale/nl/v_identity/vI_upgrade.properties

    r8e5aff rc05d83  
    11vident.intro=Bedankt voor het gebruiken van Virtual Identity.\n\nVirtual Identity is een extensie voor uw e-mailclient die u de mogelijkheid geeft om heel eenvoudig identiteiten te creëren zonder gebruik te maken van het Accountdialoogvenster. Dit is vooral nuttig als u een eigen mailserver hebt en veel verschillende identiteiten gebruikt.\n\nMeld a.u.b. alle problemen, ideeën of verzoeken bij https://www.absorb.it/virtual-id\n\nU kunt nu doorgaan met alle stappen van de Upgradewizard.
    2 vident.features= New features of the 0.6 release (pre1)\n* cleaner, object-oriented programming\n* tooltips to inform you about the identities\n* filter to apply stored identities to domains etc.\n\n---\nIt's a preview, so please report every problem at https://www.absorb.it/virtual-id .
     2vident.features=Functies van versie 0.6\n*nettere objectgeoriënteerde programmering\n*tooltips om u te informeren over de identiteiten\n*filter om opgeslagen identiteiten toe te passen op domeinen\n*intuïtiever voorkeursvenster\n*opslaan van SMTP nu optioneel\n\n---\nMeld problemen a.u.b. op https://www.absorb.it/virtual-id.
    33vident.license=Dit programma is gratis software; u kunt het verder verspreiden en/of aanpassen onder de voorwaarden van de GNU General Public License zoals gepubliceerd door de Free Software Foundation; versie 2 van deze licentie of (optioneel) elke latere versie.\n\nDit programma wordt verspreid in de hoop dat het nuttig is, maar ZONDER ENIGE GARANTIE; zelfs zonder de impliciete garantie van VERHANDELBAARHEID of GESCHIKTHEID VOOR EEN BEPAALD DOEL. Lees de GNU General Public License op http://www.gnu.org/copyleft/gpl.html voor meer details.\n\n---\nDit programma is ontwikkeld door Rene Ejury (2008).
    44vident.finish=Bijwerken/installatie succesvol verlopen.\n\nVeel plezier bij het gebruik van Virtual Identity.\n\nDe kwaliteit van de software hangt ook van u af, dus meld a.u.b. fouten en problemen of help bij het schrijven van documentatie op https://www.absorb.it/virtual-id . U kunt ook helpen het programma te vertalen op http://www.babelzilla.org.
  • chrome/locale/nl/v_identity/v_identity.dtd

    r8e5aff rc05d83  
    33<!ENTITY vident.composeDialog.storageSave.label "Opslaan">
    44<!ENTITY vident.composeDialog.storageSave.tooltiptext "Identiteit opslaan bij verzenden">
     5<!ENTITY vident.composeDialog.fcc_switch.label "Fcc">
     6<!ENTITY vident.composeDialog.fcc_switch.tooltiptext "Kopie van verzonden e-mailbericht opslaan">
     7<!ENTITY vident.composeDialog.autoReplyToSelf.label "(=Reply-To)">
     8<!ENTITY vident.composeDialog.autoReplyToSelf.menuLabel "Reply-To-synchronisatie uitschakelen">
    59<!ENTITY vident.replySelector.dialogheader.title "Virtual Identity">
    610<!ENTITY vident.replySelector.caption.label "Kies een virtuele identiteit">
     
    1014<!ENTITY vident.vI_Menu.storageSave.label "Identiteit opslaan bij verzenden">
    1115<!ENTITY vident.vI_Menu.saveBaseID.label "Onderliggende basisidentiteit opslaan">
     16<!ENTITY vident.vI_Menu.saveSMTP.label "SMTP-informatie opslaan">
    1217<!ENTITY vident.vI_Menu.TooltipTitle.label "Virtual Identity status">
    1318<!ENTITY vident.vI_Menu.TooltipChange.label "Klik om te wijzigen">
    1419
    15 <!ENTITY vident.vI_Dialog.extra1Button.label "Abort Sending"> <!-- to translate -->
     20<!ENTITY vident.vI_Dialog.extra1Button.label "Verzenden afbreken">
     21<!ENTITY vident.vI_Dialog.extra2Button.label "Opgeslagen identiteit gebruiken">
    1622
    1723<!ENTITY fccMailFolder.accesskey "l">
  • chrome/locale/nl/v_identity/v_identity.properties

    r8e5aff rc05d83  
    22vident.sendLater.prefix=Virtuele identiteit vervangen door standaardidentiteit (
    33vident.sendLater.postfix=)?
     4
     5vident.genericSendMessage.error=Virtual Identity fout: Kan identiteit niet wijzigen voor verzenden.\nMeld dit a.u.b. op https://add-on-it.de/virtual-id/newticket
    46
    57vident.updateStorage.title=U hebt al een virtuele identiteit opgeslagen voor deze ontvanger.
     
    2123vident.statusText.save.base.line1=Virtuele identiteiten opslaan
    2224vident.statusText.save.base.line2=(onderliggende identiteit onthouden)
     25vident.statusText.save.ok.smtp.line1=Virtuele identiteiten opslaan
     26vident.statusText.save.ok.smtp.line2=(SMTP onthouden)
     27vident.statusText.save.base.smtp.line1=Virtuele identiteiten opslaan
     28vident.statusText.save.base.smtp.line2=(onderliggende identiteit & SMTP onthouden)
    2329
    2430vident.identityData.Name=Naam
     
    3440vident.smartIdentity.moreThanOne=(meer dan één adres gevonden)
    3541vident.smartIdentity.remRecipient=afzender verwijderd uit ontvangerslijst.
    36 vident.getHeader.noHeader=geen andere kopteksten aangetroffen.
    37 vident.getHeader.headerFound=koptekst(en) gevonden:
     42vident.getHeader.noHeader=geen andere headers aangetroffen.
     43vident.getHeader.headerFound=header(s) gevonden:
    3844vident.sendNonvirtual.warning=U staat op het punt dit e-mailbericht met een permanent opgeslagen identiteit te versturen. Wilt u dit echt?
    3945vident.sendVirtual.warning=U staat op het punt om dit e-mailbericht met een virtuele identiteit te versturen. Wilt u dit echt?
  • chrome/locale/ru-RU/v_identity/contents.rdf

    r8e5aff rc05d83  
    55  <!-- list all the packages being supplied by this jar -->
    66  <RDF:Seq about="urn:mozilla:locale:root">
    7     <RDF:li resource="urn:mozilla:locale:nl-NL"/>
     7    <RDF:li resource="urn:mozilla:locale:ru-RU"/>
    88  </RDF:Seq>
    99
    1010  <!-- locale information -->
    11   <RDF:Description about="urn:mozilla:locale:nl-NL"
    12         chrome:displayName="Nederlands (NL)"
    13         chrome:author="Rmarkh"
    14         chrome:name="nl-NL">
     11  <RDF:Description about="urn:mozilla:locale:ru-RU"
     12        chrome:displayName="РусскОй"
     13        chrome:author="Vinser (www.ukrntb.com)"
     14        chrome:name="ru-RU">
    1515    <chrome:packages>
    16       <RDF:Seq about="urn:mozilla:locale:nl-NL:packages">
    17         <RDF:li resource="urn:mozilla:locale:nl-NL:v_identity"/>
     16      <RDF:Seq about="urn:mozilla:locale:ru-RU:packages">
     17        <RDF:li resource="urn:mozilla:locale:ru-RU:v_identity"/>
    1818      </RDF:Seq>
    1919    </chrome:packages>
  • chrome/locale/ru-RU/v_identity/vI_prefDialog.dtd

    r68cb93 rc05d83  
    11<!ENTITY vI_prefDialog.dlgTitle.label "НастрПйкО Virtual Identity">
    22<!ENTITY vI_prefDialog.vidLogo.tooltiptext "Открыть ЎПЌашМюю страМОцу Virtual Identity">
     3
     4<!ENTITY vI_prefDialog.dlgHelpButton.label "Online Help"> <!-- translate -->
     5<!ENTITY vI_prefDialog.openHelpInBrowserButton.label "Open in Browser"> <!-- translate -->
    36
    47<!ENTITY vI_prefDialog.tabbox.tab0.label "ИсÑ
  • chrome/skin/classic/v_identity/v_identity.css

    r68cb93 rc05d83  
    355355}
    356356
     357.vI_remoteBrowserBox {
     358    -moz-binding: url("chrome://v_identity/content/vI_htmlTextBox.xml#vI_remoteBrowserBox");
     359    margin: 8px 8px 0pt 0pt;
     360    -moz-appearance: listbox;
     361    padding: 3px;
     362}
     363
    357364.identity_clone-popup-item {
    358365    -moz-binding: url("chrome://v_identity/content/v_identity.xml#fromPopupItem_clone");
  • defaults/preferences/preferences.js

    r8e5aff rc05d83  
    2929pref("extensions.virtualIdentity.warn_virtual", false);
    3030pref("extensions.virtualIdentity.hide_signature", false);
     31pref("extensions.virtualIdentity.hide_sMime_messageSignature", false);
     32pref("extensions.virtualIdentity.hide_openPGP_messageSignature", false);
    3133pref("extensions.virtualIdentity.storage", true);
    3234pref("extensions.virtualIdentity.storage_storedefault", true);
  • install.js

    r8e5aff rc05d83  
    77// Editable Items Begin
    88var displayName         = "Virtual Identity"; // The name displayed to the user (don't include the version)
    9 var version             = "0.6.0pre8";
     9var version             = "0.6.5";
    1010var name                = "v_identity"; // The leafname of the JAR file (without the .jar part)
    1111
     
    2222var localeDir           = "/" + name + "/"
    2323
    24 var locales             = new Array( "en-US" );
     24var locales             = new Array( "cs-CZ", "de-DE", "en-US", "es-ES", "fr", "nl", "ru-RU" );
    2525var skins               = new Array( "classic" ); // "modern"
    2626var prefs               = new Array( "preferences.js" );
  • install.rdf

    r8e5aff rc05d83  
    77                   em:id="{3550f703-e582-4d05-9a08-453d09bdfdc6}"
    88                   em:minVersion="1.5"
    9                    em:maxVersion="3.1.*" />
     9                   em:maxVersion="3.0.*" />
    1010  <!-- Seamonkey -->
    1111  <RDF:Description RDF:about="rdf:#$rjP94"
    1212                   em:id="{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}"
    1313                   em:minVersion="1.1"
    14                    em:maxVersion="2.0pre" />
     14                   em:maxVersion="2.0.*" />
    1515  <RDF:Description RDF:about="urn:mozilla:extension:file:v_identity.jar"
    1616                   em:package="content/v_identity/"
    1717                   em:skin="skin/classic/v_identity/">
     18    <em:locale>locale/cs-CZ/v_identity/</em:locale>
     19    <em:locale>locale/de-DE/v_identity/</em:locale>
    1820    <em:locale>locale/en-US/v_identity/</em:locale>
     21    <em:locale>locale/es-ES/v_identity/</em:locale>
     22    <em:locale>locale/fr/v_identity/</em:locale>
     23    <em:locale>locale/nl/v_identity/</em:locale>
     24    <em:locale>locale/ru-RU/v_identity/</em:locale>
    1925  </RDF:Description>
    2026  <RDF:Description RDF:about="urn:mozilla:install-manifest"
    2127                   em:id="{dddd428e-5ac8-4a81-9f78-276c734f75b8}"
    2228                   em:name="Virtual Identity"
    23                    em:version="0.6.0pre8"
     29                   em:version="0.6.5"
    2430                   em:description="Allows you to modify your Identity settings for a single Mail on the fly."
    2531                   em:creator="Rene Ejury"
    2632                   em:homepageURL="http://www.absorb.it/virtual-id"
    27                    em:updateURL="http://absorb.it/software/virtual_identity/pre/v_identity_update.rdf"
    28                    em:optionsURL="chrome://v_identity/content/vI_prefDialogOpener.xul"
    29                    em:updateKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY5lTLkMzbwKDrWvC5rAjR9Uiv6THmeOK03lBCsQ89KXYlz8i2CNTgvp44+/kK+73u+ZdduNSID+HGuzfoWy+cJLznFSlKx5DcYWDKKGKhCrXvRZ/nFX1JowmfdR5LskQMLNHMjadUCuS6ka3tX+yWErxOMPTdYmSWazU8tp1fGwIDAQAB">
     33                   em:updateURL="http://absorb.it/software/virtual_identity/v_identity_update.rdf"
     34                   em:updateKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY5lTLkMzbwKDrWvC5rAjR9Uiv6THmeOK03lBCsQ89KXYlz8i2CNTgvp44+/kK+73u+ZdduNSID+HGuzfoWy+cJLznFSlKx5DcYWDKKGKhCrXvRZ/nFX1JowmfdR5LskQMLNHMjadUCuS6ka3tX+yWErxOMPTdYmSWazU8tp1fGwIDAQAB"
     35                   em:optionsURL="chrome://v_identity/content/vI_prefDialogOpener.xul" >
    3036    <em:targetApplication RDF:resource="rdf:#$njP94"/>
    3137    <em:targetApplication RDF:resource="rdf:#$rjP94"/>
    3238    <em:translator>www.babelzilla.org</em:translator>
    33     <em:translator>- Proyecto Nave</em:translator>
    34     <em:translator>- Rmarkh</em:translator>
    35     <em:translator>- Michal Kec (MiK)</em:translator>
    36     <em:translator>- Wacław Jacek</em:translator>
     39    <em:translator>Proyecto Nave</em:translator>
     40    <em:translator>markh</em:translator>
     41    <em:translator>Goofy</em:translator>
     42    <em:translator>PatheticCockroach</em:translator>
     43    <em:translator>Antoine</em:translator>
     44    <em:translator>Vinser (www.ukrntb.com)</em:translator>
     45    <em:translator>Michal Kec (MiK)</em:translator>
    3746    <em:file RDF:resource="urn:mozilla:extension:file:v_identity.jar"/>
    3847  </RDF:Description>
Note: See TracChangeset for help on using the changeset viewer.