Changeset 67ba6a
- Timestamp:
- Sep 16, 2008, 2:21:41 AM (14 years ago)
- Branches:
- lite_0.1, multiEdit, ng_0.6, ng_0.6_help, ng_0.8, ng_0.9
- Children:
- b3755b
- Parents:
- 97d350
- Location:
- chrome
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
chrome/content/v_identity/vI_account.js
r97d350 r67ba6a 34 34 .getBranch(null), 35 35 36 _getBaseIdentity : function () { 37 return gAccountManager.getIdentity(vI.elements.Obj_MsgIdentity.value); 38 }, 39 36 40 _copyBoolAttribute : function(name) { 37 41 vI_account.account.defaultIdentity.setBoolAttribute(name, 38 vI_ helper.getBaseIdentity().getBoolAttribute(name));42 vI_account._getBaseIdentity().getBoolAttribute(name)); 39 43 }, 40 44 41 45 _copyIntAttribute : function(name) { 42 46 vI_account.account.defaultIdentity.setIntAttribute(name, 43 vI_ helper.getBaseIdentity().getIntAttribute(name));47 vI_account._getBaseIdentity().getIntAttribute(name)); 44 48 }, 45 49 46 50 _copyCharAttribute : function(name) { 47 51 vI_account.account.defaultIdentity.setCharAttribute(name, 48 vI_ helper.getBaseIdentity().getCharAttribute(name));52 vI_account._getBaseIdentity().getCharAttribute(name)); 49 53 }, 50 54 51 55 _copyUnicharAttribute : function(name) { 52 56 vI_account.account.defaultIdentity.setUnicharAttribute(name, 53 vI_ helper.getBaseIdentity().getUnicharAttribute(name));57 vI_account._getBaseIdentity().getUnicharAttribute(name)); 54 58 }, 55 59 … … 212 216 // by pointing to the same incomingServer stored passwords can be reused 213 217 // the incomingServer has to be replaced before the account is removed, else it get removed ether 214 var servers = vI_account.AccountManager.GetServersForIdentity(vI_ helper.getBaseIdentity());218 var servers = vI_account.AccountManager.GetServersForIdentity(vI_account._getBaseIdentity()); 215 219 vI_account.account.incomingServer = servers.QueryElementAt(0, Components.interfaces.nsIMsgIncomingServer); 216 220 … … 250 254 case "3" : 251 255 vI_notificationBar.dump ("## vI_account: preparing Fcc --- use Settings of Modified Account\n"); 252 vI_account.account.defaultIdentity.doFcc = vI_ helper.getBaseIdentity().doFcc;253 vI_account.account.defaultIdentity.fccFolder = vI_ helper.getBaseIdentity().fccFolder;254 vI_account.account.defaultIdentity.fccFolderPickerMode = vI_ helper.getBaseIdentity().fccFolderPickerMode;256 vI_account.account.defaultIdentity.doFcc = vI_account._getBaseIdentity().doFcc; 257 vI_account.account.defaultIdentity.fccFolder = vI_account._getBaseIdentity().fccFolder; 258 vI_account.account.defaultIdentity.fccFolderPickerMode = vI_account._getBaseIdentity().fccFolderPickerMode; 255 259 if (!vI_helper.olderVersion("TB", "2.0")) 256 vI_account.account.defaultIdentity.fccReplyFollowsParent = vI_ helper.getBaseIdentity().fccReplyFollowsParent;260 vI_account.account.defaultIdentity.fccReplyFollowsParent = vI_account._getBaseIdentity().fccReplyFollowsParent; 257 261 break; 258 262 default : … … 290 294 case "3" : 291 295 vI_notificationBar.dump ("## vI_account: preparing Draft --- use Settings of Modified Account\n"); 292 vI_account.account.defaultIdentity.draftFolder = vI_ helper.getBaseIdentity().draftFolder;293 vI_account.account.defaultIdentity.draftsFolderPickerMode = vI_ helper.getBaseIdentity().draftsFolderPickerMode;296 vI_account.account.defaultIdentity.draftFolder = vI_account._getBaseIdentity().draftFolder; 297 vI_account.account.defaultIdentity.draftsFolderPickerMode = vI_account._getBaseIdentity().draftsFolderPickerMode; 294 298 break; 295 299 default : … … 317 321 case "3" : 318 322 vI_notificationBar.dump ("## vI_account: preparing Templates --- use Settings of Modified Account\n"); 319 vI_account.account.defaultIdentity.stationeryFolder = vI_ helper.getBaseIdentity().stationeryFolder;320 vI_account.account.defaultIdentity.tmplFolderPickerMode = vI_ helper.getBaseIdentity().tmplFolderPickerMode;323 vI_account.account.defaultIdentity.stationeryFolder = vI_account._getBaseIdentity().stationeryFolder; 324 vI_account.account.defaultIdentity.tmplFolderPickerMode = vI_account._getBaseIdentity().tmplFolderPickerMode; 321 325 break; 322 326 default : -
chrome/content/v_identity/vI_helper.js
r97d350 r67ba6a 103 103 }, 104 104 105 // "accountname" property changed in Thunderbird 3.x, Seamonkey 1.5x to "description" 106 getAccountname: function(elem) { 107 if (elem.getAttribute("accountname") == "" && elem.getAttribute("description") != "") 108 return "- " + elem.getAttribute("description") 109 else return elem.getAttribute("accountname") 110 }, 111 105 /*vI_upgrade.js:229: 106 vI_upgrade.js:232:*/ 112 107 combineNames : function (fullName, email) { 113 108 if (fullName && fullName.replace(/^\s+|\s+$/g,"")) return fullName.replace(/^\s+|\s+$/g,"") + " <" + email.replace(/^\s+|\s+$/g,"") + ">" 114 109 else return email?email.replace(/^\s+|\s+$/g,""):"" 115 110 }, 111 112 // vI_rdfDataEditor.js:80: elem.value = address.combinedName; 113 // vI_rdfDatasource.js:119: if (!parsed.combinedName) { 114 // vI_rdfDatasource.js:123: vI_notificationBar.dump("## vI_rdfDatasource: __getRDFResourceForVIdentity: recDescription=" + parsed.combinedName + "\n") 115 // vI_rdfDatasource.js:130: return vI_rdfDatasource.rdfService.GetResource(vI_rdfDatasource.rdfNS + rdfNSRecType + parsed.combinedName); 116 // vI_upgrade.js:225: //~ alert(splitted.email + "++" + splitted.name + "++" + splitted.combinedName) 117 // vI_upgrade.js:256: combinedName: name + " <" + email + ">"} 116 118 117 addIdentityMenuItem: function(object, identityName, accountName, accountKey, identityKey, base_id_key, smtp_key, extras) {118 vI_notificationBar.dump("## vI_helper: addIdentityMenuItem '" + accountName + "'\n");119 var MenuItem = document.createElement("menuitem");120 MenuItem.className = "identity-popup-item";121 122 // set the account name in the choosen menu item123 MenuItem.setAttribute("label", identityName);124 MenuItem.setAttribute("accountname", accountName);125 MenuItem.setAttribute("accountkey", accountKey);126 MenuItem.setAttribute("value", identityKey);127 MenuItem.setAttribute("class", "identity_clone-popup-item new-icon")128 if (base_id_key) MenuItem.base_id_key = base_id_key129 if (smtp_key) MenuItem.smtp_key = smtp_key130 if (extras) MenuItem.extras = extras131 132 MenuItem.identityData = new identityData("test@identityData", identityName, base_id_key, smtp_key, extras);133 134 object.appendChild(MenuItem)135 136 return MenuItem137 },138 139 getBaseIdentity : function () {140 return gAccountManager.getIdentity(vI.elements.Obj_MsgIdentity.value);141 },142 143 119 parseAddress : function(address) { 144 120 //~ vI_notificationBar.dump("## v_identity: getAddress: parsing '" + address + "'\n") -
chrome/content/v_identity/vI_rdfDatasource.js
r97d350 r67ba6a 235 235 vI_rdfDatasource.__setRDFValue(resource, "smtp", localIdentityData.smtp) 236 236 237 if (localIdentityData.extras)localIdentityData.extras.loopForRDF(vI_rdfDatasource.__setRDFValue, resource);237 localIdentityData.extras.loopForRDF(vI_rdfDatasource.__setRDFValue, resource); 238 238 }, 239 239 -
chrome/content/v_identity/vI_storage.js
r97d350 r67ba6a 36 36 this.id = (this.__keyTranslator.isValidID(id))?id:""; 37 37 this.smtp = (this.__keyTranslator.isValidSMTP(smtp))?smtp:"" 38 this.extras = extras ;38 this.extras = extras?extras:new vI_storageExtras(); 39 39 this.comp = { // holds the results of the last comparison for later creation of a compareMatrix 40 40 compareID : null, … … 94 94 // creates an Duplicate of the current IdentityData, cause usually we are working with a pointer 95 95 getDuplicate : function() { 96 var newExtras = this.extras?this.extras.getDuplicate():null; 97 return new identityData(this.email, this.fullName, this.id, this.smtp, newExtras, this.sideDescription); 96 return new identityData(this.email, this.fullName, this.id, this.smtp, this.extras.getDuplicate(), this.sideDescription); 98 97 }, 99 98 … … 141 140 142 141 __equalsIdentity : function(identity) { 143 var newExtras = new vI_storageExtras();144 newExtras.readValues(identity);145 142 var testIdentity = new identityData( 146 143 identity.email, 147 144 identity.fullName, 148 145 identity.key, 149 identity.smtpServerKey, newExtras) 146 identity.smtpServerKey) 147 testIdentity.extras.readIdentityValues(identity); 150 148 return (this.equals(testIdentity)); 151 149 }, … … 158 156 this.comp.equals.smtpName = this.__equalSMTP(compareIdentityData.smtp); 159 157 this.comp.equals.idName = this.__equalID(compareIdentityData.id); 160 this.comp.equals.extras = (!this.extras || !compareIdentityData.extras || this.extras.equal(compareIdentityData.extras))158 this.comp.equals.extras = this.extras.equal(compareIdentityData.extras); 161 159 162 160 return (this.comp.equals.fullName && this.comp.equals.email && this.comp.equals.smtpName && this.comp.equals.idName && this.comp.equals.extras) … … 195 193 string += "<tr><td class='col1'>" + this[item+"Label"] + ":</td>" + 196 194 "<td class='col2'>" + this[item+"Html"] + "</td></tr>" 197 if (this.extras)string += this.extras.getMatrix();195 string += this.extras.getMatrix(); 198 196 return string; 199 197 } -
chrome/content/v_identity/vI_storageExtras.js
r97d350 r67ba6a 155 155 }, 156 156 157 readIdentityValues : function(identity) { 158 this.readValues(); // has to be build for all extras 159 }, 157 160 158 161 setValues : function() { -
chrome/content/v_identity/v_identity.js
r97d350 r67ba6a 22 22 Contributor(s): 23 23 * ***** END LICENSE BLOCK ***** */ 24 25 26 var vI_statusmenu = {27 prefroot : Components.classes["@mozilla.org/preferences-service;1"]28 .getService(Components.interfaces.nsIPrefService)29 .getBranch(null),30 31 objStatusMenu : null,32 objSaveBaseIDMenuItem : null,33 objStorageSaveMenuItem : null,34 objStatusMenuSeparator : null,35 objSaveSwitch : null,36 objStatusText : null,37 38 observe: function(subject, topic, data) {39 switch (data) {40 case "extensions.virtualIdentity.storage_show_switch":41 vI_statusmenu.objSaveSwitch.setAttribute("hidden", !vI_statusmenu.prefroot.getBoolPref(data));42 // no break, continue like with storedefault43 case "extensions.virtualIdentity.storage_storedefault":44 vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage_storedefault"));45 break;46 case "extensions.virtualIdentity.storage_store_base_id":47 vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref(data));48 break;49 case "extensions.virtualIdentity.storage":50 if (vI_statusmenu.prefroot.getBoolPref(data)) {51 vI_statusmenu.objStorageSaveMenuItem.removeAttribute("hidden");52 vI_statusmenu.objSaveBaseIDMenuItem.removeAttribute("hidden");53 vI_statusmenu.objStatusMenuSeparator.removeAttribute("hidden");54 }55 else {56 vI_statusmenu.objStorageSaveMenuItem.setAttribute("hidden", "true");57 vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("hidden", "true");58 vI_statusmenu.objStatusMenuSeparator.setAttribute("hidden", "true");59 }60 break;61 }62 vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem);63 },64 65 addObserver: function() {66 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage", vI_statusmenu, false);67 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_show_switch", vI_statusmenu, false);68 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu, false);69 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu, false);70 },71 72 removeObserver: function() {73 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage", vI_statusmenu);74 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_show_switch", vI_statusmenu);75 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu);76 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu);77 },78 79 init : function () {80 vI_statusmenu.prefroot.QueryInterface(Components.interfaces.nsIPrefBranch2);81 82 vI_statusmenu.objStatusMenu = document.getElementById("vI-status-menu");83 vI_statusmenu.objSaveBaseIDMenuItem = document.getElementById("vI_statusMenu_storage_saveBaseID");84 vI_statusmenu.objStorageSaveMenuItem = document.getElementById("vI_statusMenu_storage_save");85 vI_statusmenu.objStatusMenuSeparator = document.getElementById("vI_statusMenu_separator");86 vI_statusmenu.objSaveSwitch = document.getElementById("storage_save");87 vI_statusmenu.objStatusText = document.getElementById("statusText");88 vI_statusmenu.objStatusTooltipLine1 = document.getElementById("vI_statusMenuTooltip_StatusValueLine1");89 vI_statusmenu.objStatusTooltipLine2 = document.getElementById("vI_statusMenuTooltip_StatusValueLine2");90 91 vI_statusmenu.addObserver();92 vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_show_switch");93 vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_store_base_id");94 vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage");95 },96 97 saveBaseIDClicked : function () {98 vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem);99 },100 101 __timeout : 5, // timeout for status messages in seconds102 __addStatusMessage : function(save) {103 var messageLine1 = vI.elements.strings.getString("vident.statusText.save." + save + ".line1");104 var messageLine2 = vI.elements.strings.getString("vident.statusText.save." + save + ".line2");105 if (!messageLine2) {106 vI_statusmenu.objStatusText.setAttribute("label", messageLine1);107 vI_statusmenu.objStatusTooltipLine1.setAttribute("value", messageLine1);108 vI_statusmenu.objStatusTooltipLine2.setAttribute("hidden", "true");109 }110 else {111 vI_statusmenu.objStatusText.setAttribute("label", messageLine1 + " " + messageLine2);112 vI_statusmenu.objStatusTooltipLine1.setAttribute("value", messageLine1);113 vI_statusmenu.objStatusTooltipLine2.setAttribute("value", messageLine2);114 vI_statusmenu.objStatusTooltipLine2.removeAttribute("hidden");115 }116 window.setTimeout(vI_statusmenu.__clearStatusMessage, vI_statusmenu.__timeout * 1000);117 },118 119 __clearStatusMessage : function() {120 vI_statusmenu.objStatusText.setAttribute("label", "");121 },122 123 menuConstraint : function (elem) {124 var save = "off";125 if (vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage") &&126 elem.getAttribute("checked") == "true") {127 if (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true")128 save = "base";129 else save = "ok";130 }131 vI_statusmenu.objStatusMenu.setAttribute("save", save);132 vI_statusmenu.__addStatusMessage(save);133 },134 135 clicked : function (button) {136 if (button != 0) return; // only react on left mouse button137 if (!vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage")) return;138 139 var curSaveStatus = (vI_statusmenu.objStorageSaveMenuItem.getAttribute("checked") == "true");140 var curSaveBaseIDStatus = (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true");141 var newSaveStatus = ((!curSaveStatus) || (curSaveStatus && !curSaveBaseIDStatus))142 var newSaveBaseIDStatus = (!curSaveBaseIDStatus && curSaveStatus)143 vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", newSaveStatus)144 vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", newSaveBaseIDStatus)145 146 var elem = vI_statusmenu.objStorageSaveMenuItem;147 vI_statusmenu.menuConstraint(elem);148 }149 }150 24 151 25 var vI = { … … 348 222 initSystemStage2 : function() { 349 223 vI_notificationBar.dump("## v_identity: initSystemStage2.\n") 350 // vI_msgIdentityCloneTools.initReplyToFields();351 224 vI_storage.init(); 352 vI_smartIdentity.init(); 225 vI_smartIdentity.init(); 353 226 }, 354 227 … … 368 241 var storage_box = document.getElementById("addresses-box"); 369 242 243 vI.elements.Obj_MsgIdentity.setAttribute("hidden", "true"); 244 vI.elements.Obj_MsgIdentity.previousSibling.setAttribute("control", "msgIdentity_clone"); 245 370 246 storage_box.removeChild(vI.elements.Area_MsgIdentityHbox); 371 247 parent_hbox.appendChild(vI.elements.Area_MsgIdentityHbox); … … 435 311 { 436 312 vI.tempStorage.BaseIdentity = vI.elements.Obj_MsgIdentity.selectedItem; 437 vI.tempStorage.NewIdentity = 438 vI_helper.addIdentityMenuItem(vI.elements.Obj_MsgIdentityPopup, 439 vI_account.account.defaultIdentity.identityName, 440 " - " + vI_account.account.incomingServer.prettyName, 441 vI_account.account.key, 442 vI_account.account.defaultIdentity.key, null, null, null); 313 vI.tempStorage.NewIdentity = document.createElement("menuitem"); 314 MenuItem.className = "identity-popup-item"; 315 316 // set the account name in the choosen menu item 317 MenuItem.setAttribute("label", vI_account.account.defaultIdentity.identityName); 318 MenuItem.setAttribute("accountname", " - " + vI_account.account.incomingServer.prettyName); 319 MenuItem.setAttribute("accountkey", vI_account.account.key); 320 MenuItem.setAttribute("value", vI_account.account.defaultIdentity.key); 321 322 vI.elements.Obj_MsgIdentityPopup.appendChild(MenuItem); 443 323 vI.__setSelectedIdentity(vI.tempStorage.NewIdentity); 444 324 }, -
chrome/content/v_identity/v_identity.xml
r97d350 r67ba6a 217 217 _self: this, 218 218 observe: function(aSubject, aTopic, aPrefName) { 219 if (this._self._prefroot .getBoolPref("extensions.virtualIdentity.show_smtp"))220 this._self. removeAttribute("hidden")221 else this._self.setAttribute("hidden","true")219 if (this._self._prefroot) 220 this._self.showSmtp = 221 this._self._prefroot.getBoolPref("extensions.virtualIdentity.show_smtp") 222 222 } 223 223 })]]></field> 224 <property name="showSmtp" onget="return (this.getAttribute('showSmtp') == 'true');" onset="this.setAttribute('showSmtp',val?'true':'false'); return val;" /> 224 225 <field name="_prefroot">Components.classes["@mozilla.org/preferences-service;1"] 225 226 .getService(Components.interfaces.nsIPrefService) … … 266 267 if (!inputTextbox.timeout) inputTextbox.setAttribute("type", "timed"); 267 268 inputTextbox.setAttribute("timeout", "300") 268 269 this._msgIdentityElem.setAttribute("hidden", "true");270 this._msgIdentityElem.previousSibling.setAttribute("control", "msgIdentity_clone");271 269 ]]> 272 270 </constructor> … … 303 301 var identity = gAccountManager.getIdentity(MenuItems[index].getAttribute("value")); 304 302 305 var new Extras = new vI_storageExtras(); newExtras.readValues();306 var newIdentity = new identityData( identity.email, identity.fullName, identity.key,307 identity.smtpServerKey, newExtras,308 vI_helper.getAccountname(MenuItems[index]))303 var newIdentity = new identityData(identity.email, identity.fullName, identity.key, 304 identity.smtpServerKey, null, 305 identity.description?"- "+identity.description:identity.accountname) 306 newIdentity.extras.readIdentityValues(identity); 309 307 310 308 var menuItem = this.addIdentityToCloneMenu(newIdentity) … … 488 486 document.getAnonymousElementByAttribute(this, "anonid", "smtpServerListHbox").smtp = this._identityDataStorage.smtp; 489 487 490 if (!this.dontInitExtras && this._identityDataStorage.extras) {488 if (!this.dontInitExtras) { 491 489 vI_notificationBar.dump("** v_identity.xml: set extra Values\n"); 492 490 this._identityDataStorage.extras.setValues(); 493 491 } 494 if (!this._identityDataStorage.extras)495 this._identityDataStorage.extras = new vI_storageExtras();496 497 492 vI_notificationBar.dump("** v_identity.xml: read extra Values\n"); 498 493 this._identityDataStorage.extras.readValues(); // fill in the missing Values -
chrome/content/v_identity/v_identity.xul
r97d350 r67ba6a 42 42 <script type="application/x-javascript" src="chrome://v_identity/content/vI_msgIdentityCloneTools.js" /> 43 43 <script type="application/x-javascript" src="chrome://v_identity/content/vI_smartIdentity.js" /> 44 <script type="application/x-javascript" src="chrome://v_identity/content/vI_statusmenu.js" /> 44 45 <!-- <script type="application/x-javascript" src="chrome://v_identity/content/vI_smtpSelector.js" /> --> 45 46 <script type="application/x-javascript" src="chrome://v_identity/content/vI_notificationBar.js"/> -
chrome/skin/classic/v_identity/v_identity.css
r97d350 r67ba6a 128 128 } 129 129 130 . smtpServerMenuList {130 .identity_clone-menulist .smtpServerMenuList { 131 131 -moz-appearance: textfield; 132 132 margin: 0px; … … 138 138 } 139 139 140 . smtpServerMenuList .menuitem-label {140 .identity_clone-menulist .smtpServerMenuList .menuitem-label { 141 141 text-align: center; 142 142 } 143 143 144 .smtpServerMenuList .menulist-icon, .smtpServerMenuList .menulist-dropmarker { 144 .identity_clone-menulist .smtpServerMenuList .menulist-icon, .smtpServerMenuList .menulist-dropmarker { 145 display: none; 146 } 147 148 .identity_clone-menulist [showSmtp="false"] .smtpServerMenuList { 145 149 display: none; 146 150 }
Note: See TracChangeset
for help on using the changeset viewer.