blob: a62659cc3811abed02057cdc034947655d997aa8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
Components.utils.import("resource:///modules/mailServices.js");
var gOkButton;
var gNameInput;
var gDirectory = null;
var kPersonalAddressbookURI = "moz-abmdbdirectory://abook.mab";
var kCollectedAddressbookURI = "moz-abmdbdirectory://history.mab";
var kAllDirectoryRoot = "moz-abdirectory://";
var kPABDirectory = 2; // defined in nsDirPrefs.h
function abNameOnLoad()
{
// Get the document elements.
gOkButton = document.documentElement.getButton('accept');
gNameInput = document.getElementById('name');
// look in arguments[0] for parameters to see if we have a directory or not
if ("arguments" in window && window.arguments[0] &&
"selectedDirectory" in window.arguments[0]) {
gDirectory = window.arguments[0].selectedDirectory;
gNameInput.value = gDirectory.dirName;
}
// Work out the window title (if we have a directory specified, then it's a
// rename).
var bundle = document.getElementById("bundle_addressBook");
if (gDirectory) {
let oldListName = gDirectory.dirName;
document.title = bundle.getFormattedString("addressBookTitleEdit", [oldListName]);
} else {
document.title = bundle.getString("addressBookTitleNew");
}
if (gDirectory &&
(gDirectory.URI == kCollectedAddressbookURI ||
gDirectory.URI == kPersonalAddressbookURI ||
gDirectory.URI == kAllDirectoryRoot + "?")) {
// Address book name is not editable, therefore disable the field and
// only have an ok button that doesn't do anything.
gNameInput.readOnly = true;
document.documentElement.buttons = "accept";
document.documentElement.removeAttribute("ondialogaccept");
} else {
gNameInput.focus();
abNameDoOkEnabling();
}
}
function abNameOKButton()
{
var newName = gNameInput.value.trim();
// Either create a new directory or update an existing one depending on what
// we were given when we started.
if (gDirectory)
gDirectory.dirName = newName;
else
MailServices.ab.newAddressBook(newName, "", kPABDirectory);
return true;
}
function abNameDoOkEnabling()
{
gOkButton.disabled = gNameInput.value.trim() == "";
}
|