Changeset e35d8e
- Timestamp:
- Jan 29, 2008, 8:10:05 AM (13 years ago)
- Branches:
- master
- Children:
- 524c35
- Parents:
- 61e69b
- Files:
-
- 9 added
- 33 deleted
- 19 edited
Legend:
- Unmodified
- Added
- Removed
-
chrome.manifest
r61e69b re35d8e 1 1 content v_identity jar:chrome/v_identity.jar!/content/v_identity/ 2 2 locale v_identity en-US jar:chrome/v_identity.jar!/locale/en-US/v_identity/ 3 locale v_identity de-DE jar:chrome/v_identity.jar!/locale/de-DE/v_identity/4 locale v_identity es-ES jar:chrome/v_identity.jar!/locale/es-ES/v_identity/5 locale v_identity fr-FR jar:chrome/v_identity.jar!/locale/fr-FR/v_identity/6 locale v_identity cs-CZ jar:chrome/v_identity.jar!/locale/cs-CZ/v_identity/7 locale v_identity it-IT jar:chrome/v_identity.jar!/locale/it-IT/v_identity/8 locale v_identity nl-NL jar:chrome/v_identity.jar!/locale/nl-NL/v_identity/9 locale v_identity ko-KR jar:chrome/v_identity.jar!/locale/ko-KR/v_identity/10 locale v_identity sk-SK jar:chrome/v_identity.jar!/locale/sk-SK/v_identity/11 3 skin v_identity classic/1.0 jar:chrome/v_identity.jar!/skin/classic/v_identity/ 12 4 overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://v_identity/content/v_identity.xul 13 5 overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://v_identity/content/vI_context.xul 14 6 overlay chrome://messenger/content/messenger.xul chrome://v_identity/content/vI_context.xul 7 overlay chrome://messenger/content/messenger.xul chrome://v_identity/content/vI_upgradeOverlay.xul 15 8 overlay chrome://messenger/content/mailWindowOverlay.xul chrome://v_identity/content/vI_getHeader.xul -
chrome/content/v_identity/_version.dtd
r61e69b re35d8e 1 <!ENTITY vident.version "0.4.5pre 3">1 <!ENTITY vident.version "0.4.5pre4"> -
chrome/content/v_identity/contents.rdf
r61e69b re35d8e 32 32 <RDF:Seq about="chrome://messenger/content/messenger.xul"> 33 33 <RDF:li>chrome://v_identity/content/vI_context.xul</RDF:li> 34 <RDF:li>chrome://v_identity/content/vI_upgradeOverlay.xul</RDF:li> 34 35 </RDF:Seq> 35 36 -
chrome/content/v_identity/vI_account.js
r61e69b re35d8e 26 26 account : null, 27 27 28 AccountManager : Components.classes["@mozilla.org/messenger/account-manager;1"] 29 .getService(Components.interfaces.nsIMsgAccountManager), 30 31 32 prefroot : Components.classes["@mozilla.org/preferences-service;1"] 33 .getService(Components.interfaces.nsIPrefService) 34 .getBranch(null), 35 28 36 _copyBoolAttribute : function(name) { 29 37 vI_account.account.defaultIdentity.setBoolAttribute(name, … … 76 84 } 77 85 }, 78 79 removeAccount : function() { 86 87 cleanupSystem : function() { 88 vI_notificationBar.dump("## vI_account: cleanupSystem:\n") 89 for (var i=0; i < vI_account.AccountManager.accounts.Count(); i++) { 90 var account = vI_account.AccountManager.accounts.QueryElementAt(i, Components.interfaces.nsIMsgAccount); 91 vI_account.removeAccount(account); 92 } 93 vI_notificationBar.dump("## vI_account: cleanupSystem done.\n") 94 }, 95 96 removeAccount : function(account) { 97 var key = account.key; 98 var server = account.incomingServer; 99 if (!server || server.hostName != "virtualIdentity") { 100 try { vI_account.prefroot.getBoolPref("mail.account." + account.key + ".vIdentity"); 101 account.incomingServer = vI_account.AccountManager. 102 createIncomingServer("toRemove","virtualIdentity","pop3"); 103 } catch (e) { return; }; 104 } 105 try { account.incomingServer.rootFolder.Delete(); } 106 catch (e) { }; 107 vI_notificationBar.dump("## vI_account: removing account " + key + ".\n") 108 vI_account.AccountManager.removeAccount(account); 109 try { vI_account.prefroot.clearUserPref("mail.account." + key + ".vIdentity"); } 110 catch (e) { }; 111 }, 112 113 removeUsedVIAccount : function() { 80 114 if (vI_account.account) { 81 vI_account.account.incomingServer = gAccountManager.createIncomingServer("toRemove","virtualIdentity","pop3"); 82 //~ try { vI_account.account.incomingServer.rootFolder.Delete(); } 83 //~ catch (e) { }; 84 85 gAccountManager.removeAccount(vI_account.account); 115 vI_account.removeAccount(vI_account.account); 86 116 vI_account.account = null; 87 117 } … … 95 125 } 96 126 127 vI_account.cleanupSystem(); 128 97 129 /* 98 130 // the easiest way would be to get all requiered Attributes might be to duplicate the default account like this 99 var recentAccount = gAccountManager.getAccount(vI.elements.Obj_MsgIdentity.selectedItem.getAttribute("accountkey"));100 vI.VIdent_Account = gAccountManager.duplicateAccount(recentAccount);131 var recentAccount = vI_account.AccountManager.getAccount(vI.elements.Obj_MsgIdentity.selectedItem.getAttribute("accountkey")); 132 vI.VIdent_Account = vI_account.AccountManager.duplicateAccount(recentAccount); 101 133 // but this ends up in the following exception: 102 134 // "Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIMsgAccountManager.duplicateAccount]" … … 104 136 */ 105 137 106 vI_account.account = gAccountManager.createAccount(); 107 108 vI_account.account.addIdentity(gAccountManager.createIdentity()); 138 vI_account.account = vI_account.AccountManager.createAccount(); 139 vI_account.prefroot.setBoolPref("mail.account." + vI_account.account.key + ".vIdentity", true) 140 141 vI_account.account.addIdentity(vI_account.AccountManager.createIdentity()); 109 142 110 143 // the new account uses the same incomingServer than the base one, has to be replaced before the account is removed 111 var servers = gAccountManager.GetServersForIdentity(vI.helper.getBaseIdentity());144 var servers = vI_account.AccountManager.GetServersForIdentity(vI.helper.getBaseIdentity()); 112 145 vI_account.account.incomingServer = servers.QueryElementAt(0, Components.interfaces.nsIMsgIncomingServer); 113 146 … … 141 174 case "2" : 142 175 dump ("## vI_account: preparing Fcc --- use Settings of Default Account\n"); 143 vI_account.account.defaultIdentity.doFcc = gAccountManager.defaultAccount.defaultIdentity.doFcc;144 vI_account.account.defaultIdentity.fccFolder = gAccountManager.defaultAccount.defaultIdentity.fccFolder;145 vI_account.account.defaultIdentity.fccFolderPickerMode = gAccountManager.defaultAccount.defaultIdentity.fccFolderPickerMode;176 vI_account.account.defaultIdentity.doFcc = vI_account.AccountManager.defaultAccount.defaultIdentity.doFcc; 177 vI_account.account.defaultIdentity.fccFolder = vI_account.AccountManager.defaultAccount.defaultIdentity.fccFolder; 178 vI_account.account.defaultIdentity.fccFolderPickerMode = vI_account.AccountManager.defaultAccount.defaultIdentity.fccFolderPickerMode; 146 179 break; 147 180 case "3" : … … 177 210 case "2" : 178 211 dump ("## vI_account: preparing Draft --- use Settings of Default Account\n"); 179 vI_account.account.defaultIdentity.draftFolder = gAccountManager.defaultAccount.defaultIdentity.draftFolder;180 vI_account.account.defaultIdentity.draftsFolderPickerMode = gAccountManager.defaultAccount.defaultIdentity.draftsFolderPickerMode;212 vI_account.account.defaultIdentity.draftFolder = vI_account.AccountManager.defaultAccount.defaultIdentity.draftFolder; 213 vI_account.account.defaultIdentity.draftsFolderPickerMode = vI_account.AccountManager.defaultAccount.defaultIdentity.draftsFolderPickerMode; 181 214 break; 182 215 case "3" : … … 204 237 case "2" : 205 238 dump ("## vI_account: preparing Templates --- use Settings of Default Account\n"); 206 vI_account.account.defaultIdentity.stationeryFolder = gAccountManager.defaultAccount.defaultIdentity.stationeryFolder;207 vI_account.account.defaultIdentity.tmplFolderPickerMode = gAccountManager.defaultAccount.defaultIdentity.tmplFolderPickerMode;239 vI_account.account.defaultIdentity.stationeryFolder = vI_account.AccountManager.defaultAccount.defaultIdentity.stationeryFolder; 240 vI_account.account.defaultIdentity.tmplFolderPickerMode = vI_account.AccountManager.defaultAccount.defaultIdentity.tmplFolderPickerMode; 208 241 break; 209 242 case "3" : -
chrome/content/v_identity/vI_msgIdentityClone.js
r61e69b re35d8e 304 304 } 305 305 vI.elements.Obj_vILogo.setAttribute("hidden","false"); 306 vI_addressBook.elements.Obj_aBookSave.setAttribute("hidden", 307 !vI.preferences.getBoolPref("aBook_show_switch") || 308 !vI.preferences.getBoolPref("aBook_use")); 306 //~ vI_storage.elements.Obj_storageSave.setAttribute("hidden", 307 //~ !vI.preferences.getBoolPref("storage_show_switch")); 309 308 } 310 309 // code to hide the signature … … 323 322 vI.Cleanup(); 324 323 vI.elements.Obj_vILogo.setAttribute("hidden","true"); 325 vI_addressBook.elements.Obj_aBookSave.setAttribute("hidden", 326 !vI.preferences.getBoolPref("aBook_show_switch") || 327 !vI.preferences.getBoolPref("aBook_use_non_vI") || 328 !vI.preferences.getBoolPref("aBook_use")); 324 //~ vI_storage.elements.Obj_storageSave.setAttribute("hidden", 325 //~ !vI.preferences.getBoolPref("storage_show_switch")); 329 326 vI_msgIdentityClone.elements.Obj_MsgIdentity_clone 330 327 .setAttribute("oldvalue",null) … … 346 343 var accounts = queryISupportsArray(gAccountManager.accounts, Components.interfaces.nsIMsgAccount); 347 344 for (var i in accounts) { 348 var server = accounts[i].incomingServer; 349 // ignore (other) virtualIdentity Accounts 350 if (!server || server.hostName == "virtualIdentity") continue; 351 345 var server = accounts[i].incomingServer; 352 346 var identites = queryISupportsArray(accounts[i].identities, Components.interfaces.nsIMsgIdentity); 353 347 for (var j in identites) { 354 348 var identity = identites[j]; 355 349 var smtpKey = identity.smtpServerKey; 356 if (!identity.smtpServerKey) smtpKey = accounts[i].defaultIdentity.smtpServerKey;357 if (!identity.smtpServerKey) smtpKey = vI_smtpSelector.smtpService.defaultServer.key;358 350 if ( identity.getUnicharAttribute("fullName") == address.name && 359 351 identity.getUnicharAttribute("useremail") == address.email && -
chrome/content/v_identity/vI_notificationBar.js
r61e69b re35d8e 52 52 }, 53 53 54 init : function( ) {54 init : function(upgrade) { 55 55 vI_notificationBar.Obj_vINotification = document.getElementById("vINotification"); 56 vI_notificationBar.Obj_DebugBox = document.getElementById("vIDebugBox"); 56 57 vI_notificationBar.checkVersion(); 57 if (!vI_notificationBar.preferences.getBoolPref("debug_notification")) return; 58 vI_notificationBar.Obj_DebugBox = document.getElementById("vIDebugBox"); 58 if (upgrade || !vI_notificationBar.preferences.getBoolPref("debug_notification")) return; 59 59 vI_notificationBar.Obj_DebugBox.setAttribute("hidden","false"); 60 60 document.getElementById("vIDebugBoxSplitter").setAttribute("hidden","false"); … … 115 115 }, 116 116 117 dumpUpgrade : function(note) { 118 vI_notificationBar.__dump(note, true); 119 }, 120 117 121 dump : function(note) { 118 122 if (!vI_notificationBar.preferences.getBoolPref("debug_notification")) { … … 123 127 return 124 128 } 129 vI_notificationBar.__dump(note, false); 130 }, 131 132 __dump : function (note, upgrade) { 125 133 dump(note); 126 if (!vI_notificationBar.Obj_DebugBox) vI_notificationBar.init( );134 if (!vI_notificationBar.Obj_DebugBox) vI_notificationBar.init(upgrade); 127 135 if (!vI_notificationBar.Obj_DebugBox) return; 128 136 var new_text = document.createTextNode(note); … … 132 140 vI_notificationBar.Obj_DebugBox.inputField.scrollTop = 133 141 vI_notificationBar.Obj_DebugBox.inputField.scrollHeight - vI_notificationBar.Obj_DebugBox.inputField.clientHeight 142 134 143 }, 135 144 … … 147 156 vI_notificationBar.dump("** " + note + "\n"); 148 157 if (!vI_notificationBar.preferences.getBoolPref(prefstring)) return; 149 if (!vI_notificationBar.Obj_vINotification) vI_notificationBar.init( );158 if (!vI_notificationBar.Obj_vINotification) vI_notificationBar.init(false); 150 159 if (!vI_notificationBar.versionOk) return; 151 160 if (vI_notificationBar.timer) window.clearTimeout(vI_notificationBar.timer); -
chrome/content/v_identity/vI_prefDialog.js
r61e69b re35d8e 67 67 "VIdent_identity.warn_virtual", 68 68 "VIdent_identity.hide_signature", 69 "VIdent_identity.aBook_use", 70 "VIdent_identity.aBook_storedefault", 71 "VIdent_identity.aBook_dont_update_multiple", 72 "VIdent_identity.aBook_show_switch", 73 "VIdent_identity.aBook_warn_update", 74 "VIdent_identity.aBook_use_for_smart_reply", 75 "VIdent_identity.aBook_prefer_smart_reply", 76 "VIdent_identity.aBook_ignore_smart_reply", 77 "VIdent_identity.aBook_warn_vI_replace", 78 "VIdent_identity.aBook_use_non_vI", 79 "VIdent_identity.aBook_notification", 80 "VIdent_identity.aBook_getOneOnly", 69 "VIdent_identity.storage_storedefault", 70 "VIdent_identity.storage_dont_update_multiple", 71 "VIdent_identity.storage_show_switch", 72 "VIdent_identity.storage_warn_update", 73 "VIdent_identity.storage_use_for_smart_reply", 74 "VIdent_identity.storage_prefer_smart_reply", 75 "VIdent_identity.storage_ignore_smart_reply", 76 "VIdent_identity.storage_warn_vI_replace", 77 "VIdent_identity.storage_notification", 78 "VIdent_identity.storage_getOneOnly", 81 79 "VIdent_identity.autoReplyToSelf"], 82 80 … … 139 137 "VIdent_identity.smart_reply_autocreate", 140 138 "VIdent_identity.smart_reply_headers_reset", 141 "VIdent_identity. aBook_use_for_smart_reply",142 "VIdent_identity. aBook_prefer_smart_reply",143 "VIdent_identity. aBook_ignore_smart_reply",144 " aBookTab2",139 "VIdent_identity.storage_use_for_smart_reply", 140 "VIdent_identity.storage_prefer_smart_reply", 141 "VIdent_identity.storage_ignore_smart_reply", 142 "storageTab2", 145 143 "smartReplyTab", "smartReplyTab1", "smartReplyTab2", "smartReplyTab3"]; 146 144 for( var i = 0; i < elementIDs.length; i++ ) { … … 154 152 vI_prefDialog.base.smartReplyResultConstraint(); 155 153 }, 156 157 aBookConstraint : function(element) {158 var elementIDs = [159 "VIdent_identity.aBook_storedefault",160 "VIdent_identity.aBook_show_switch",161 "VIdent_identity.aBook_warn_update",162 "VIdent_identity.aBook_use_for_smart_reply",163 "VIdent_identity.aBook_prefer_smart_reply",164 "VIdent_identity.aBook_ignore_smart_reply",165 "VIdent_identity.aBook_warn_vI_replace",166 "VIdent_identity.aBook_remove_entries",167 "VIdent_identity.aBook_use_non_vI",168 "VIdent_identity.aBook_dont_update_multiple",169 "VIdent_identity.aBook_getOneOnly",170 "aBookTab", "aBookTab1", "aBookTab2", "aBookTab3"];171 for( var i = 0; i < elementIDs.length; i++ ) {172 if (element.checked)173 document.getElementById(elementIDs[i])174 .removeAttribute("disabled");175 else176 document.getElementById(elementIDs[i])177 .setAttribute("disabled", "true");178 }179 vI_prefDialog.base.aBookSmartReplyConstraint();180 vI_prefDialog.base.aBookCheckCounter();181 },182 154 183 155 smartReplyResultConstraint : function() { … … 193 165 }, 194 166 195 aBookSmartReplyConstraint : function() { 196 if (!document.getElementById("VIdent_identity.aBook_use").checked) return; 197 var use_for_smart_reply = document.getElementById("VIdent_identity.aBook_use_for_smart_reply") 198 var prefer_smart_reply = document.getElementById("VIdent_identity.aBook_prefer_smart_reply") 199 var ignore_smart_reply = document.getElementById("VIdent_identity.aBook_ignore_smart_reply") 167 storageSmartReplyConstraint : function() { 168 var use_for_smart_reply = document.getElementById("VIdent_identity.storage_use_for_smart_reply") 169 var prefer_smart_reply = document.getElementById("VIdent_identity.storage_prefer_smart_reply") 170 var ignore_smart_reply = document.getElementById("VIdent_identity.storage_ignore_smart_reply") 200 171 prefer_smart_reply.setAttribute("disabled", !use_for_smart_reply.checked) 201 172 ignore_smart_reply.setAttribute("disabled", !use_for_smart_reply.checked) … … 204 175 smartReplyHeaderReset : function() { 205 176 var textfield = document.getElementById("VIdent_identity.smart_reply_headers") 206 textfield.value = " x-original-to\nto\ncc"177 textfield.value = "envelope-to\nx-original-to\nto\ncc" 207 178 }, 208 179 … … 229 200 document.getElementById("VIdent_identity.hide_signature").setAttribute("disabled", "false"); 230 201 }, 231 232 aBookCheckCounter : function() {233 var aBookStatus = document.getElementById("VIdent_identity.aBook_status");234 var strings = document.getElementById("vIdentBundle");235 var number = vI_addressBook.removeVIdentityFromABook(false);236 var statusString = "";237 if (number > 0)238 statusString = strings.getString("vident.clearAddressBook.status.prefix") + " " + number + " " +239 strings.getString("vident.clearAddressBook.status.postfix")240 else {241 statusString = strings.getString("vident.clearAddressBook.status.none")242 document.getElementById("VIdent_identity.aBook_remove_entries").setAttribute("disabled", "true")243 }244 aBookStatus.setAttribute("value", statusString);245 }246 202 }, 247 203 … … 280 236 vI_prefDialog.base.smartReplyConstraint(document.getElementById("VIdent_identity.smart_reply")); 281 237 vI_prefDialog.base.smartReplyHideSignature(); 282 vI_prefDialog.base.aBookConstraint(document.getElementById("VIdent_identity.aBook_use"));283 window.setTimeout(vI_prefDialog.base.aBookCheckCounter, 0); // do this in background, cause this might take a while284 238 285 239 //~ if (vI_prefDialog.preferences.getBoolPref("experimental")){ -
chrome/content/v_identity/vI_prefDialog.xul
r61e69b re35d8e 49 49 <script type="application/x-javascript" 50 50 src="chrome://v_identity/content/vI_prefDialog.js" /> 51 <script type="application/x-javascript"52 src="chrome://v_identity/content/vI_addressBook.js" />53 51 54 52 <stringbundleset id="stringbundleset"> … … 85 83 <tab label="&vident.prefs.vIdentityTab.label;" /> 86 84 <tab id="smartReplyTab" label="&vident.prefs.smartReplyTab.label;" /> 87 <tab id=" aBookTab" label="&vident.prefs.aBookTab.label;" />85 <tab id="storageTab" label="&vident.prefs.storageTab.label;" /> 88 86 <tab label="&vident.prefs.notificationTab.label;" /> 89 87 </tabs> … … 106 104 <checkbox id="VIdent_identity.smart_timestamp" label="&vident.prefs.smartTimestamp.label;" 107 105 prefstring="smart_timestamp" /> 108 <checkbox id="VIdent_identity.aBook_use" label="&vident.prefs.aBook.label;"109 prefstring="aBook_use"110 oncommand="vI_prefDialog.base.aBookConstraint(this);"111 />112 <hbox><spacer width="20px"/><checkbox id="VIdent_identity.aBook_use_non_vI" label="&vident.prefs.aBookNonVIdentity.label;"113 prefstring="aBook_use_non_vI" />114 </hbox>115 106 <spacer height="10px"/> 116 107 <checkbox id="VIdent_identity.show_smtp" label="&vident.prefs.SMTP.label;" … … 361 352 </tabbox> 362 353 </tabpanel> 363 <tabpanel orient="vertical" label="&vident.prefs. aBookTab.header;">364 <dialogheader title="&vident.prefs. aBookTab.header;"/>354 <tabpanel orient="vertical" label="&vident.prefs.storageTab.header;"> 355 <dialogheader title="&vident.prefs.storageTab.header;"/> 365 356 <tabbox> 366 357 <tabs> 367 <tab id="aBookTab1" label="&vident.prefs.aBookTab.Tab1.label;" /> 368 <tab id="aBookTab2" label="&vident.prefs.aBookTab.Tab2.label;" /> 369 <tab id="aBookTab3" label="&vident.prefs.aBookTab.Tab3.label;" /> 358 <tab id="storageTab1" label="&vident.prefs.storageTab.Tab1.label;" /> 359 <tab id="storageTab2" label="&vident.prefs.storageTab.Tab2.label;" /> 370 360 </tabs> 371 361 <tabpanels> 372 362 <tabpanel orient="vertical"> 373 363 <groupbox> 374 <caption label="&vident.prefs. aBookCap1.caption;"/>375 <vbox align="left"> 376 <checkbox id="VIdent_identity. aBook_storedefault" label="&vident.prefs.aBook.storedefault.label;"377 prefstring=" aBook_storedefault"/>378 <checkbox id="VIdent_identity. aBook_show_switch" label="&vident.prefs.aBook.show_switch.label;"379 prefstring=" aBook_show_switch"/>380 <checkbox id="VIdent_identity. aBook_warn_update" label="&vident.prefs.aBook.warn_update.label;"381 prefstring=" aBook_warn_update"/>382 <checkbox id="VIdent_identity. aBook_dont_update_multiple" label="&vident.prefs.aBook.dont_update_multiple.label;"383 prefstring=" aBook_dont_update_multiple"/>384 </vbox> 385 </groupbox> 386 <groupbox> 387 <caption label="&vident.prefs. aBookCap2.caption;"/>388 <vbox align="left"> 389 <checkbox id="VIdent_identity. aBook_warn_vI_replace" label="&vident.prefs.aBook.warn_vI_replace.label;"390 prefstring=" aBook_warn_vI_replace"/>391 <checkbox id="VIdent_identity. aBook_getOneOnly" label="&vident.prefs.aBook.get_One_Only.label;"392 prefstring=" aBook_getOneOnly"/>364 <caption label="&vident.prefs.storageCap1.caption;"/> 365 <vbox align="left"> 366 <checkbox id="VIdent_identity.storage_storedefault" label="&vident.prefs.storage.storedefault.label;" 367 prefstring="storage_storedefault"/> 368 <checkbox id="VIdent_identity.storage_show_switch" label="&vident.prefs.storage.show_switch.label;" 369 prefstring="storage_show_switch"/> 370 <checkbox id="VIdent_identity.storage_warn_update" label="&vident.prefs.storage.warn_update.label;" 371 prefstring="storage_warn_update"/> 372 <checkbox id="VIdent_identity.storage_dont_update_multiple" label="&vident.prefs.storage.dont_update_multiple.label;" 373 prefstring="storage_dont_update_multiple"/> 374 </vbox> 375 </groupbox> 376 <groupbox> 377 <caption label="&vident.prefs.storageCap2.caption;"/> 378 <vbox align="left"> 379 <checkbox id="VIdent_identity.storage_warn_vI_replace" label="&vident.prefs.storage.warn_vI_replace.label;" 380 prefstring="storage_warn_vI_replace"/> 381 <checkbox id="VIdent_identity.storage_getOneOnly" label="&vident.prefs.storage.get_One_Only.label;" 382 prefstring="storage_getOneOnly"/> 393 383 </vbox> 394 384 </groupbox> … … 396 386 <tabpanel orient="vertical"> 397 387 <groupbox> 398 <caption label="&vident.prefs.aBookCap3.caption;"/> 399 <vbox align="left"> 400 <description width="500px">&vident.prefs.aBook.reply.desc;</description> 401 <checkbox id="VIdent_identity.aBook_use_for_smart_reply" label="&vident.prefs.aBook.use_for_smart_reply.label;" 402 prefstring="aBook_use_for_smart_reply" 403 oncommand="vI_prefDialog.base.aBookSmartReplyConstraint();" /> 404 <hbox><spacer width="20px"/><checkbox id="VIdent_identity.aBook_prefer_smart_reply" label="&vident.prefs.aBook.prefer_smart_reply.label;" 405 prefstring="aBook_prefer_smart_reply"/> 406 </hbox> 407 <hbox><spacer width="20px"/><checkbox id="VIdent_identity.aBook_ignore_smart_reply" label="&vident.prefs.aBook.ignore_smart_reply.label;" 408 prefstring="aBook_ignore_smart_reply"/> 409 </hbox> 410 </vbox> 411 </groupbox> 412 </tabpanel> 413 <tabpanel orient="vertical"> 414 <groupbox> 415 <caption label="&vident.prefs.aBookCap4.caption;"/> 416 <vbox align="left"> 417 <vbox><description width="500px">&vident.prefs.aBook.remove_entries.desc;</description> 418 <spacer height="10px" /> 419 <label id="VIdent_identity.aBook_status" /> 420 <hbox><spacer flex="1"/> 421 <button id="VIdent_identity.aBook_remove_entries" label="&vident.prefs.aBook.remove_entries.remove;" 422 oncommand="vI_addressBook.removeVIdentityFromABook(true);vI_prefDialog.base.aBookCheckCounter();"/> 423 <spacer flex="1"/></hbox> 424 </vbox> 388 <caption label="&vident.prefs.storageCap3.caption;"/> 389 <vbox align="left"> 390 <description width="500px">&vident.prefs.storage.reply.desc;</description> 391 <checkbox id="VIdent_identity.storage_use_for_smart_reply" label="&vident.prefs.storage.use_for_smart_reply.label;" 392 prefstring="storage_use_for_smart_reply" 393 oncommand="vI_prefDialog.base.storageSmartReplyConstraint();" /> 394 <hbox><spacer width="20px"/><checkbox id="VIdent_identity.storage_prefer_smart_reply" label="&vident.prefs.storage.prefer_smart_reply.label;" 395 prefstring="storage_prefer_smart_reply"/> 396 </hbox> 397 <hbox><spacer width="20px"/><checkbox id="VIdent_identity.storage_ignore_smart_reply" label="&vident.prefs.storage.ignore_smart_reply.label;" 398 prefstring="storage_ignore_smart_reply"/> 399 </hbox> 425 400 </vbox> 426 401 </groupbox> … … 438 413 <checkbox id="VIdent_identity.smart_reply_notification" label="&vident.prefs.notifySmartIdentity.label;" 439 414 prefstring="smart_reply_notification"/> 440 <checkbox id="VIdent_identity. aBook_notification" label="&vident.prefs.notifyABook.label;"441 prefstring=" aBook_notification"/>415 <checkbox id="VIdent_identity.storage_notification" label="&vident.prefs.notifystorage.label;" 416 prefstring="storage_notification"/> 442 417 <hbox> 443 418 <vbox><spacer flex="1"/><label value="&vident.prefs.notifyTime.prefix.label;" /><spacer flex="1"/></vbox> -
chrome/content/v_identity/vI_smartIdentity.js
r61e69b re35d8e 74 74 case msgComposeType.NewsPost: 75 75 case msgComposeType.MailToUrl: 76 if (vI.preferences.getBoolPref(" aBook_use"))77 vI_smartIdentity.query ABook();76 if (vI.preferences.getBoolPref("storeVIdentity")) 77 vI_smartIdentity.queryStorage(); 78 78 if (vI.preferences.getBoolPref("smart_timestamp")) 79 79 vI_smartIdentity.SmartTimestamp(); … … 83 83 }, 84 84 85 // this function creates a list of possible sender addresses from Addressbookand uses them (according to SmartReply behaivior)86 query ABook: function() {85 // this function creates a list of possible sender addresses from Storage and uses them (according to SmartReply behaivior) 86 queryStorage : function() { 87 87 var all_addresses = { number : 0, emails : {}, fullNames : {}, combinedNames : {}, id_keys : {}, smtp_keys : {} }; 88 vI_ addressBook.getVIdentityFromAllRecipients(all_addresses);89 vI_notificationBar.dump("## vI_smartIdentity: checked for Addressbook-Identities and found " + all_addresses.number + " address(es)\n")88 vI_storage.getVIdentityFromAllRecipients(all_addresses); 89 vI_notificationBar.dump("## vI_smartIdentity: checked for stored VIdentities and found " + all_addresses.number + " address(es)\n") 90 90 if (all_addresses.number > 0) vI_smartIdentity.smartIdentitySelection(all_addresses, false); 91 91 }, … … 128 128 else vI_notificationBar.dump("## vI_smartIdentity: SmartDraft: No Header found, shouldn't happen\n"); 129 129 130 var aBook_addresses = { number : 0, emails : {}, fullNames : {}, combinedNames : {}, id_keys : {}, smtp_keys : {} };131 vI_ addressBook.getVIdentityFromAllRecipients(aBook_addresses);132 133 vI_notificationBar.dump("## vI_smartIdentity: checked for Addressbook-Identities and found " + aBook_addresses.number + " address(es)\n")134 135 all_addresses = vI_smartIdentity.mergeWithoutDuplicates(all_addresses, aBook_addresses);130 var storage_addresses = { number : 0, emails : {}, fullNames : {}, combinedNames : {}, id_keys : {}, smtp_keys : {} }; 131 vI_storage.getVIdentityFromAllRecipients(storage_addresses); 132 133 vI_notificationBar.dump("## vI_smartIdentity: checked for stored VIdentities and found " + storage_addresses.number + " address(es)\n") 134 135 all_addresses = vI_smartIdentity.mergeWithoutDuplicates(all_addresses, storage_addresses); 136 136 137 137 vI_smartIdentity.smartIdentitySelection(all_addresses, true); … … 164 164 for (var i in accounts) { 165 165 var server = accounts[i].incomingServer; 166 // ignore (other) virtualIdentity Accounts167 if (!server || server.hostName == "virtualIdentity") continue;168 166 // ignore newsgroup accounts if not selected in preferences 169 167 if (!vI.preferences.getBoolPref("smart_reply_for_newsgroups") && … … 251 249 for (index = 0; index < all_addresses.number; index++) { 252 250 if (all_addresses.emails[index] == email && 253 (!all_addresses.id_keys[index] || !id_key || all_addresses.id_keys[index] == id_key) &&254 (!all_addresses.smtp_keys[index] || !smtp_key || all_addresses.smtp_keys[index] == smtp_key)) {251 (!all_addresses.id_keys[index] || !id_key || 252 (all_addresses.id_keys[index] == id_key && all_addresses.smtp_keys[index] == smtp_key))) { 255 253 // found, so check if we can use the Name of the new field 256 254 if (all_addresses.fullNames[index] == "" && fullName != "") { … … 261 259 } 262 260 // check if id_key or smtp_key can be used 263 if ( id_key) {261 if (!all_addresses.id_keys[index] && id_key) { 264 262 all_addresses.id_keys[index] = id_key; 265 vI_notificationBar.dump("## vI_smartIdentity: added id_key '" + id_key266 + "' to stored email '" + email +"'\n")267 }268 else all_addresses.id_keys[index] = null;269 if (smtp_key) {270 263 all_addresses.smtp_keys[index] = smtp_key; 271 vI_notificationBar.dump("## vI_smartIdentity: added smtp_key '" + smtp_key 272 + "' to stored email '" + email +"'\n") 273 } 274 else all_addresses.smtp_keys[index] = smtp_key; 264 vI_notificationBar.dump("## vI_smartIdentity: added id '" + id_key 265 + "' smtp '" + smtp_key + "' to stored email '" + email +"'\n") 266 } 275 267 return all_addresses; 276 268 } … … 280 272 all_addresses.fullNames[index] = fullName; 281 273 all_addresses.combinedNames[index] = combinedName; 282 if (id_key) all_addresses.id_keys[index] = id_key; 283 else all_addresses.id_keys[index] = null; 284 if (smtp_key) all_addresses.smtp_keys[index] = smtp_key; 285 else all_addresses.smtp_keys[index] = smtp_key; 274 all_addresses.id_keys[index] = id_key; 275 all_addresses.smtp_keys[index] = smtp_key; 286 276 all_addresses.number = index + 1; 287 277 return all_addresses; … … 354 344 355 345 var all_addresses = { number : 0, emails : {}, fullNames : {}, combinedNames : {}, id_keys : {}, smtp_keys : {} }; 356 var aBook_addresses = { number : 0, emails : {}, fullNames : {}, combinedNames : {}, id_keys : {}, smtp_keys : {} };346 var storage_addresses = { number : 0, emails : {}, fullNames : {}, combinedNames : {}, id_keys : {}, smtp_keys : {} }; 357 347 358 348 /* first step: collect addresses */ 359 349 360 // check if addressbook-search should be used before SmartReply361 if (vI.preferences.getBoolPref(" aBook_use_for_smart_reply")) {362 vI_ addressBook.getVIdentityFromAllRecipients(aBook_addresses);363 vI_notificationBar.dump("## vI_smartIdentity: checked for Addressbook-Identities and found " + aBook_addresses.number + " address(es)\n")350 // check if Storage-search should be used before SmartReply 351 if (vI.preferences.getBoolPref("storage_use_for_smart_reply")) { 352 vI_storage.getVIdentityFromAllRecipients(storage_addresses); 353 vI_notificationBar.dump("## vI_smartIdentity: checked for stored VIdentities and found " + storage_addresses.number + " address(es)\n") 364 354 } 365 355 366 356 vI_notificationBar.dump("## vI_smartIdentity: ----------------------------------------------------------\n") 367 357 if (hdr) { 368 if ( aBook_addresses.number == 0 || !vI.preferences.getBoolPref("aBook_ignore_smart_reply")) {358 if (storage_addresses.number == 0 || !vI.preferences.getBoolPref("storage_ignore_smart_reply")) { 369 359 370 360 vI_smartIdentity.collectAddresses(all_addresses, hdr); … … 391 381 } 392 382 } 393 else vI_notificationBar.dump("## vI_smartIdentity: SmartReply skipped, Identities in Addressbookfound.\n");383 else vI_notificationBar.dump("## vI_smartIdentity: SmartReply skipped, Identities in Storage found.\n"); 394 384 } 395 385 else vI_notificationBar.dump("## vI_smartIdentity: SmartReply skipped. No Header-information found.\n"); … … 397 387 vI_notificationBar.dump("## vI_smartIdentity: ----------------------------------------------------------\n") 398 388 399 // merge SmartReply-Identities and Addressbook-Identites400 if (vI.preferences.getBoolPref(" aBook_prefer_smart_reply"))401 all_addresses = vI_smartIdentity.mergeWithoutDuplicates(all_addresses, aBook_addresses)389 // merge SmartReply-Identities and Storage-Identites 390 if (vI.preferences.getBoolPref("storage_prefer_smart_reply")) 391 all_addresses = vI_smartIdentity.mergeWithoutDuplicates(all_addresses, storage_addresses) 402 392 else 403 all_addresses = vI_smartIdentity.mergeWithoutDuplicates( aBook_addresses, all_addresses)404 405 vI_notificationBar.dump("## vI_smartIdentity: merged SmartReply & Addressbook, " + all_addresses.number + " address(es) left\n")393 all_addresses = vI_smartIdentity.mergeWithoutDuplicates(storage_addresses, all_addresses) 394 395 vI_notificationBar.dump("## vI_smartIdentity: merged SmartReply & Storage, " + all_addresses.number + " address(es) left\n") 406 396 407 397 if (all_addresses.number == 0) return; … … 442 432 443 433 changeIdentityToSmartIdentity : function(all_addresses, selectedValue) { 444 if (all_addresses.id_keys[selectedValue]) vI_msgIdentityClone.setMenuToIdentity(all_addresses.id_keys[selectedValue]) 445 if (all_addresses.smtp_keys[selectedValue]) vI_smtpSelector.setMenuToKey(all_addresses.smtp_keys[selectedValue]) 434 if (all_addresses.id_keys[selectedValue]) { 435 vI_msgIdentityClone.setMenuToIdentity(all_addresses.id_keys[selectedValue]) 436 vI_smtpSelector.setMenuToKey(all_addresses.smtp_keys[selectedValue]) 437 } 446 438 vI_msgIdentityClone.setIdentity(all_addresses.combinedNames[selectedValue]); 447 439 vI_smartIdentity.removeSmartIdentityFromRecipients(all_addresses, selectedValue); -
chrome/content/v_identity/vI_smartReplyDialog.js
r61e69b re35d8e 52 52 if (vI_smartReply_dialog.all_addresses.smtp_keys[index]) 53 53 smtp = vI_smartReply_dialog.getSMTPName(vI_smartReply_dialog.all_addresses.smtp_keys[index]) 54 menuentry += ((id||smtp)?" (":"") + (id?id:"") + ((id&&smtp)?",":"") + (smtp?"SMTP:"+smtp:"") + ((id||smtp)?")":"") 54 menuentry += (id?"(" + id + "," + 55 (smtp?smtp:document.getElementById("bundle_messenger").getString("defaultServerTag")) + 56 ")":"") 55 57 vI_smartReply_dialog.add_row(menuentry); 56 58 } -
chrome/content/v_identity/vI_smtpSelector.js
r61e69b re35d8e 37 37 vI_smtpSelector.elements.Obj_SMTPServerList = document.getElementById("smtp_server_list"); 38 38 vI_smtpSelector.elements.Obj_SMTPServerListPopup = document.getElementById("smtp_server_list_popup"); 39 vI_smtpSelector. loadSMTP_server_list();40 if (vI.preferences.getBoolPref("show_smtp") &&41 (vI_smtpSelector.elements.Obj_SMTPServerListPopup.childNodes.length > 1))39 vI_smtpSelector.__loadSMTP_server_list(); 40 vI_smtpSelector.__selectUsedSMTPServer(); 41 if (vI.preferences.getBoolPref("show_smtp")) 42 42 vI_smtpSelector.elements.Area_SMTPServerList.setAttribute("hidden", "false"); 43 43 }, … … 45 45 loadSMTP : function() 46 46 { 47 vI_msgIdentityClone.inputEvent(); 47 vI_msgIdentityClone.inputEvent(); // any change of the menu is handled by vI_msgIdentityClone 48 48 }, 49 49 … … 57 57 } 58 58 } 59 if (!smtpKey) smtpKey = vI_smtpSelector.smtpService.defaultServer.key;60 59 vI_smtpSelector.setMenuToKey(smtpKey); 61 60 }, 62 61 63 62 setMenuToKey : function (smtpKey) { 64 if (!smtpKey) return;65 63 MenuItems = vI_smtpSelector.elements.Obj_SMTPServerListPopup.childNodes 66 64 for (index = 0; index < MenuItems.length; index++) { 65 if (MenuItems[index].localName == "menuseparator") continue; 67 66 if (MenuItems[index].getAttribute("key") == smtpKey) { 68 vI_smtpSelector.elements.Obj_SMTPServerList.selectedItem = 69 MenuItems[index]; 70 break; 67 vI_notificationBar.dump("## v_smtpSelector: use SMTP " + MenuItems[index].label + "\n") 68 vI_smtpSelector.elements.Obj_SMTPServerList.selectedItem = 69 MenuItems[index]; 70 break; 71 71 } 72 72 } 73 73 }, 74 75 loadSMTP_server_list : function() 76 { 77 var idserver; 74 75 __selectUsedSMTPServer : function() { 78 76 if (vI.helper.getBaseIdentity().smtpServerKey) { 79 idserver = vI_smtpSelector.smtpService.getServerByKey(vI.helper.getBaseIdentity().smtpServerKey);80 vI_notificationBar.dump("## v_smtpSelector: use SMTP from BaseIdentity: " + vI _smtpSelector.getSMTPName(idserver.key)+ "\n")77 document.getElementById('smtp_server_list').value = vI.helper.getBaseIdentity().smtpServerKey 78 vI_notificationBar.dump("## v_smtpSelector: use SMTP from BaseIdentity: " + vI.helper.getBaseIdentity().smtpServerKey + "\n") 81 79 } 82 80 else { … … 86 84 87 85 for (var x in accounts) { 88 if (idserver) {89 vI_notificationBar.dump("## v_smtpSelector: use SMTP from Account of BaseIdentity: " + vI_smtpSelector.getSMTPName(idserver.key) + "\n")90 break;91 }92 86 var server = accounts[x].incomingServer; 93 94 // ignore (other) virtualIdentity Accounts95 if (!server || server.hostName == "virtualIdentity") continue;96 87 97 88 var identities = queryISupportsArray(accounts[x].identities, Components.interfaces.nsIMsgIdentity); … … 100 91 if (identity.key == vI.helper.getBaseIdentity().key) { 101 92 if (accounts[x].defaultIdentity.smtpServerKey) 102 idserver = vI_smtpSelector.smtpService.getServerByKey(accounts[x].defaultIdentity.smtpServerKey); 103 break; 104 } 93 vI_notificationBar.dump("## v_smtpSelector: use SMTP from Account of BaseIdentity: " + accounts[x].defaultIdentity.smtpServerKey + "\n") 94 document.getElementById('smtp_server_list').value = accounts[x].defaultIdentity.smtpServerKey 95 return; 96 } 105 97 } 106 98 } 107 99 } 108 if (!idserver) { 109 idserver = vI_smtpSelector.smtpService.defaultServer; 110 vI_notificationBar.dump("## v_smtpSelector: use default SMTP: " + vI_smtpSelector.getSMTPName(idserver.key) + "\n") 111 } 112 113 var defaultServer = vI_smtpSelector.smtpService.defaultServer; 100 }, 101 102 __loadSMTP_server_list : function() 103 { 104 var listitem = vI_smtpSelector.__createDefaultSmtpListItem(); 105 vI_smtpSelector.elements.Obj_SMTPServerListPopup.appendChild(listitem); 106 vI_smtpSelector.elements.Obj_SMTPServerList.selectedItem = listitem; 107 108 var separator = document.createElement("menuseparator"); 109 vI_smtpSelector.elements.Obj_SMTPServerListPopup.appendChild(separator); 110 114 111 var servers = vI_smtpSelector.smtpService.smtpServers; 115 116 var serverCount = servers.Count(); 117 118 for (var i=0 ; i<serverCount; i++) { 112 for (var i=0 ; i<servers.Count(); i++) { 119 113 var server = servers.QueryElementAt(i, Components.interfaces.nsISmtpServer); 120 if (!server.redirectorType) 121 { 122 var listitem = vI_smtpSelector.createSmtpListItemx(server); 123 vI_smtpSelector.elements.Obj_SMTPServerListPopup.appendChild(listitem); 124 // set choosen default server 125 if (idserver == server) vI_smtpSelector.elements.Obj_SMTPServerList.selectedItem = listitem; 114 if (!server.redirectorType) { 115 var listitem = vI_smtpSelector.__createSmtpListItem(server); 116 vI_smtpSelector.elements.Obj_SMTPServerListPopup.appendChild(listitem); 126 117 } 127 118 } 128 119 }, 129 130 createSmtpListItemx : function (server) {120 121 __createDefaultSmtpListItem : function () { 131 122 var listitem = document.createElement("menuitem"); 132 123 listitem.setAttribute("label", document.getElementById("bundle_messenger").getString("defaultServerTag")); 124 return listitem; 125 }, 126 127 __createSmtpListItem : function (server) { 128 var listitem = document.createElement("menuitem"); 133 129 listitem.setAttribute("label", (server.description?server.description:server.hostname)); 134 130 listitem.setAttribute("key", server.key); 135 // give it some unique id136 listitem.id = "smtpServer." + server.key;137 138 131 return listitem; 139 },140 141 getSMTPName : function (key) {142 var server = vI_smtpSelector.smtpService.getServerByKey(key)143 return (server.description?server.description:server.hostname)144 132 } 145 133 } -
chrome/content/v_identity/v_identity.js
r61e69b re35d8e 77 77 name = name.replace(/^\s+|\s+$/g,"") 78 78 } 79 vI_notificationBar.dump("## v_identity: getAddress: name '" +79 vI_notificationBar.dump("## v_identity: getAddress: address '" + address + "' name '" + 80 80 name + "' email '" + email + "'\n"); 81 81 return { name: name, … … 121 121 vI_notificationBar.dump("## v_identity: NotifyComposeFieldsReady\n"); 122 122 vI_msgIdentityClone.initReplyToFields(); 123 vI_ addressBook.init();123 vI_storage.init(); 124 124 vI_smartIdentity.init(); 125 125 }, … … 188 188 vI.addVirtualIdentityToMsgIdentityMenu(); 189 189 vI.original_functions.GenericSendMessage(msgType); 190 vI_ addressBook.storeVIdentityToAllRecipients(msgType);190 vI_storage.storeVIdentityToAllRecipients(msgType); 191 191 if (window.cancelSendMessage) { 192 192 vI.Cleanup_Account(); … … 243 243 vI.msgType = msgType; if (vI.warning(msgType)) { 244 244 vI.original_functions.GenericSendMessage(msgType); 245 vI_ addressBook.storeVIdentityToAllRecipients(msgType); } }245 vI_storage.storeVIdentityToAllRecipients(msgType); } } 246 246 247 247 gMsgCompose.RegisterStateListener(vI.ComposeStateListener); … … 298 298 vI.msgType = msgType; if (vI.warning(msgType)) { 299 299 vI.original_functions.GenericSendMessage(msgType); 300 vI_ addressBook.storeVIdentityToAllRecipients(msgType); } }300 vI_storage.storeVIdentityToAllRecipients(msgType); } } 301 301 vI_notificationBar.dump("## v_identity: restored GenericSendMessage (Virtual Identity deactivated)\n"); 302 302 } … … 308 308 if (vI_account.account) { 309 309 vI.remVirtualIdentityFromMsgIdentityMenu(); 310 vI_account.remove Account();310 vI_account.removeUsedVIAccount(); 311 311 } 312 312 }, -
chrome/content/v_identity/v_identity.xul
r61e69b re35d8e 45 45 <script type="application/x-javascript" src="chrome://v_identity/content/vI_smtpSelector.js" /> 46 46 <script type="application/x-javascript" src="chrome://v_identity/content/vI_notificationBar.js"/> 47 <script type="application/x-javascript" src="chrome://v_identity/content/vI_addressBook.js"/> 47 <script type="application/x-javascript" src="chrome://v_identity/content/vI_rdfDatasource.js"/> 48 <script type="application/x-javascript" src="chrome://v_identity/content/vI_storage.js"/> 48 49 49 50 <stringbundleset id="stringbundleset"> 50 51 <stringbundle id="vIdentBundle" src="chrome://v_identity/locale/v_identity.properties" /> 52 <stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties" /> 51 53 </stringbundleset> 52 54 … … 74 76 </menulist> 75 77 </hbox> 76 <checkbox id=" aBook_save" label="&vident.composeDialog.aBookSave.label;"77 tooltiptext="&vident.composeDialog. aBookSave.tooltiptext;" hidden="true" />78 <checkbox id="storage_save" label="&vident.composeDialog.storageSave.label;" 79 tooltiptext="&vident.composeDialog.storageSave.tooltiptext;" hidden="true" /> 78 80 </hbox> 79 81 -
chrome/locale/en-US/v_identity/v_identity.dtd
r61e69b re35d8e 13 13 <!ENTITY vident.prefs.smartReplyNewsgroups.label "use Smart Reply also if answering to a newsgroup"> 14 14 <!ENTITY vident.prefs.smartTimestamp.label "use Smart Timestamp"> 15 <!ENTITY vident.prefs.aBook.label "use Addressbook to store Virtual Identities">16 <!ENTITY vident.prefs.aBookNonVIdentity.label "store also usual Identities in you Addressbook">17 15 <!ENTITY vident.prefs.SMTP.label "show SMTP Menu"> 18 16 <!ENTITY vident.prefs.menuEntry.label "add entry for Settings-Dialog to Tools menu"> … … 40 38 <!ENTITY vident.prefs.smartReplyTab.Tab3.label "3. use addresses"> 41 39 <!ENTITY vident.prefs.smartReplyTab.caption "Virtual Identity Smart Reply"> 42 <!ENTITY vident.prefs.smartReplyTab3.caption "Virtual Identity Smart Reply / Addressbook">40 <!ENTITY vident.prefs.smartReplyTab3.caption "Virtual Identity Smart Reply / Storage"> 43 41 <!ENTITY vident.prefs.smartReplyTab.Tab1.desc "To find a Reply-Identity, Smart Reply has to get a list of possible sender identities. Therefore usually the header-fields 'To' and 'Cc' are analyzed. Here you can enter those and/or other header-fields. (additional options: to select header number n out of any headers with the same name add ':n'. If you add ':@' to any entry, only email-addresses are used, names are ignored.)"> 44 42 <!ENTITY vident.prefs.smartReply.headers.desc "additional headers - one per line, for instance 'x-original-to' or 'x-original-to:@' or 'x-original-to:2:@'"> … … 48 46 <!ENTITY vident.prefs.smartReply.ignoreFullname.label "ignore full name while comparing email addresses with existing identities"> 49 47 <!ENTITY vident.prefs.smartReply.defaultFullname.label "if there is no name to any found email-address, use the following one:"> 50 <!ENTITY vident.prefs.smartReplyTab.Tab3.desc "At the end the filtered addresses are added to the message-identity dropdown menu. You can also select, how they are might be used as the new senders identity (If you use the Addressbook to lookup for Identities, the same Options are used).">48 <!ENTITY vident.prefs.smartReplyTab.Tab3.desc "At the end the filtered addresses are combined with the stored previous Virtual Identities (see storage configuration). Than they are added to the message-identity dropdown menu. You can also select, how they are might be used as the new senders identity."> 51 49 <!ENTITY vident.prefs.smartReply.ask.label "open a dialog to choose Identity"> 52 50 <!ENTITY vident.prefs.smartReply.ask_always.label "ask also if there is only one possible address"> 53 51 <!ENTITY vident.prefs.smartReply.autocreate.label "use first found identity without interaction"> 54 52 <!ENTITY vident.prefs.smartReply.autocreate.desc "(if there is only one possible address)"> 55 <!ENTITY vident.prefs.aBookTab.label "Addressbook"> 56 <!ENTITY vident.prefs.aBookTab.header "Storing Virtual Identities in Addressbook"> 57 <!ENTITY vident.prefs.aBookCap1.caption "Storing of Virtual Identities"> 58 <!ENTITY vident.prefs.aBookCap2.caption "Reading of Virtual Identities"> 59 <!ENTITY vident.prefs.aBookCap3.caption "Configure Reply-Identities"> 60 <!ENTITY vident.prefs.aBookCap4.caption "Cleaning of Addressbooks"> 61 <!ENTITY vident.prefs.aBookTab.Tab1.label "1. Common Configurations"> 62 <!ENTITY vident.prefs.aBookTab.Tab2.label "2. Reply-Identities"> 63 <!ENTITY vident.prefs.aBookTab.Tab3.label "3. Extended"> 64 <!ENTITY vident.prefs.aBook.storedefault.label "save Virtual Identities while sending emails"> 65 <!ENTITY vident.prefs.aBook.warn_update.label "ask before overwriting Virtual Identities in your Addressbook"> 66 <!ENTITY vident.prefs.aBook.dont_update_multiple.label "never overwrite (and ask) if email has multiple recipients"> 67 <!ENTITY vident.prefs.aBook.show_switch.label "show switch to activate/deactivate saving of Identities"> 68 <!ENTITY vident.prefs.aBook.warn_vI_replace.label "ask before Virtual Identity in Sender-Field will be replaced"> 69 <!ENTITY vident.prefs.aBook.get_One_Only.label "ignore Addressbook after first Virtual Identity was retrieved"> 70 <!ENTITY vident.prefs.aBookCap2.caption "Selection of Senders Identity"> 71 <!ENTITY vident.prefs.aBook.reply.desc "If you answer any emails and usage of Addressbook is activated together with 'Smart Reply', this is the place to configure if and how the found Identities will be used. Choosing in between the resulting Identities is done the same way as configured under 'Smart Reply'."> 72 <!ENTITY vident.prefs.aBook.use_for_smart_reply.label "use Addressbook Identities together with 'Smart-Reply'"> 73 <!ENTITY vident.prefs.aBook.prefer_smart_reply.label "prefer 'Smart Reply'-Identities"> 74 <!ENTITY vident.prefs.aBook.ignore_smart_reply.label "ignore 'Smart Reply'-Identities if Identities were found in Addressbook"> 75 <!ENTITY vident.prefs.aBookCap3.caption "extended Options"> 76 <!ENTITY vident.prefs.aBook.remove_entries.desc "Here you are able to remove all Virtual Identity Informations from you Addressbooks."> 77 <!ENTITY vident.prefs.aBook.remove_entries.remove "remove Informations"> 53 <!ENTITY vident.prefs.storageTab.label "Storage"> 54 <!ENTITY vident.prefs.storageTab.header "Storing Virtual Identities"> 55 <!ENTITY vident.prefs.storageCap1.caption "Storing of Virtual Identities"> 56 <!ENTITY vident.prefs.storageCap2.caption "Reading of Virtual Identities"> 57 <!ENTITY vident.prefs.storageCap3.caption "Configure Reply-Identities"> 58 <!ENTITY vident.prefs.storageTab.Tab1.label "1. Common Configurations"> 59 <!ENTITY vident.prefs.storageTab.Tab2.label "2. Reply-Identities"> 60 <!ENTITY vident.prefs.storage.storedefault.label "save Virtual Identities while sending emails"> 61 <!ENTITY vident.prefs.storage.warn_update.label "ask before overwriting Virtual Identities in your Storage"> 62 <!ENTITY vident.prefs.storage.dont_update_multiple.label "never overwrite (and ask) if email has multiple recipients"> 63 <!ENTITY vident.prefs.storage.show_switch.label "show switch to activate/deactivate saving of Identities"> 64 <!ENTITY vident.prefs.storage.warn_vI_replace.label "ask before Virtual Identity in Sender-Field will be replaced"> 65 <!ENTITY vident.prefs.storage.get_One_Only.label "ignore Storage after first Virtual Identity was retrieved"> 66 <!ENTITY vident.prefs.storageCap2.caption "Selection of Senders Identity"> 67 <!ENTITY vident.prefs.storage.reply.desc "If you answer any emails, the priority of stored Virtual Identities compared to ones retrieved with 'Smart Reply' can configured here. Choosing in between the resulting Identities is done the same way as configured under 'Smart Reply'."> 68 <!ENTITY vident.prefs.storage.use_for_smart_reply.label "use stored Identities together with 'Smart-Reply'"> 69 <!ENTITY vident.prefs.storage.prefer_smart_reply.label "prefer 'Smart Reply'-Identities"> 70 <!ENTITY vident.prefs.storage.ignore_smart_reply.label "ignore 'Smart Reply'-Identities if Virtual Identities were found stored"> 78 71 <!ENTITY vident.prefs.notificationTab.header "Status Messages"> 79 72 <!ENTITY vident.prefs.notificationTab.caption "Notifications"> 80 73 <!ENTITY vident.prefs.notifyHeaders.label "show information about recognized headers"> 81 74 <!ENTITY vident.prefs.notifySmartIdentity.label "activate Smart Reply / Smart Draft status messages"> 82 <!ENTITY vident.prefs.notify ABook.label "activate Addressbookstatus messages">75 <!ENTITY vident.prefs.notifystorage.label "activate Storage status messages"> 83 76 <!ENTITY vident.prefs.notifyTime.prefix.label "time to show status messages (0 = infinite)"> 84 77 <!ENTITY vident.prefs.notifyTime.postfix.label "seconds"> … … 87 80 <!ENTITY vident.prefs.notifyDebug.label "show area with debug-informations"> 88 81 <!ENTITY vident.accPane.prettyName.prefix "virtual Id"> 89 <!ENTITY vident.composeDialog. aBookSave.label "save">90 <!ENTITY vident.composeDialog. aBookSave.tooltiptext "save Identity while sending in Addressbook">82 <!ENTITY vident.composeDialog.storageSave.label "save"> 83 <!ENTITY vident.composeDialog.storageSave.tooltiptext "save Identity while sending"> 91 84 <!ENTITY vident.replySelector.dialogheader.title "Virtual Identity"> 92 85 <!ENTITY vident.replySelector.caption.label "Choose a Virtual Identity"> -
chrome/locale/en-US/v_identity/v_identity.properties
r61e69b re35d8e 2 2 vident.sendLater.prefix= Replace Virtual Identity with Default Identity ( 3 3 vident.sendLater.postfix= ) ? 4 vident.updateAddressBook.warning1=For the address ' 5 vident.updateAddressBook.warning2=' the Virtual Identity ' 6 vident.updateAddressBook.warning3=' is stored in your Addressbook. Should I replace this Identity with ' 7 vident.updateAddressBook.warning4=' ? 8 vident.clearAddressBook.status.prefix=Currently are 9 vident.clearAddressBook.status.postfix= Virtual Identities registered in your Addressbooks. 10 vident.clearAddressBook.status.none=Currently are no Informations about Virtual Identites in your Addressbooks. 11 vident.clearAddressBook.warning= Would you really like to remove these Informations? 12 vident.updateVirtualIdentity.warning1=Foor the address ' 13 vident.updateVirtualIdentity.warning2=' in your Addressbook the Virtual Identity ' 4 vident.updateStorage.warning1=For the recipient ' 5 vident.updateStorage.warning2=' the Virtual Identity ' 6 vident.updateStorage.warning3=' is stored. Should I replace this Identity with ' 7 vident.updateStorage.warning4=' ? 8 vident.updateVirtualIdentity.warning1=For the recipient ' 9 vident.updateVirtualIdentity.warning2=' the Virtual Identity ' 14 10 vident.updateVirtualIdentity.warning3=' is stored. Should I replace current Virtual Identity in Senders Field with this one? 15 11 vident.smartIdentity.vIUsage= using Virtual Identity as sender 16 vident.smartIdentity.vI aBookUsage= using Virtual Identity from Addressbookas sender17 vident.smartIdentity.vI aBookCollidingIdentity= New recipient has a different Virtual Identity stored in Addressbook. Ignored.12 vident.smartIdentity.vIStorageUsage= using stored Virtual Identity as sender 13 vident.smartIdentity.vIStorageCollidingIdentity= New recipient has a different Virtual Identity stored. Ignored. 18 14 vident.smartIdentity.ignoreRegExp= ignoring invalid regular expression. 19 15 vident.smartIdentity.matchExisting= found matching existent Identity. -
chrome/skin/classic/v_identity/v_identity.css
r61e69b re35d8e 2 2 @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); 3 3 4 #upgradeWizard { 5 width: 550px; 6 height: 350px 7 } 8 9 #upgradeWizard wizardpage { 10 overflow: hidden; 11 } 12 13 #upgradeWizard browser { 14 height: 175px; 15 } 16 17 #upgradeWizard textbox { 18 height: 165px; 19 } 20 4 21 .v_identity_logo_button { 5 22 -moz-appearance: toolbarbutton; -
defaults/preferences/preferences.js
r61e69b re35d8e 15 15 pref("extensions.virtualIdentity.smart_reply_ask", false); 16 16 pref("extensions.virtualIdentity.smart_reply_ask_always", false); 17 pref("extensions.virtualIdentity.smart_reply_headers", " x-original-to\nto\ncc");17 pref("extensions.virtualIdentity.smart_reply_headers", "envelope-to\nx-original-to\nto\ncc"); 18 18 pref("extensions.virtualIdentity.smart_reply_filter", ""); 19 19 pref("extensions.virtualIdentity.smart_reply_notification", true); … … 29 29 pref("extensions.virtualIdentity.warn_virtual", false); 30 30 pref("extensions.virtualIdentity.hide_signature", false); 31 pref("extensions.virtualIdentity.aBook_use", true); 32 pref("extensions.virtualIdentity.aBook_use_non_vI", false); 33 pref("extensions.virtualIdentity.aBook_storedefault", true); 34 pref("extensions.virtualIdentity.aBook_dont_update_multiple", true); 35 pref("extensions.virtualIdentity.aBook_show_switch", true); 36 pref("extensions.virtualIdentity.aBook_warn_update", true); 37 pref("extensions.virtualIdentity.aBook_use_for_smart_reply", true); 38 pref("extensions.virtualIdentity.aBook_prefer_smart_reply", false); 39 pref("extensions.virtualIdentity.aBook_ignore_smart_reply", true); 40 pref("extensions.virtualIdentity.aBook_warn_vI_replace", true); 41 pref("extensions.virtualIdentity.aBook_notification", true); 42 pref("extensions.virtualIdentity.aBook_getOneOnly", true); 31 pref("extensions.virtualIdentity.storage_storedefault", true); 32 pref("extensions.virtualIdentity.storage_dont_update_multiple", true); 33 pref("extensions.virtualIdentity.storage_show_switch", true); 34 pref("extensions.virtualIdentity.storage_warn_update", true); 35 pref("extensions.virtualIdentity.storage_use_for_smart_reply", true); 36 pref("extensions.virtualIdentity.storage_prefer_smart_reply", false); 37 pref("extensions.virtualIdentity.storage_ignore_smart_reply", true); 38 pref("extensions.virtualIdentity.storage_warn_vI_replace", true); 39 pref("extensions.virtualIdentity.storage_notification", true); 40 pref("extensions.virtualIdentity.storage_getOneOnly", true); 43 41 pref("extensions.virtualIdentity.experimental", false); 44 42 pref("extensions.virtualIdentity.autoReplyToSelf", false); 43 pref("extensions.virtualIdentity.storeVIdentity", true); 45 44 pref("extensions.{dddd428e-5ac8-4a81-9f78-276c734f75b8}.description", "chrome://v_identity/locale/v_identity.properties"); -
install.js
r61e69b re35d8e 7 7 // Editable Items Begin 8 8 var displayName = "Virtual Identity"; // The name displayed to the user (don't include the version) 9 var version = "0.4.5pre 3";9 var version = "0.4.5pre4"; 10 10 var name = "v_identity"; // The leafname of the JAR file (without the .jar part) 11 11 … … 22 22 var localeDir = "/" + name + "/" 23 23 24 var locales = new Array( "en-US" , "es-ES", "de-DE", "fr-FR", "nl-NL", "cs-CZ", "it-IT", "sk-SK", "ko-KR");24 var locales = new Array( "en-US" ); 25 25 var skins = new Array( "classic" ); // "modern" 26 26 var prefs = new Array( "preferences.js" ); -
install.rdf
r61e69b re35d8e 27 27 <em:id>{dddd428e-5ac8-4a81-9f78-276c734f75b8}</em:id> 28 28 <em:name>Virtual Identity</em:name> 29 <em:version>0.4.5pre 3</em:version>29 <em:version>0.4.5pre4</em:version> 30 30 <em:description>Allows you to modify your Identity settings for a single Mail on the fly.</em:description> 31 31 <em:creator>Rene Ejury</em:creator> 32 32 <em:contributor>Translations: www.babelzilla.org</em:contributor> 33 <em:contributor>markh</em:contributor> <!-- dutch localization -->34 <em:contributor>PatheticCockroach</em:contributor> <!-- french localization -->35 <em:contributor>Proyecto Nave</em:contributor> <!-- spanish localization -->36 <em:contributor>Michal Kec (MiK)</em:contributor> <!-- czech localization -->37 <em:contributor>Underpass</em:contributor> <!-- italian localization -->38 <em:contributor>Sai</em:contributor> <!-- slovakian localization -->39 <em:contributor>wtspout</em:contributor> <!-- korean localization -->40 33 <em:homepageURL>http://www.absorb.it/virtual-id</em:homepageURL> 41 34 <!--
Note: See TracChangeset
for help on using the changeset viewer.