!import
(0 calls, 0 incl. v-uS, 0 excl. v-uS)
1 /* -*- Mode: Java; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ***** BEGIN LICENSE BLOCK *****
3 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 * http://www.mozilla.org/MPL/
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 *
15 * The Original Code is mozilla.org code.
16 *
17 * The Initial Developer of the Original Code is
18 * Netscape Communications Corporation.
19 * Portions created by the Initial Developer are Copyright (C) 1998
20 * the Initial Developer. All Rights Reserved.
21 *
22 * Contributor(s):
23 * Alec Flett <alecf@netscape.com>
24 * Seth Spitzer <sspitzer@netscape.com>
25 *
26 * Alternatively, the contents of this file may be used under the terms of
27 * either of the GNU General Public License Version 2 or later (the "GPL"),
28 * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29 * in which case the provisions of the GPL or the LGPL are applicable instead
30 * of those above. If you wish to allow use of your version of this file only
31 * under the terms of either the GPL or the LGPL, and not to allow others to
32 * use your version of this file under the terms of the MPL, indicate your
33 * decision by deleting the provisions above and replace them with the notice
34 * and other provisions required by the GPL or the LGPL. If you do not delete
35 * the provisions above, a recipient may use your version of this file under
36 * the terms of any one of the MPL, the GPL or the LGPL.
37 *
38 * ***** END LICENSE BLOCK ***** */
39
40 var gMessengerBundle;
41
42 // call this from dialog onload() to set the menu item to the correct value
MsgFolderPickerOnLoad
(0 calls, 0 incl. v-uS, 0 excl. v-uS)
43 function MsgFolderPickerOnLoad(pickerID)
44 {
45 var uri = null;
46 try {
47 uri = window.arguments[0].preselectedURI;
48 }
49 catch (ex) {
50 uri = null;
51 }
52
53 if (uri) {
54 //dump("on loading, set titled button to " + uri + "\n");
55
56 // verify that the value we are attempting to
57 // pre-flight the menu with is valid for this
58 // picker type
59 var msgfolder = GetMsgFolderFromUri(uri, true);
60 if (!msgfolder) return;
61
62 var verifyFunction = null;
63
64 switch (pickerID) {
65 case "msgNewFolderPicker":
66 verifyFunction = msgfolder.canCreateSubfolders;
67 break;
68 case "msgRenameFolderPicker":
69 verifyFunction = msgfolder.canRename;
70 break;
71 default:
72 verifyFunction = msgfolder.canFileMessages;
73 break;
74 }
75
76 if (verifyFunction) {
77 SetFolderPicker(uri,pickerID);
78 }
79 }
80 }
81
PickedMsgFolder
(0 calls, 0 incl. v-uS, 0 excl. v-uS)
82 function PickedMsgFolder(selection,pickerID)
83 {
84 var selectedUri = selection.getAttribute('id');
85 SetFolderPicker(selectedUri,pickerID);
86 }
87
SetFolderPickerElement
(0 calls, 0 incl. v-uS, 0 excl. v-uS)
88 function SetFolderPickerElement(uri, picker)
89 {
90 var msgfolder = GetMsgFolderFromUri(uri, true);
91
92 if (!msgfolder)
93 return;
94
95 var selectedValue = null;
96 var serverName;
97
98 if (msgfolder.isServer)
99 selectedValue = msgfolder.name;
100 else {
101 if (msgfolder.server)
102 serverName = msgfolder.server.prettyName;
103 else {
104 dump("Can't find server for " + uri + "\n");
105 serverName = "???";
106 }
107
108 switch (picker.id) {
109 case "runFiltersFolder":
110 selectedValue = msgfolder.name;
111 break;
112 case "msgTrashFolderPicker":
113 selectedValue = msgfolder.name;
114 break;
115 default:
116 if (!gMessengerBundle)
117 gMessengerBundle = document.getElementById("bundle_messenger");
118 selectedValue = gMessengerBundle.getFormattedString("verboseFolderFormat",
119 [msgfolder.name, serverName]);
120 break;
121 }
122 }
123
124 picker.setAttribute("label",selectedValue);
125 picker.setAttribute("uri",uri);
126 }
127
SetFolderPicker
(0 calls, 0 incl. v-uS, 0 excl. v-uS)
128 function SetFolderPicker(uri,pickerID)
129 {
130 SetFolderPickerElement(uri, document.getElementById(pickerID));
131 }