var gMsgFolder; var gServerTypeFolder = null; var gPreselectedFolderURI = null; var gParentMsgWindow = null; // services used var RDF; // corresponds to MSG_FOLDER_FLAG_OFFLINE const MSG_FOLDER_FLAG_OFFLINE = 0x8000000 function folderPropsOKButtonCallback() { if (gMsgFolder) { // set charset attributes var folderCharsetList = document.getElementById("folderCharsetList"); gMsgFolder.charset = folderCharsetList.getAttribute("value"); gMsgFolder.charsetOverride = document.getElementById("folderCharsetOverride").checked; if(document.getElementById("offline.selectForOfflineFolder").checked || document.getElementById("offline.selectForOfflineNewsgroup").checked) gMsgFolder.setFlag(MSG_FOLDER_FLAG_OFFLINE); else gMsgFolder.clearFlag(MSG_FOLDER_FLAG_OFFLINE); } window.close(); } function folderPropsOnLoad() { dump("folder props loaded"+'\n'); doSetOKCancel(folderPropsOKButtonCallback); moveToAlertPosition(); RDF = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); // look in arguments[0] for parameters if (window.arguments && window.arguments[0]) { if ( window.arguments[0].title ) { top.window.title = window.arguments[0].title; } if ( window.arguments[0].okCallback ) { top.okCallback = window.arguments[0].okCallback; } } // fill in folder name, based on what they selected in the folder pane if (window.arguments[0].preselectedURI) { try { gPreselectedFolderURI = window.arguments[0].preselectedURI; } catch (ex) { } } else { dump("passed null for preselectedURI, do nothing\n"); } if(window.arguments[0].name) { var name = document.getElementById("name"); name.value = window.arguments[0].name; // name.setSelectionRange(0,-1); // name.focusTextField(); } gServerTypeFolder = window.arguments[0].serverType; dump("preselectfolder uri = "+gPreselectedFolderURI+'\n'); dump("serverType = "+gServerTypeFolder+'\n'); if (window.arguments && window.arguments[0]) { if (window.arguments[0].msgWindow) { gParentMsgWindow = window.arguments[0].msgWindow; } } // this hex value come from nsMsgFolderFlags.h var folderResource = RDF.GetResource(gPreselectedFolderURI); if(folderResource) gMsgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder); if (!gMsgFolder) dump("no gMsgFolder preselectfolder uri = "+gPreselectedFolderURI+'\n'); if (gMsgFolder) { if (gMsgFolder.flags & MSG_FOLDER_FLAG_OFFLINE) { if(gServerTypeFolder == "imap" || gServerTypeFolder == "pop3") document.getElementById("offline.selectForOfflineFolder").checked = true; if(gServerTypeFolder == "nntp") document.getElementById("offline.selectForOfflineNewsgroup").checked = true; } else { if(gServerTypeFolder == "imap" || gServerTypeFolder == "pop3") document.getElementById("offline.selectForOfflineFolder").checked = false; if(gServerTypeFolder == "nntp") document.getElementById("offline.selectForOfflineNewsgroup").checked = false; } // select the menu item var folderCharsetList = document.getElementById("folderCharsetList"); var elements = folderCharsetList.getElementsByAttribute("value", gMsgFolder.charset); folderCharsetList.selectedItem = elements[0]; // set override checkbox document.getElementById("folderCharsetOverride").checked = gMsgFolder.charsetOverride; } // select the initial tab if (window.arguments[0].tabID) { // set index for starting panel on the element var folderPropTabPanel = document.getElementById("folderPropTabPanel"); folderPropTabPanel.setAttribute("selectedIndex", window.arguments[0].tabIndex); try { var tab = document.getElementById(window.arguments[0].tabID); tab.setAttribute("selected", "true"); } catch (ex) {} } hideShowControls(gServerTypeFolder); } function hideShowControls(serverType) { var controls = document.getElementsByAttribute("hidable", "true"); var len = controls.length; for (var i=0; i