2
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
3
<?xml-stylesheet href="chrome://communicator/skin/" type="text/css"?>
4
<?xml-stylesheet href="chrome://enigmail/skin/enigmail.css" type="text/css"?>
7
* ***** BEGIN LICENSE BLOCK *****
8
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
10
* The contents of this file are subject to the Mozilla Public
11
* License Version 1.1 (the "MPL"); you may not use this file
12
* except in compliance with the MPL. You may obtain a copy of
13
* the MPL at http://www.mozilla.org/MPL/
15
* Software distributed under the MPL is distributed on an "AS
16
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
17
* implied. See the MPL for the specific language governing
18
* rights and limitations under the MPL.
20
* The Original Code is Enigmail.
22
* The Initial Developer of the Original Code is Patrick Brunschwig.
23
* Portions created by Patrick Brunschwig <patrick@mozilla-enigmail.org> are
24
* Copyright (C) 2004 Patrick Brunschwig. All Rights Reserved.
28
* Alternatively, the contents of this file may be used under the terms of
29
* either the GNU General Public License Version 2 or later (the "GPL"), or
30
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
31
* in which case the provisions of the GPL or the LGPL are applicable instead
32
* of those above. If you wish to allow use of your version of this file only
33
* under the terms of either the GPL or the LGPL, and not to allow others to
34
* use your version of this file under the terms of the MPL, indicate your
35
* decision by deleting the provisions above and replace them with the notice
36
* and other provisions required by the GPL or the LGPL. If you do not delete
37
* the provisions above, a recipient may use your version of this file under
38
* the terms of any one of the MPL, the GPL or the LGPL.
39
* ***** END LICENSE BLOCK ***** *
43
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
44
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
47
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
49
<!ENTITY % enigMailDTD SYSTEM "chrome://enigmail/locale/enigmail.dtd" >
51
<!ENTITY % utilDTD SYSTEM "chrome://communicator/locale/utilityOverlay.dtd">
55
<window id="enigmailKeyManager"
56
title="&enigmail.keyMan.title;"
57
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
58
onload="enigmailKeyManagerLoad();"
61
windowtype="enigmail:KeyManager"
62
persist="screenX screenY width height">
64
<script type="application/x-javascript" src="chrome://global/content/globalOverlay.js"/>
65
<script type="application/x-javascript" src="chrome://enigmail/content/enigmailCommon.js"/>
66
<script type="application/x-javascript" src="chrome://enigmail/content/enigmailKeyManager.js"/>
68
<commandset id="tasksCommands"/>
70
<command id="cmd_close" oncommand="window.close()"/>
71
<command id="cmd_quit"/>
72
<command id="cmd_enigmailDeleteKey" oncommand="enigmailDeleteKey()"/>
75
<key id="key_selectAll" key="&enigmail.keyMan.selectAll.key;"
76
oncommand="enigmailSelectAllKeys()" modifiers="accel"/>
77
<key id="key_enigDelete"
79
command="cmd_enigmailDeleteKey"/>
85
<broadcaster id="bcNoKey" disabled="false"/>
86
<broadcaster id="bcSignKey" disabled="false"/>
87
<broadcaster id="bcSetTrust" disabled="false"/>
88
<broadcaster id="bcViewSig" disabled="false"/>
89
<broadcaster id="bcViewPhoto" disabled="false"/>
90
<broadcaster id="bcEditKey" disabled="false"/>
91
<broadcaster id="bcRevoke" disabled="false"/>
92
<broadcaster id="bcOneKey" disabled="false"/>
93
<broadcaster id="bcDeleteKey" disabled="false"/>
94
<broadcaster id="bcClipbrd" disabled="false"/>
95
<broadcaster id="bcEnableKey" disabled="false" label=""/>
98
<menubar id="main-menubar" grippyhidden="true">
99
<menu label="&enigmail.keyMan.fileMenu.label;"
101
accesskey="&enigmail.keyMan.fileMenu.accesskey;">
102
<menupopup id="menu_FilePopup" onpopupshowing="enigmailKeyMenu()">
104
<menuitem label="&enigmail.keyMan.importFromFile.label;"
106
accesskey="&enigmail.keyMan.importFromFile.accesskey;"
107
oncommand="enigmailImportKeysFromFile()"/>
108
<menuitem label="&enigmail.keyMan.exportToFile.label;"
111
accesskey="&enigmail.keyMan.exportToFile.accesskey;"
112
oncommand="enigmailExportKeys()"/>
114
<menuitem label="&enigmail.keyMan.sendKeys.label;"
117
accesskey="&enigmail.keyMan.sendKeys.accesskey;"
118
oncommand="enigCreateKeyMsg()"/>
120
<menuitem label="&enigmail.keyMan.createMail.label;"
123
accesskey="&enigmail.keyMan.createMail.accesskey;"
124
oncommand="createNewMail()"/>
128
<menuitem label="&enigmail.adminSmartCard.label;"
130
accesskey="&enigmail.adminSmartCard.accesskey;"
131
oncommand="EngmailCardDetails()"/>
135
<menuitem label="&enigmail.keyMan.reload.label;"
137
accesskey="&enigmail.keyMan.reload.accesskey;"
138
oncommand="enigmailRefreshKeys();"/>
142
<!-- add Close and Exit menu items -->
143
<menuitem id="menu_close"/>
147
<menu label="&enigmail.keyMan.editMenu.label;"
148
accesskey="&enigmail.keyMan.editMenu.accesskey;">
149
<menupopup onpopupshowing="enigmailKeyMenu()">
151
<menuitem label="&enigmail.keyMan.importFromClipbrd.label;"
152
id="importFromClipbrd"
154
accesskey="&enigmail.keyMan.importFromClipbrd.accesskey;"
155
oncommand="enigmailImportFromClipbrd()"/>
156
<menuitem label="&enigmail.keyMan.copyToClipbrd.label;"
159
accesskey="&enigmail.keyMan.copyToClipbrd.accesskey;"
160
oncommand="enigmailCopyToClipbrd()"/>
164
<menuitem label="&enigmail.keyMan.sign.label;"
167
accesskey="&enigmail.keyMan.sign.accesskey;"
168
oncommand="enigSignKey()"/>
169
<menuitem label="&enigmail.keyMan.setTrust.label;"
172
accesskey="&enigmail.keyMan.setTrust.accesskey;"
173
oncommand="enigEditKeyTrust()"/>
177
<menuitem id="enableKey"
178
observes="bcEnableKey"
179
accesskey="&enigmail.keyMan.enableKey.accesskey;"
180
oncommand="enigmailEnableKey()"/>
181
<menuitem label="&enigmail.keyMan.revokeKey.label;"
184
accesskey="&enigmail.keyMan.revokeKey.accesskey;"
185
oncommand="enigmailRevokeKey()"/>
187
<menuitem label="&enigmail.keyMan.delKey.label;"
191
accesskey="&enigmail.keyMan.delKey.accesskey;"
192
oncommand="enigmailDeleteKey()"/>
196
<menuitem id="manageUid"
197
label="&enigmail.keyMan.manageUid.label;"
199
accesskey="&enigmail.keyMan.manageUid.accesskey;"
200
oncommand="enigmailManageUids()"/>
202
<menuitem id="changePwd"
203
label="&enigmail.keyMan.changePwd.label;"
205
accesskey="&enigmail.keyMan.changePwd.accesskey;"
206
oncommand="enigmailChangePwd()"/>
208
<menuitem id="addPhoto"
209
label="&enigmail.keyMan.addPhoto.label;"
211
accesskey="&enigmail.keyMan.addPhoto.accesskey;"
212
oncommand="enigmailAddPhoto()"/>
214
<menuitem id="addToRule"
215
label="&enigmail.keyMan.addToPRRule.label;"
217
oncommand="addToPRRule()"/>
221
<menuitem id="selectAll"
222
label="&enigmail.keyMan.selectAll.label;"
223
accesskey="&enigmail.keyMan.selectAll.accesskey;"
224
oncommand="enigmailSelectAllKeys()"
225
key="key_selectAll"/>
231
label="&enigmail.keyMan.viewMenu.label;"
232
accesskey="&enigmail.keyMan.viewMenu.accesskey;">
233
<menupopup onpopupshowing="enigmailKeyMenu()"> <!-- view menu -->
234
<menuitem label="&enigmail.keyMan.viewSig.label;"
237
accesskey="&enigmail.keyMan.viewSig.accesskey;"
238
oncommand="enigmailListSig()"/>
239
<menuitem label="&enigmail.keyMan.viewPhoto.label;"
241
observes="bcViewPhoto"
242
accesskey="&enigmail.keyMan.showPhoto.accesskey;"
243
oncommand="enigShowPhoto()"/>
244
<menuitem label="&enigmail.keyMan.keyProps.label;"
247
accesskey="&enigmail.keyMan.keyDetails.accesskey;"
248
oncommand="enigmailKeyDetails()"/>
250
<menuitem label="&enigmail.keyMan.showInvalidKeys.label;"
255
accesskey="&enigmail.keyMan.showInvalidKeys.accesskey;"
256
oncommand="enigApplyFilter()"/>
257
<menuitem label="&enigmail.keyMan.showUntrustedKeys.label;"
258
id="showUntrustedKeys"
262
accesskey="&enigmail.keyMan.showUntrustedKeys.accesskey;"
263
oncommand="enigApplyFilter()"/>
264
<menuitem label="&enigmail.keyMan.showOthersKeys.label;"
269
accesskey="&enigmail.keyMan.showOthersKeys.accesskey;"
270
oncommand="enigApplyFilter()"/>
275
<menu id="keyserverMenu"
276
label="&enigmail.keyMan.keyserverMenu.label;"
277
accesskey="&enigmail.keyMan.keyserverMenu.accesskey;">
278
<menupopup onpopupshowing="enigmailKeyMenu()"> <!-- keyserverMenu menu -->
280
<menuitem label="&enigmail.keyMan.refreshSelKeys.label;"
283
accesskey="&enigmail.keyMan.refreshSelKeys.accesskey;"
284
oncommand="enigmailReceiveKey()"/>
285
<menuitem label="&enigmail.keyMan.importFromServer.label;"
286
id="importFromServer"
287
accesskey="&enigmail.keyMan.importFromServer.accesskey;"
288
oncommand="enigmailSearchKey()"/>
289
<menuitem label="&enigmail.keyMan.uploadToServer.label;"
292
accesskey="&enigmail.keyMan.uploadToServer.accesskey;"
293
oncommand="enigmailUploadKeys()"/>
295
<menuitem label="&enigmail.keyMan.refreshAllKeys.label;"
297
accesskey="&enigmail.keyMan.refreshAllKeys.accesskey;"
298
oncommand="enigmailRefreshAllKeys()"/>
302
<menu id="generateMenu"
303
label="&enigmail.keyMan.generateMenu.label;"
304
accesskey="&enigmail.keyMan.generateMenu.accesskey;">
305
<menupopup onpopupshowing="enigmailKeyMenu()"> <!-- generate menu -->
306
<menuitem label="&enigmail.keyMan.generate.label;"
308
accesskey="&enigmail.keyMan.generate.accesskey;"
309
oncommand="EnigKeygen(); enigmailRefreshKeys();"/>
310
<menuitem label="&enigmail.keyMan.genRevoke.label;"
311
id="revokationCertificate"
313
accesskey="&enigmail.keyMan.genRevoke.accesskey;"
314
oncommand="enigCreateRevokeCert()"/>
321
<menupopup id="ctxmenu"
322
onpopupshowing="enigmailKeyMenu();">
323
<menuitem label="&enigmail.keyMan.ctxCopyToClipbrd.label;"
324
id="ctxCopyToClipbrd"
325
oncommand="enigmailCopyToClipbrd()"/>
326
<menuitem label="&enigmail.keyMan.ctxExportToFile.label;"
328
oncommand="enigmailExportKeys()"/>
329
<menuitem label="&enigmail.keyMan.sendKeys.label;"
331
oncommand="enigCreateKeyMsg()"/>
335
<menuitem label="&enigmail.keyMan.ctxUploadToServer.label;"
337
oncommand="enigmailUploadKeys()"/>
338
<menuitem label="&enigmail.keyMan.ctxRefreshKey.label;"
340
oncommand="enigmailReceiveKey()"/>
344
<menuitem id="ctxSign" observes="bcSignKey" label="&enigmail.keyMan.sign.label;" oncommand="enigSignKey()"/>
345
<menuitem id="ctxTrust" label="&enigmail.keyMan.setTrust.label;" oncommand="enigEditKeyTrust()"/>
346
<menuitem id="ctxAddToRule" observes="bcSignKey" label="&enigmail.keyMan.addToPRRule.label;" oncommand="addToPRRule()"/>
351
<menuitem id="ctxEnableKey" observes="bcEnableKey" oncommand="enigmailEnableKey()"/>
352
<menuitem id="ctxRevokeKey" observes="bcRevoke" label="&enigmail.keyMan.revokeKey.label;" oncommand="enigmailRevokeKey()"/>
353
<menuitem id="ctxDeleteKey" label="&enigmail.keyMan.delKey.label;" oncommand="enigmailDeleteKey()"/>
357
<menuitem id="ctxManageUid" observes="bcOneKey" label="&enigmail.keyMan.manageUid.label;" oncommand="enigmailManageUids()"/>
358
<menuitem id="ctxChangePwd" observes="bcEditKey" label="&enigmail.keyMan.changePwd.label;" oncommand="enigmailChangePwd()"/>
359
<menuitem id="ctxRevokationCert" observes="bcRevoke" label="&enigmail.keyMan.ctxGenRevoke.label;" oncommand="enigCreateRevokeCert()"/>
360
<menuitem id="ctxAddPhoto" observes="bcRevoke" label="&enigmail.keyMan.addPhoto.label;" oncommand="enigmailAddPhoto()"/>
364
<menuitem id="ctxViewSig" observes="bcViewSig" label="&enigmail.keyMan.ctxViewSig.label;" oncommand="enigmailListSig()"/>
365
<menuitem id="ctxViewPhoto" observes="bcViewPhoto" label="&enigmail.keyMan.ctxViewPhoto.label;" oncommand="enigShowPhoto()"/>
366
<menuitem id="ctxDetails" observes="bcViewSig" label="&enigmail.keyMan.keyProps.label;"
367
oncommand="enigmailKeyDetails()"/>
371
<hbox flex="0" align="center">
372
<label value="&enigmail.keyMan.filter.label;" control="filterKey"/>
373
<textbox id="filterKey" size="30"
376
oncommand="onSearchInput();"/>
377
<separator orient="vertical"/>
378
<checkbox label="&enigmail.keyMan.showAllKeys.label;"
381
accesskey="&enigmail.keyMan.showAllKeys.accesskey;"
382
oncommand="enigmailToggleShowAll(this)"/>
386
<tooltip id="emptyTree" label="&enigmail.keyMan.emptyTree.tooltip;" noautohide="true"/>
387
<tooltip id="nothingFound" label="&enigmail.keyMan.nothingFound.tooltip;" noautohide="true"/>
388
<tooltip id="pleaseWait" label="&enigmail.keyMan.pleaseWait.tooltip;" noautohide="true"/>
390
<groupbox width="700px" flex="1">
392
<tree id="pgpKeyList" flex="1"
393
enableColumnDrag="true"
395
persist="sortDirection sortResource"
396
sortDirection="ascending"
397
sortResource="enigUserNameCol"
398
hidecolumnpicker="false">
401
<treecol id="enigUserNameCol" primary="true"
403
class="sortDirectionIndicator"
404
onclick="sortTree(this)"
405
label="&enigmail.keyMan.userId.label;"
406
persist="width ordinal hidden"/>
407
<splitter class="tree-splitter"/>
408
<treecol id="keyCol" style="width:90px"
409
label="&enigmail.keyId.label;"
411
class="sortDirectionIndicator"
412
onclick="sortTree(this)"
413
persist="width ordinal hidden"/>
414
<splitter class="tree-splitter"/>
415
<treecol id="typeCol" style="width:70px"
416
label="&enigmail.keyMan.keyType.label;"
418
class="sortDirectionIndicator"
419
onclick="sortTree(this)"
421
persist="width ordinal hidden"/>
422
<splitter class="tree-splitter"/>
423
<treecol id="validityCol" style="width:70px"
424
label="&enigmail.keyMan.calcTrust.label;"
426
class="sortDirectionIndicator"
427
onclick="sortTree(this)"
429
persist="width ordinal hidden"/>
430
<splitter class="tree-splitter"/>
431
<treecol id="trustCol" style="width:70px"
432
label="&enigmail.keyMan.ownerTrust.label;"
434
class="sortDirectionIndicator"
435
onclick="sortTree(this)"
437
persist="width ordinal hidden"/>
438
<splitter class="tree-splitter"/>
439
<treecol id="expCol" style="width:70px"
440
label="&enigmail.keyExpiry.label;"
442
class="sortDirectionIndicator"
443
onclick="sortTree(this)"
445
persist="width ordinal hidden"/>
446
<splitter class="tree-splitter"/>
447
<treecol id="fprCol" style="width:70px"
448
label="&enigmail.keyMan.fingerprint.label;"
450
class="sortDirectionIndicator"
451
onclick="sortTree(this)"
453
persist="width ordinal hidden"/>
456
<treechildren id="pgpKeyListChildren" properties=""
463
<hbox id="statusLine">
464
<label id="statusText" value=" "/>
465
<progressmeter id="progressBar" mode="undetermined" value="0" collapsed="true"/>
466
<description id="cancelBox" collapsed="true">
467
<a class="enigmailLink" href=""
468
id="cancelButton" onclick="enigSendKeyCancel()">&enigmail.keyMan.stopTransfer.label;</a>