Changeset b05215
- Timestamp:
- Aug 11, 2008, 5:51:34 PM (14 years ago)
- Branches:
- master
- Children:
- 49a198
- Parents:
- b89f87
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chrome/content/v_identity/v_identity.js
rb89f87 rb05215 22 22 Contributor(s): 23 23 * ***** END LICENSE BLOCK ***** */ 24 25 var vI_statusmenu = { 26 prefroot : Components.classes["@mozilla.org/preferences-service;1"] 27 .getService(Components.interfaces.nsIPrefService) 28 .getBranch(null), 29 30 objStatusMenu : null, 31 objSaveBaseIDMenuItem : null, 32 objStorageSaveMenuItem : null, 33 objStatusMenuSeparator : null, 34 objSaveSwitch : null, 35 objStatusText : null, 36 37 observe: function(subject, topic, data) { 38 switch (data) { 39 case "extensions.virtualIdentity.storage_show_switch": 40 vI_statusmenu.objSaveSwitch.setAttribute("hidden", !vI_statusmenu.prefroot.getBoolPref(data)); 41 // no break, continue like with storedefault 42 case "extensions.virtualIdentity.storage_storedefault": 43 vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage_storedefault")); 44 break; 45 case "extensions.virtualIdentity.storage_store_base_id": 46 vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", vI_statusmenu.prefroot.getBoolPref(data)); 47 break; 48 case "extensions.virtualIdentity.storage": 49 if (vI_statusmenu.prefroot.getBoolPref(data)) { 50 vI_statusmenu.objStorageSaveMenuItem.removeAttribute("hidden"); 51 vI_statusmenu.objSaveBaseIDMenuItem.removeAttribute("hidden"); 52 vI_statusmenu.objStatusMenuSeparator.removeAttribute("hidden"); 53 } 54 else { 55 vI_statusmenu.objStorageSaveMenuItem.setAttribute("hidden", "true"); 56 vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("hidden", "true"); 57 vI_statusmenu.objStatusMenuSeparator.setAttribute("hidden", "true"); 58 } 59 break; 60 } 61 vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem); 62 }, 63 64 addObserver: function() { 65 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage", vI_statusmenu, false); 66 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_show_switch", vI_statusmenu, false); 67 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu, false); 68 vI_statusmenu.prefroot.addObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu, false); 69 }, 70 71 removeObserver: function() { 72 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage", vI_statusmenu); 73 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_show_switch", vI_statusmenu); 74 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_storedefault", vI_statusmenu); 75 vI_statusmenu.prefroot.removeObserver("extensions.virtualIdentity.storage_store_base_id", vI_statusmenu); 76 }, 77 78 init : function () { 79 vI_statusmenu.prefroot.QueryInterface(Components.interfaces.nsIPrefBranch2); 80 81 vI_statusmenu.objStatusMenu = document.getElementById("vI-status-menu"); 82 vI_statusmenu.objSaveBaseIDMenuItem = document.getElementById("vI_statusMenu_storage_saveBaseID"); 83 vI_statusmenu.objStorageSaveMenuItem = document.getElementById("vI_statusMenu_storage_save"); 84 vI_statusmenu.objStatusMenuSeparator = document.getElementById("vI_statusMenu_separator"); 85 vI_statusmenu.objSaveSwitch = document.getElementById("storage_save"); 86 vI_statusmenu.objStatusText = document.getElementById("statusText"); 87 88 vI_statusmenu.addObserver(); 89 vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_show_switch"); 90 vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage_store_base_id"); 91 vI_statusmenu.observe(null, null, "extensions.virtualIdentity.storage"); 92 }, 93 94 saveBaseIDClicked : function () { 95 vI_statusmenu.menuConstraint(vI_statusmenu.objStorageSaveMenuItem); 96 }, 97 98 __timeout : 5, // timeout for status messages in seconds 99 __addStatusMessage : function(save) { 100 var message = vI.elements.strings.getString("vident.statusText.save." + save); 101 vI_statusmenu.objStatusText.setAttribute("label", message); 102 window.setTimeout(vI_statusmenu.__clearStatusMessage, vI_statusmenu.__timeout * 1000); 103 }, 104 105 __clearStatusMessage : function() { 106 vI_statusmenu.objStatusText.setAttribute("label", ""); 107 }, 108 109 menuConstraint : function (elem) { 110 var save = "off"; 111 if (vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage") && 112 elem.getAttribute("checked") == "true") { 113 if (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true") 114 save = "base"; 115 else save = "ok"; 116 } 117 vI_statusmenu.objStatusMenu.setAttribute("save", save); 118 vI_statusmenu.__addStatusMessage(save); 119 }, 120 121 clicked : function (button) { 122 if (button != 0) return; // only react on left mouse button 123 if (!vI_statusmenu.prefroot.getBoolPref("extensions.virtualIdentity.storage")) return; 124 125 var curSaveStatus = (vI_statusmenu.objStorageSaveMenuItem.getAttribute("checked") == "true"); 126 var curSaveBaseIDStatus = (vI_statusmenu.objSaveBaseIDMenuItem.getAttribute("checked") == "true"); 127 var newSaveStatus = ((!curSaveStatus) || (curSaveStatus && !curSaveBaseIDStatus)) 128 var newSaveBaseIDStatus = (!curSaveBaseIDStatus && curSaveStatus) 129 vI_statusmenu.objStorageSaveMenuItem.setAttribute("checked", newSaveStatus) 130 vI_statusmenu.objSaveBaseIDMenuItem.setAttribute("checked", newSaveBaseIDStatus) 131 132 var elem = vI_statusmenu.objStorageSaveMenuItem; 133 vI_statusmenu.menuConstraint(elem); 134 }, 135 } 24 136 25 137 var vI = { … … 214 326 vI_smtpSelector.init(); 215 327 vI_msgIdentityClone.init(); 328 vI_statusmenu.init(); 216 329 }, 217 330 … … 364 477 window.addEventListener('load', vI.init, false); // TB 1.5x, SM 365 478 window.addEventListener('compose-window-init', vI.init, true); // TB 2.x 3.x 479 480 window.addEventListener("unload", function(e) { try {vI_statusmenu.removeObserver();} catch (ex) { } }, false); 481
Note: See TracChangeset
for help on using the changeset viewer.