4
* ***** BEGIN LICENSE BLOCK *****
5
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
7
* The contents of this file are subject to the Mozilla Public
8
* License Version 1.1 (the "MPL"); you may not use this file
9
* except in compliance with the MPL. You may obtain a copy of
10
* the MPL at http://www.mozilla.org/MPL/
12
* Software distributed under the MPL is distributed on an "AS
13
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
14
* implied. See the MPL for the specific language governing
15
* rights and limitations under the MPL.
17
* The Original Code is Enigmail.
19
* The Initial Developer of the Original Code is Ramalingam Saravanan.
20
* Portions created by Ramalingam Saravanan <svn@xmlterm.org> are
21
* Copyright (C) 2001 Ramalingam Saravanan. All Rights Reserved.
24
* Patrick Brunschwig <patrick@mozilla-enigmail.org>
26
* Alternatively, the contents of this file may be used under the terms of
27
* either the GNU General Public License Version 2 or later (the "GPL"), or
28
* 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
* ***** END LICENSE BLOCK ***** *
41
This is the overlay that adds a menu and some PGP buttons
42
to messenger mail reading window
45
<?xml-stylesheet href="chrome://enigmail/skin/enigmail.css"
48
<!DOCTYPE window SYSTEM "chrome://enigmail/locale/enigmail.dtd" >
50
<overlay id="enigmailMessengerOverlay"
51
xmlns:html="http://www.w3.org/1999/xhtml"
52
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
54
<script type="application/x-javascript" src="chrome://enigmail/content/enigmailMessengerOverlay.js"/>
56
<commandset id="mailToolbarItems">
57
<command id="button_enigmail_decrypt"/>
61
<broadcaster id="enigmailBcDisplayClass" class="headerValue"/>
64
<!-- Menu insert point for Thunderbird & SeaMonkey -->
65
<menubar id="mail-menubar">
66
<menu id="menu_Enigmail"
67
label="&enigmail.openpgp.label;"
68
accesskey="&enigmail.messengermenu.accesskey;"
69
insertbefore="tasksMenu" />
72
<!-- Menu insert point for Spicebird -->
73
<menubar id="framework-menubar">
74
<menu id="menu_Enigmail"
75
label="&enigmail.openpgp.label;"
76
accesskey="&enigmail.messengermenu.accesskey;"
77
insertafter="messageMenu,go-menu,view-menu" insertbefore="tools-menu"
81
<!-- Thunderbird secondary pane -->
82
<popup id="appmenuSecondaryPane">
83
<splitmenu id="menu_Enigmail2ndPane"
84
label="&enigmail.openpgp.label;"
85
accesskey="&enigmail.messengermenu.accesskey;"
86
insertafter="appmenu_customize">
87
<menupopup id="enigmail_2ndPanePopup" onpopupshowing="Enigmail.msg.displayMainMenu(this)"/>
91
<!-- Menu content for all apps -->
92
<menu id="menu_Enigmail">
94
<menupopup id="menu_EnigmailPopup"
95
onpopupshowing="EnigmailFuncs.collapseAdvanced(this, 'hidden', Enigmail.msg.updateOptionsDisplay());">
97
<menuitem id="enigmail_decryptverify"
98
label="&enigmail.decryptverify.label;"
99
accesskey="&enigmail.decryptverify.accesskey;"
102
oncommand="Enigmail.msg.messageDecrypt();" />
104
<menuitem id="enigmail_savedecrypted"
105
label="&enigmail.savedecrypted.label;"
106
accesskey="&enigmail.savedecrypted.accesskey;"
107
oncommand="Enigmail.msg.messageSave();" />
113
<menuitem id="enigmail_autoDecrypt"
118
label="&enigmail.autoDecrypt.label;"
119
accesskey="&enigmail.autoDecrypt.accesskey;"
120
oncommand="Enigmail.msg.toggleAttribute('autoDecrypt');" />
126
<menuitem id="enigmail_clearPassphrase"
127
label="&enigmail.clearPassphrase.label;"
128
accesskey="&enigmail.clearPassphrase.accesskey;"
131
oncommand="EnigmailCommon.clearPassphrase(window);" />
133
<menuitem id="enigmail_reload_msg"
134
label="&enigmail.reload.label;"
135
accesskey="&enigmail.reload.accesskey;"
138
oncommand="Enigmail.msg.reloadCompleteMsg();" />
140
<menu id="enigmail_sendersKeyMenu"
141
label="&enigmail.sendersKeyMenu.label;"
144
accesskey="&enigmail.sendersKeyMenu.accesskey;">
146
<menupopup onpopupshowing="Enigmail.hdrView.updateSendersKeyMenu();">
148
<menuitem id="enigmail_importpublickey"
149
label="&enigmail.importpublickey.label;"
150
accesskey="&enigmail.importpublickey.accesskey;"
151
oncommand="Enigmail.msg.messageImport();" />
155
<menuitem label="&enigmail.displayKeyProperties.label;"
156
id="enigmail_keyMgmtDispKeyDetails"
157
oncommand="Enigmail.hdrView.dispKeyDetails();"/>
158
<menuitem label="&enigmail.signSenderKey.label;"
159
id="enigmail_keyMgmtSignKey"
160
oncommand="Enigmail.hdrView.signKey();"/>
161
<menuitem label="&enigmail.trustSenderKey.label;"
162
id="enigmail_keyMgmtKeyTrust"
163
oncommand="Enigmail.hdrView.editKeyTrust();"/>
164
<menuitem label="&enigmail.showPhoto.label;"
165
id="enigmail_keyMgmtShowPhoto"
166
oncommand="Enigmail.hdrView.showPhoto();"/>
172
<menuitem id="enigmail_prefs"
173
label="&enigmail.prefs.label;"
174
accesskey="&enigmail.prefs.accesskey;"
175
oncommand="EnigmailFuncs.openPrefWindow(window, true, null);" />
178
<menuitem id="enigmail_RulesEditor"
179
label="&enigmail.editRules.label;"
180
accesskey="&enigmail.editRules.accesskey;"
183
oncommand="EnigmailFuncs.openRulesEditor();"/>
186
<menuitem id="enigmail_keymgmt"
187
label="&enigmail.keyManWindow.label;"
188
accesskey="&enigmail.keyManWindow.accesskey;"
189
oncommand="EnigmailFuncs.openKeyManager(window);" />
191
<menuitem label="&enigmail.adminSmartCard.label;"
192
id="enigmail_smartCard"
193
accesskey="&enigmail.adminSmartCard.accesskey;"
196
oncommand="EnigmailFuncs.openCardDetails();"/>
202
<menu id="enigmail_debugMenu"
203
label="&enigmail.debugMenu.label;"
206
accesskey="&enigmail.debugMenu.accesskey;">
209
<menuitem id="enigmail_console"
210
label="&enigmail.viewconsole.label;"
211
accesskey="&enigmail.viewconsole.accesskey;"
212
oncommand="EnigmailFuncs.openConsoleWindow();" />
214
<menuitem id="enigmail_debug_log"
215
label="&enigmail.viewdebuglog.label;"
216
accesskey="&enigmail.viewdebuglog.accesskey;"
217
oncommand="EnigmailFuncs.openDebugLog(window);" />
223
<menuitem id="enigmail_help"
224
label="&enigmail.help.label;"
225
accesskey="&enigmail.help.accesskey;"
226
oncommand="EnigmailFuncs.openHelpWindow('messenger');" />
228
<menuitem id="enigmail_wizard"
229
label="&enigmail.setupWiz.label;"
230
accesskey="&enigmail.setupWiz.accesskey;"
231
oncommand="EnigmailFuncs.openSetupWizard(window);" />
233
<menuitem id="enigmail_about"
234
label="&enigmail.about.label;"
235
accesskey="&enigmail.about.accesskey;"
236
oncommand="EnigmailFuncs.openAboutWindow();" />
241
<!-- Thunderbird & SeaMonkey 2.x -->
242
<toolbarpalette id="MailToolbarPalette">
243
<toolbarbutton class="toolbarbutton-1"
244
id="button-enigmail-decrypt"
245
label="&enigmail.decryptbutton.label;"
246
tooltiptext="&enigmail.decryptbutton.tip;"
247
oncommand="Enigmail.msg.messageDecrypt();"
248
buttontype="thunderbird"
249
observes="button_enigmail_decrypt"
250
insertafter="button-newmsg"
255
<toolbarpalette id="framework-toolpalette">
256
<toolbarbutton class="framework-toolbarbutton padded-toolbarbutton"
257
id="button-enigmail-decrypt"
258
label="&enigmail.decryptbutton.label;"
259
tooltiptext="&enigmail.decryptbutton.tip;"
260
oncommand="Enigmail.msg.messageDecrypt();"
261
buttontype="thunderbird"
262
observes="button_enigmail_decrypt"
263
insertafter="button-newmsg"
268
<!-- override default set to include enigmail decryption icon -->
269
<!-- Thunderbird 3.0 and newer -->
270
<toolbar id="mail-bar3"
271
defaultset="button-getmsg,button-newmsg,button-chat,button-address,spacer,button-tag,button-enigmail-decrypt,qfb-show-filter-bar,spring,gloda-search,button-appmenu">
274
<!-- SeaMonkey 2.0 and newer -->
275
<toolbar id="msgToolbar"
276
defaultset="button-getmsg,button-newmsg,separator,button-reply,button-replyall,button-forward,separator,button-enigmail-decrypt,spacer,button-goback,button-goforward,button-next,button-junk,button-delete,button-mark,spring,throbber-box">
280
<vbox id="messagepanebox">
282
<hbox id="enigmailBox" class="expandedEnigmailBox"
283
collapsed="true" align="center">
286
<spacer class="enigmailHeaderSpacer"/>
289
<hbox class="headerNameBox" align="start" id="enigmailStatusTextBox" pack="start">
290
<image id="enigToggleHeaderView2"
291
class="enigmailExpandViewButton" onclick="Enigmail.hdrView.toggleHeaderView();"
292
state="false" persist="state class"/>
294
<label class="enigmailHeaderName"
295
id="enigmailStatusHdr" flex="1"
296
value="&enigmail.openpgp.label;" control="enigmailStatusText"/>
299
<hbox flex="1" pack="start" class="headerValueBox">
300
<vbox flex="1" pack="start">
301
<textbox flex="1" readonly="true" align="center"
302
id="enigmailStatusText" chromedir="ltr"
303
class="enigmailHeaderValue"/>
304
<textbox flex="1" readonly="true"
305
id="expandedEnigmailStatusText"
306
class="enigmailHeaderValue"
307
observes="enigmailStatusText"
309
collapsed="true" display="false" state="false"
310
persist="display" aria-labelledby="enigmailStatusHdr"/>
312
<vbox class="enigmailHeaderNameBox" flex="0" pack="center">
313
<observes element="enigmailStatusText" attribute="class"/>
314
<button id="enigmailStatusHdrDetails" pack="center"
315
label="&enigmail.detailsHdrButton.label;"
317
class="enigMsgHdrView-flat-button">
318
<menupopup id="enigSecurityContext"
319
onpopupshowing="Enigmail.hdrView.dispSecurityContext();">
320
<menuitem label="&enigmail.importpublickey.label;"
321
id="enigmail_importKey"
323
oncommand="Enigmail.msg.handleUnknownKey();"/>
324
<menuitem label="&enigmail.reload.label;"
325
id="enigmail_reloadMessage"
327
oncommand="Enigmail.msg.reloadCompleteMsg();"/>
328
<menuitem label="&enigmail.pgpSecurityInfo.label;"
329
id="enigmail_pgpSecurityInfo"
330
oncommand="Enigmail.msg.viewOpenpgpInfo(null, false);"/>
331
<menuitem label="&enigmail.copySecurityInfo.label;"
332
id="enigmail_copySecurityInfo"
333
oncommand="Enigmail.hdrView.copyStatusInfo();"/>
335
<menuitem label="&enigmail.displayKeyProperties.label;"
336
id="enigmail_dispKeyDetails"
337
oncommand="Enigmail.hdrView.dispKeyDetails();"/>
338
<menuitem label="&enigmail.showPhoto.label;"
339
id="enigmail_showPhoto"
340
oncommand="Enigmail.hdrView.showPhoto();"/>
341
<menuitem label="&enigmail.signSenderKeyPopup.label;"
342
id="enigmail_signSenderKey"
343
oncommand="Enigmail.hdrView.signKey();"/>
344
<menuitem label="&enigmail.trustSenderKeyPopup.label;"
345
id="enigmail_editSenderKeyTrust"
346
oncommand="Enigmail.hdrView.editKeyTrust();"/>
353
<hbox id="enigmailRevealAttachments" hidden="true" class="enigmailHeaderNameBox enigmailHeaderBoxLabelSignatureUnknown" flex="0" pack="center">
354
<vbox flex="1" pack="start">
355
<textbox flex="1" readonly="true" align="center" class="enigmailHeaderValue" chromedir="ltr"
356
value="&enigmail.revealAttachmentsButton.label;"/>
358
<button class="enigMsgHdrView-flat-button" label="Reveal" oncommand="Enigmail.msg.revealAttachments();"/>
365
<popup id="attachmentItemContext" onpopupshowing="return Enigmail.hdrView.enigOnShowAttachmentContextMenu();">
367
<menuitem id="enigmail_ctxImportKey"
368
label="&enigmail.ctxImportKey.label;"
369
accesskey="&enigmail.ctxImportKey.accesskey;"
370
oncommand="Enigmail.msg.handleAttachmentSel('importKey');"/>
371
<menuitem id="enigmail_ctxDecryptOpen"
372
label="&enigmail.ctxDecryptOpen.label;"
373
accesskey="&enigmail.ctxDecryptOpen.accesskey;"
374
oncommand="Enigmail.msg.handleAttachmentSel('openAttachment');"/>
375
<menuitem id="enigmail_ctxDecryptSave"
376
label="&enigmail.ctxDecryptSave.label;"
377
accesskey="&enigmail.ctxDecryptSave.accesskey;"
378
oncommand="Enigmail.msg.handleAttachmentSel('saveAttachment');"/>
379
<menuitem id="enigmail_ctxVerifyAtt"
380
label="&enigmail.ctxVerifyAtt.label;"
381
accesskey="&enigmail.ctxVerifyAtt.accesskey;"
382
oncommand="Enigmail.msg.handleAttachmentSel('verifySig');"/>
386
<popup id="attachmentListContext">
388
<menuitem id="enigmail_ctxImportKey_SM"
389
label="&enigmail.ctxImportKey.label;"
390
accesskey="&enigmail.ctxImportKey.accesskey;"
391
oncommand="Enigmail.msg.handleAttachmentSel('importKey');"/>
392
<menuitem id="enigmail_ctxDecryptOpen_SM"
393
label="&enigmail.ctxDecryptOpen.label;"
394
accesskey="&enigmail.ctxDecryptOpen.accesskey;"
395
oncommand="Enigmail.msg.handleAttachmentSel('openAttachment');"/>
396
<menuitem id="enigmail_ctxDecryptSave_SM"
397
label="&enigmail.ctxDecryptSave.label;"
398
accesskey="&enigmail.ctxDecryptSave.accesskey;"
399
oncommand="Enigmail.msg.handleAttachmentSel('saveAttachment');"/>
400
<menuitem id="enigmail_ctxVerifyAtt_SM"
401
label="&enigmail.ctxVerifyAtt.label;"
402
accesskey="&enigmail.ctxVerifyAtt.accesskey;"
403
oncommand="Enigmail.msg.handleAttachmentSel('verifySig');"/>
406
<statusbar id="status-bar">
407
<hbox id="enigmail-status-bar"
408
insertafter="totalMessageCount"
410
<statusbarpanel id="enigmail-signed-status"
411
class="statusbarpanel-iconic"
413
<statusbarpanel id="enigmail-encrypted-status"
414
class="statusbarpanel-iconic"