diff options
Diffstat (limited to 'comm/mail/components/compose/content/messengercompose.xhtml')
-rw-r--r-- | comm/mail/components/compose/content/messengercompose.xhtml | 2572 |
1 files changed, 2572 insertions, 0 deletions
diff --git a/comm/mail/components/compose/content/messengercompose.xhtml b/comm/mail/components/compose/content/messengercompose.xhtml new file mode 100644 index 0000000000..6881bf7cf3 --- /dev/null +++ b/comm/mail/components/compose/content/messengercompose.xhtml @@ -0,0 +1,2572 @@ +<?xml version="1.0"?> +<!-- 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/. --> + +<?xml-stylesheet href="chrome://messenger/skin/messengercompose/messengercompose.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/icons.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/folderMenus.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/attachmentList.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/menulist.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/contextMenu.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/input-fields.css" type="text/css"?> +<?xml-stylesheet href="chrome://messenger/skin/inContentDialog.css" type="text/css"?> + +<!DOCTYPE html [ + <!ENTITY % messengercomposeDTD SYSTEM "chrome://messenger/locale/messengercompose/messengercompose.dtd" > + %messengercomposeDTD; + <!ENTITY % brandDTD SYSTEM "chrome://branding/locale/brand.dtd" > + %brandDTD; + <!ENTITY % customizeToolbarDTD SYSTEM "chrome://messenger/locale/customizeToolbar.dtd"> + %customizeToolbarDTD; + <!ENTITY % viewZoomOverlayDTD SYSTEM "chrome://messenger/locale/viewZoomOverlay.dtd"> + %viewZoomOverlayDTD; + <!ENTITY % baseMenuOverlayDTD SYSTEM "chrome://messenger/locale/baseMenuOverlay.dtd"> + %baseMenuOverlayDTD; + <!ENTITY % msgCompSMIMEDTD SYSTEM "chrome://messenger-smime/locale/msgCompSMIMEOverlay.dtd"> + %msgCompSMIMEDTD; + <!ENTITY % editorOverlayDTD SYSTEM "chrome://messenger/locale/messengercompose/editorOverlay.dtd"> + %editorOverlayDTD; + <!ENTITY % utilityOverlayDTD SYSTEM + "chrome://communicator/locale/utilityOverlay.dtd"> + %utilityOverlayDTD; + <!ENTITY % messengerDTD SYSTEM "chrome://messenger/locale/messenger.dtd"> + %messengerDTD; +]> + +<html id="msgcomposeWindow" xmlns="http://www.w3.org/1999/xhtml" + xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + xmlns:html="http://www.w3.org/1999/xhtml" + icon="msgcomposeWindow" + scrolling="false" + windowtype="msgcompose" + toggletoolbar="true" + persist="screenX screenY width height sizemode" + lightweightthemes="true" +#ifdef XP_MACOSX + macanimationtype="document" + chromemargin="0,-1,-1,-1" +#endif + fullscreenbutton="true"> +<head> + <title>&msgComposeWindow.title;</title> + <link rel="localization" href="branding/brand.ftl"/> + <link rel="localization" href="messenger/messenger.ftl" /> + <link rel="localization" href="messenger/messengercompose/messengercompose.ftl" /> + <link rel="localization" href="messenger/menubar.ftl" /> + <link rel="localization" href="messenger/appmenu.ftl" /> + <link rel="localization" href="messenger/openpgp/openpgp.ftl" /> + <link rel="localization" href="messenger/openpgp/keyAssistant.ftl" /> + <link rel="localization" href="messenger/openpgp/composeKeyStatus.ftl"/> + <link rel="localization" href="toolkit/main-window/findbar.ftl" /> + <link rel="localization" href="toolkit/global/textActions.ftl" /> + <link rel="localization" href="toolkit/printing/printUI.ftl" /> + <script defer="defer" src="chrome://messenger/content/globalOverlay.js"></script> + <script defer="defer" src="chrome://global/content/editMenuOverlay.js"></script> + <script defer="defer" src="chrome://messenger/content/pane-splitter.js"></script> + <script defer="defer" src="chrome://messenger/content/accountUtils.js"></script> + <script defer="defer" src="chrome://messenger/content/mailCore.js"></script> + <script defer="defer" src="chrome://communicator/content/contentAreaClick.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/editor.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/editorUtilities.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/ComposerCommands.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/MsgComposeCommands.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/bigFileObserver.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/cloudAttachmentLinkManager.js"></script> + <script defer="defer" src="chrome://messenger/content/messenger-customization.js"></script> + <script defer="defer" src="chrome://messenger/content/customizable-toolbar.js"></script> + <script defer="defer" src="chrome://messenger/content/browserPopups.js"></script> + <script defer="defer" src="chrome://messenger/content/addressbook/abDragDrop.js"></script> + <script defer="defer" src="chrome://messenger/content/messengercompose/addressingWidgetOverlay.js"></script> + <script defer="defer" src="chrome://global/content/contentAreaUtils.js"></script> + <script defer="defer" src="chrome://messenger/content/addressbook/abCommon.js"></script> + <script defer="defer" src="chrome://messenger/content/viewZoomOverlay.js"></script> +#ifdef XP_MACOSX + <script defer="defer" src="chrome://global/content/macWindowMenu.js"></script> +#endif + <script defer="defer" src="chrome://communicator/content/utilityOverlay.js"></script> + <script defer="defer" src="chrome://messenger/content/toolbarIconColor.js"></script> + <script defer="defer" src="chrome://openpgp/content/ui/enigmailMsgComposeOverlay.js"></script> + <script defer="defer" src="chrome://openpgp/content/ui/commonWorkflows.js"></script> + <script defer="defer" src="chrome://openpgp/content/ui/keyAssistant.js"></script> +</head> +<html:body xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> + + <stringbundle id="bundle_composeMsgs" src="chrome://messenger/locale/messengercompose/composeMsgs.properties"/> + <stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/> + <stringbundle id="brandBundle" src="chrome://branding/locale/brand.properties"/> + +<commandset id="composeCommands"> + <commandset id="msgComposeCommandUpdate" + commandupdater="true" + events="focus" + oncommandupdate="CommandUpdate_MsgCompose()"/> + <commandset id="globalEditMenuItems" + commandupdater="true" + events="focus" + oncommandupdate="goUpdateGlobalEditMenuItems()"/> + <commandset id="selectEditMenuItems" + commandupdater="true" + events="select" + oncommandupdate="goUpdateSelectEditMenuItems()"/> + <commandset id="undoEditMenuItems" + commandupdater="true" + events="undo" + oncommandupdate="goUpdateUndoEditMenuItems()"/> + <commandset id="clipboardEditMenuItems" + commandupdater="true" + events="clipboard" + oncommandupdate="goUpdatePasteMenuItems()"/> + + <!-- commands updated when the editor gets created --> + <commandset id="commonEditorMenuItems" + commandupdater="true" + events="create" + oncommandupdate="goUpdateComposerMenuItems(this)"> + <command id="cmd_print" oncommand="goDoCommand('cmd_print')"/> + <command id="cmd_quitApplication" oncommand="goDoCommand('cmd_quitApplication')"/> + </commandset> + + <commandset id="composerMenuItems" + commandupdater="true" + events="create, mode_switch" + oncommandupdate="goUpdateComposerMenuItems(this)"> + <!-- format menu --> + <command id="cmd_listProperties" oncommand="goDoCommand('cmd_listProperties')"/> + <command id="cmd_colorProperties" oncommand="goDoCommand('cmd_colorProperties')"/> + + <command id="cmd_link" oncommand="goDoCommand('cmd_link')"/> + <command id="cmd_anchor" oncommand="goDoCommand('cmd_anchor')"/> + <command id="cmd_image" oncommand="goDoCommand('cmd_image')"/> + <command id="cmd_hline" oncommand="goDoCommand('cmd_hline')"/> + <command id="cmd_table" oncommand="goDoCommand('cmd_table')"/> + <command id="cmd_objectProperties" oncommand="goDoCommand('cmd_objectProperties')"/> + <command id="cmd_insertChars" oncommand="goDoCommand('cmd_insertChars')" label="&insertCharsCmd.label;"/> + <command id="cmd_insertHTMLWithDialog" oncommand="goDoCommand('cmd_insertHTMLWithDialog')" label="&insertHTMLCmd.label;"/> + <command id="cmd_insertMathWithDialog" oncommand="goDoCommand('cmd_insertMathWithDialog')" label="&insertMathCmd.label;"/> + + <command id="cmd_insertBreakAll" oncommand="goDoCommand('cmd_insertBreakAll')"/> + + <!-- dummy command used just to disable things in non-HTML modes --> + <command id="cmd_renderedHTMLEnabler"/> + </commandset> + + <!-- edit menu commands. These get updated by code in globalOverlay.js --> + <commandset id="composerEditMenuItems" + commandupdater="true" + events="create, mode_switch" + oncommandupdate="goUpdateComposerMenuItems(this)"> + <command id="cmd_pasteNoFormatting" oncommand="goDoCommand('cmd_pasteNoFormatting')" + label="&pasteNoFormatting.label;" accesskey="&pasteNoFormatting.accesskey;"/> + <command id="cmd_findReplace" oncommand="goDoCommand('cmd_findReplace')"/> + <command id="cmd_find" oncommand="goDoCommand('cmd_find')"/> + <command id="cmd_findNext" oncommand="goDoCommand('cmd_findNext');"/> + <command id="cmd_findPrev" oncommand="goDoCommand('cmd_findPrev');"/> + <command id="cmd_spelling" oncommand="goDoCommand('cmd_spelling')"/> + <command id="cmd_pasteQuote" oncommand="goDoCommand('cmd_pasteQuote')" label="&pasteAsQuotationCmd.label;"/> + </commandset> + + <!-- style related commands that update on creation, and on selection change --> + <commandset id="composerStyleMenuItems" + commandupdater="true" + events="create, style, mode_switch" + oncommandupdate="goUpdateComposerMenuItems(this)"> + <command id="cmd_bold" state="false" oncommand="doStyleUICommand('cmd_bold')"/> + <command id="cmd_italic" state="false" oncommand="doStyleUICommand('cmd_italic')"/> + <command id="cmd_underline" state="false" oncommand="doStyleUICommand('cmd_underline')"/> + <command id="cmd_tt" state="false" oncommand="goDoCommand('cmd_tt')"/> + <command id="cmd_smiley"/> + + <command id="cmd_strikethrough" state="false" oncommand="doStyleUICommand('cmd_strikethrough');"/> + <command id="cmd_superscript" state="false" oncommand="doStyleUICommand('cmd_superscript');"/> + <command id="cmd_subscript" state="false" oncommand="doStyleUICommand('cmd_subscript');"/> + <command id="cmd_nobreak" state="false" oncommand="goDoCommand('cmd_nobreak');"/> + + <command id="cmd_em" state="false" oncommand="goDoCommand('cmd_em')"/> + <command id="cmd_strong" state="false" oncommand="goDoCommand('cmd_strong')"/> + <command id="cmd_cite" state="false" oncommand="goDoCommand('cmd_cite')"/> + <command id="cmd_abbr" state="false" oncommand="goDoCommand('cmd_abbr')"/> + <command id="cmd_acronym" state="false" oncommand="goDoCommand('cmd_acronym')"/> + <command id="cmd_code" state="false" oncommand="goDoCommand('cmd_code')"/> + <command id="cmd_samp" state="false" oncommand="goDoCommand('cmd_samp')"/> + <command id="cmd_var" state="false" oncommand="goDoCommand('cmd_var')"/> + + <command id="cmd_ul" state="false" oncommand="doStyleUICommand('cmd_ul')"/> + <command id="cmd_ol" state="false" oncommand="doStyleUICommand('cmd_ol')"/> + + <command id="cmd_indent" oncommand="goDoCommand('cmd_indent')"/> + <command id="cmd_outdent" oncommand="goDoCommand('cmd_outdent')"/> + + <command id="cmd_paragraphState" state=""/> + <command id="cmd_fontFace" state="" oncommand="doStatefulCommand('cmd_fontFace', event.target.value)"/> + + <!-- No "oncommand", use EditorSelectColor() to bring up color dialog --> + <command id="cmd_fontColor" state="" disabled="false"/> + <command id="cmd_backgroundColor" state="" disabled="false"/> + <command id="cmd_highlight" state="transparent" oncommand="EditorSelectColor('Highlight', event);"/> + + <command id="cmd_align" state=""/> + + <command id="cmd_increaseFontStep" oncommand="goDoCommand('cmd_increaseFontStep')"/> + <command id="cmd_decreaseFontStep" oncommand="goDoCommand('cmd_decreaseFontStep')"/> + + <command id="cmd_removeStyles" oncommand="editorRemoveTextStyling();"/> + <command id="cmd_removeLinks" oncommand="goDoCommand('cmd_removeLinks')"/> + <command id="cmd_removeNamedAnchors" oncommand="goDoCommand('cmd_removeNamedAnchors')"/> + </commandset> + + <commandset id="composerTableMenuItems" + commandupdater="true" + events="create, mode_switch" + oncommandupdate="goUpdateTableMenuItems(this)"> + <!-- Table menu --> + <command id="cmd_SelectTable" oncommand="goDoCommand('cmd_SelectTable')"/> + <command id="cmd_SelectRow" oncommand="goDoCommand('cmd_SelectRow')"/> + <command id="cmd_SelectColumn" oncommand="goDoCommand('cmd_SelectColumn')"/> + <command id="cmd_SelectCell" oncommand="goDoCommand('cmd_SelectCell')"/> + <command id="cmd_SelectAllCells" oncommand="goDoCommand('cmd_SelectAllCells')"/> + <command id="cmd_InsertTable" oncommand="goDoCommand('cmd_InsertTable')"/> + <command id="cmd_InsertRowAbove" oncommand="goDoCommand('cmd_InsertRowAbove')"/> + <command id="cmd_InsertRowBelow" oncommand="goDoCommand('cmd_InsertRowBelow')"/> + <command id="cmd_InsertColumnBefore" oncommand="goDoCommand('cmd_InsertColumnBefore')"/> + <command id="cmd_InsertColumnAfter" oncommand="goDoCommand('cmd_InsertColumnAfter')"/> + <command id="cmd_InsertCellBefore" oncommand="goDoCommand('cmd_InsertCellBefore')"/> + <command id="cmd_InsertCellAfter" oncommand="goDoCommand('cmd_InsertCellAfter')"/> + <command id="cmd_DeleteTable" oncommand="goDoCommand('cmd_DeleteTable')"/> + <command id="cmd_DeleteRow" oncommand="goDoCommand('cmd_DeleteRow')"/> + <command id="cmd_DeleteColumn" oncommand="goDoCommand('cmd_DeleteColumn')"/> + <command id="cmd_DeleteCell" oncommand="goDoCommand('cmd_DeleteCell')"/> + <command id="cmd_DeleteCellContents" oncommand="goDoCommand('cmd_DeleteCellContents')"/> + <command id="cmd_JoinTableCells" oncommand="goDoCommand('cmd_JoinTableCells')"/> + <command id="cmd_SplitTableCell" oncommand="goDoCommand('cmd_SplitTableCell')"/> + <command id="cmd_ConvertToTable" oncommand="goDoCommand('cmd_ConvertToTable')"/> + <command id="cmd_TableOrCellColor" oncommand="goDoCommand('cmd_TableOrCellColor')"/> + <command id="cmd_editTable" oncommand="goDoCommand('cmd_editTable')"/> + </commandset> + + <!-- commands updated only when the menu gets created --> + <commandset id="composerListMenuItems" + commandupdater="true" + events="create, mode_switch" + oncommandupdate="goUpdateComposerMenuItems(this)"> + <!-- List menu --> + <command id="cmd_dt" oncommand="goDoCommand('cmd_dt')"/> + <command id="cmd_dd" oncommand="goDoCommand('cmd_dd')"/> + <command id="cmd_removeList" oncommand="goDoCommand('cmd_removeList')"/> + <!-- cmd_ul and cmd_ol are shared with toolbar and are in composerStyleMenuItems commandset --> + </commandset> + + <!-- File Menu --> + <command id="cmd_new" oncommand="goDoCommand('cmd_newMessage')"/> + <command id="cmd_attachFile" oncommand="goDoCommand('cmd_attachFile')"/> + <command id="cmd_attachCloud" oncommand="attachToCloud(event)"/> + <command id="cmd_attachPage" oncommand="goDoCommand('cmd_attachPage')"/> + <command id="cmd_attachVCard" checked="false" + oncommand="ToggleAttachVCard(event.target)"/> + <command id="cmd_attachPublicKey" checked="false" + oncommand="toggleAttachMyPublicKey(event.target)"/> + <command id="cmd_remindLater" checked="false" + oncommand="toggleAttachmentReminder()"/> + <command id="cmd_close" oncommand="goDoCommand('cmd_close')"/> + <command id="cmd_saveDefault" oncommand="goDoCommand('cmd_saveDefault')"/> + <command id="cmd_saveAsFile" oncommand="goDoCommand('cmd_saveAsFile')"/> + <command id="cmd_saveAsDraft" oncommand="goDoCommand('cmd_saveAsDraft')"/> + <command id="cmd_saveAsTemplate" oncommand="goDoCommand('cmd_saveAsTemplate')"/> + <command id="cmd_sendButton" oncommand="goDoCommand('cmd_sendButton')"/> + <command id="cmd_sendNow" oncommand="goDoCommand('cmd_sendNow')"/> + <command id="cmd_sendWithCheck" oncommand="goDoCommand('cmd_sendWithCheck')"/> + <command id="cmd_sendLater" oncommand="goDoCommand('cmd_sendLater')"/> + <command id="cmd_print" oncommand="goDoCommand('cmd_print')"/> + + <!-- Edit Menu --> + <!--command id="cmd_pasteQuote"/ DO NOT INCLUDE THOSE COMMANDS ELSE THE EDIT MENU WILL BE BROKEN! --> + <!--command id="cmd_find"/--> + <!--command id="cmd_findNext"/--> + <command id="cmd_undo" oncommand="goDoCommand('cmd_undo')" disabled="true"/> + <command id="cmd_redo" oncommand="goDoCommand('cmd_redo')" disabled="true"/> + <command id="cmd_cut" oncommand="goDoCommand('cmd_cut')" disabled="true"/> + <command id="cmd_copy" oncommand="goDoCommand('cmd_copy')" disabled="true"/> + <command id="cmd_paste" oncommand="goDoCommand('cmd_paste')" disabled="true"/> + <command id="cmd_rewrap" oncommand="goDoCommand('cmd_rewrap')"/> + <command id="cmd_delete" + oncommand="goDoCommand('cmd_delete')" + valueDefault="&deleteCmd.label;" + valueDefaultAccessKey="&deleteCmd.accesskey;" + valueRemoveAttachmentAccessKey="&removeAttachment.accesskey;" + disabled="true"/> + <command id="cmd_selectAll" + oncommand="goDoCommand('cmd_selectAll')" disabled="true"/> + <command id="cmd_removeAllAttachments" + oncommand="goDoCommand('cmd_removeAllAttachments')"/> + <command id="cmd_openAttachment" + oncommand="goDoCommand('cmd_openAttachment')" disabled="true"/> + <command id="cmd_renameAttachment" + oncommand="goDoCommand('cmd_renameAttachment')" disabled="true"/> + <command id="cmd_reorderAttachments" + oncommand="goDoCommand('cmd_reorderAttachments')" disabled="true"/> + <command id="cmd_toggleAttachmentPane" + oncommand="goDoCommand('cmd_toggleAttachmentPane')"/> + <command id="cmd_account" + oncommand="goDoCommand('cmd_account')"/> + + <!-- Reorder Attachments Panel --> + <command id="cmd_moveAttachmentLeft" + oncommand="goDoCommand('cmd_moveAttachmentLeft')" disabled="true"/> + <command id="cmd_moveAttachmentRight" + oncommand="goDoCommand('cmd_moveAttachmentRight')" disabled="true"/> + <command id="cmd_moveAttachmentBundleUp" + oncommand="goDoCommand('cmd_moveAttachmentBundleUp')" disabled="true"/> + <command id="cmd_moveAttachmentBundleDown" + oncommand="goDoCommand('cmd_moveAttachmentBundleDown')" disabled="true"/> + <command id="cmd_moveAttachmentTop" + oncommand="goDoCommand('cmd_moveAttachmentTop')" disabled="true"/> + <command id="cmd_moveAttachmentBottom" + oncommand="goDoCommand('cmd_moveAttachmentBottom')" disabled="true"/> + <command id="cmd_sortAttachmentsToggle" + sortdirection="ascending" + oncommand="goDoCommand('cmd_sortAttachmentsToggle')" disabled="true"/> + + <!-- View Menu --> + <command id="cmd_showFormatToolbar" + oncommand="goDoCommand('cmd_showFormatToolbar')"/> + + <commandset id="viewZoomCommands" + commandupdater="false" + events="create-menu-view" + oncommandupdate="goUpdateMailMenuItems(this);"> + <command id="cmd_fullZoomReduce" + oncommand="goDoCommand('cmd_fullZoomReduce');"/> + <command id="cmd_fullZoomEnlarge" + oncommand="goDoCommand('cmd_fullZoomEnlarge');"/> + <command id="cmd_fullZoomReset" + oncommand="goDoCommand('cmd_fullZoomReset');"/> + <command id="cmd_fullZoomToggle" + oncommand="goDoCommand('cmd_fullZoomToggle');"/> + </commandset> + + <!-- Options Menu --> + <command id="cmd_quoteMessage" oncommand="goDoCommand('cmd_quoteMessage')"/> + <command id="cmd_toggleReturnReceipt" + oncommand="goDoCommand('cmd_toggleReturnReceipt')"/> + <command id="cmd_insert"/> + <command id="cmd_viewSecurityStatus" + oncommand="showMessageComposeSecurityStatus();"/> + +#ifdef XP_MACOSX + <!-- Mac Window menu --> + <command id="minimizeWindow" label="&minimizeWindow.label;" oncommand="window.minimize();"/> + <command id="zoomWindow" label="&zoomWindow.label;" oncommand="zoomWindow();"/> +#endif + + <command id="cmd_CustomizeComposeToolbar" + oncommand="CustomizeMailToolbar('compose-toolbox', 'CustomizeComposeToolbar')"/> + + <command id="cmd_convertCloud" oncommand="convertSelectedToCloudAttachment(event.target.cloudFileAccount); event.stopPropagation();"/> + <command id="cmd_convertAttachment" oncommand="goDoCommand('cmd_convertAttachment')"/> + <command id="cmd_cancelUpload" oncommand="goDoCommand('cmd_cancelUpload')"/> + <command id="cmd_customizeFromAddress" oncommand="MakeFromFieldEditable();" + checked="false" label="&customizeFromAddress.label;"/> +</commandset> + + <commandset> + <command id="cmd_reload" oncommand="document.getElementById('requestFrame').reload()"/> + <command id="cmd_stop" oncommand="document.getElementById('requestFrame').stop()"/> + <command id="cmd_copyLink" oncommand="goDoCommand('cmd_copyLink')" disabled="false"/> + <command id="cmd_copyImage" oncommand="goDoCommand('cmd_copyImageContents')" disabled="false"/> + </commandset> + +<keyset id="tasksKeys"> + <!-- File Menu --> + <key id="key_newMessage" key="&newMessageCmd2.key;" oncommand="goOpenNewMessage(null);" modifiers="accel"/> + <key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/> + <key id="key_save" key="&saveCmd.key;" command="cmd_saveDefault" modifiers="accel"/> + <key id="key_send" keycode="&sendCmd.keycode;" observes="cmd_sendWithCheck" modifiers="accel"/> + <key id="key_sendLater" keycode="&sendLaterCmd.keycode;" observes="cmd_sendLater" modifiers="accel, shift"/> + <key id="key_print" key="&printCmd.key;" command="cmd_print" modifiers="accel"/> + <key id="printKb" key="&printCmd.key;" command="cmd_print" modifiers="accel"/> + + <!-- Edit Menu --> + <key id="key_undo" data-l10n-id="text-action-undo-shortcut" modifiers="accel" internal="true"/> + <key id="key_redo" +#ifdef XP_UNIX + data-l10n-id="text-action-undo-shortcut" + modifiers="accel,shift" +#else + data-l10n-id="text-action-redo-shortcut" + modifiers="accel" +#endif + internal="true"/> + <key id="key_cut" data-l10n-id="text-action-cut-shortcut" modifiers="accel" internal="true"/> + <key id="key_copy" data-l10n-id="text-action-copy-shortcut" modifiers="accel" internal="true"/> + <key id="key_paste" data-l10n-id="text-action-paste-shortcut" modifiers="accel" internal="true"/> + <key id="pastequotationkb" key="&pasteAsQuotationCmd.key;" + observes="cmd_pasteQuote" modifiers="accel, shift"/> + <key id="pastenoformattingkb" key="&pasteNoFormattingCmd.key;" + modifiers="accel, shift" observes="cmd_pasteNoFormatting"/> + <key id="key_rewrap" key="&editRewrapCmd.key;" command="cmd_rewrap" modifiers="accel"/> +#ifdef XP_MACOSX + <key id="key_delete" keycode="VK_BACK" command="cmd_delete"/> + <key id="key_delete2" keycode="VK_DELETE" command="cmd_delete"/> +#else + <key id="key_delete" keycode="VK_DELETE" command="cmd_delete"/> + <key id="key_renameAttachment" keycode="VK_F2" + command="cmd_renameAttachment"/> +#endif + <key id="key_reorderAttachments" + key="&reorderAttachmentsCmd.key;" modifiers="accel,shift" + command="cmd_reorderAttachments"/> + <key id="key_selectAll" data-l10n-id="text-action-select-all-shortcut" modifiers="accel" internal="true"/> + <key id="key_find" key="&findBarCmd.key;" command="cmd_find" modifiers="accel"/> +#ifndef XP_MACOSX + <key id="key_findReplace" key="&findReplaceCmd.key;" command="cmd_findReplace" modifiers="accel"/> +#endif + <key id="key_findNext" key="&findAgainCmd.key;" command="cmd_findNext" modifiers="accel"/> + <key id="key_findPrev" key="&findPrevCmd.key;" command="cmd_findPrev" modifiers="accel, shift"/> + <key keycode="&findAgainCmd.key2;" command="cmd_findNext"/> + <key keycode="&findPrevCmd.key2;" command="cmd_findPrev" modifiers="shift"/> + + <!-- Reorder Attachments Panel --> + <key id="key_moveAttachmentLeft" keycode="VK_LEFT" modifiers="alt" + command="cmd_moveAttachmentLeft"/> + <key id="key_moveAttachmentRight" keycode="VK_RIGHT" modifiers="alt" + command="cmd_moveAttachmentRight"/> + <key id="key_moveAttachmentBundleUp" keycode="VK_UP" modifiers="alt" + command="cmd_moveAttachmentBundleUp"/> + <key id="key_moveAttachmentBundleDown" keycode="VK_DOWN" modifiers="alt" + command="cmd_moveAttachmentBundleDown"/> +#ifdef XP_MACOSX + <key id="key_moveAttachmentTop" keycode="VK_UP" modifiers="accel alt" + command="cmd_moveAttachmentTop"/> + <key id="key_moveAttachmentBottom" keycode="VK_DOWN" modifiers="accel alt" + command="cmd_moveAttachmentBottom"/> + <key id="key_moveAttachmentTop2" keycode="VK_Home" modifiers="alt" + command="cmd_moveAttachmentTop"/> + <key id="key_moveAttachmentBottom2" keycode="VK_End" modifiers="alt" + command="cmd_moveAttachmentBottom"/> +#else + <key id="key_moveAttachmentTop" keycode="VK_Home" modifiers="alt" + command="cmd_moveAttachmentTop"/> + <key id="key_moveAttachmentBottom" keycode="VK_End" modifiers="alt" + command="cmd_moveAttachmentBottom"/> +#endif + <key id="key_sortAttachmentsToggle" key="&sortAttachmentsPanelBtn.key;" + modifiers="alt" command="cmd_sortAttachmentsToggle"/> + + <!-- View Menu --> + <key id="key_addressSidebar" keycode="VK_F9" oncommand="toggleContactsSidebar();"/> + + <keyset id="viewZoomKeys"> + <key id="key_fullZoomReduce" key="&fullZoomReduceCmd.commandkey;" + command="cmd_fullZoomReduce" modifiers="accel"/> + <key key="&fullZoomReduceCmd.commandkey2;" + command="cmd_fullZoomReduce" modifiers="accel"/> + <key id="key_fullZoomEnlarge" key="&fullZoomEnlargeCmd.commandkey;" + command="cmd_fullZoomEnlarge" modifiers="accel"/> + <key key="&fullZoomEnlargeCmd.commandkey2;" + command="cmd_fullZoomEnlarge" modifiers="accel"/> + <key key="&fullZoomEnlargeCmd.commandkey3;" + command="cmd_fullZoomEnlarge" modifiers="accel"/> + <key id="key_fullZoomReset" key="&fullZoomResetCmd.commandkey;" + command="cmd_fullZoomReset" modifiers="accel"/> + <key key="&fullZoomResetCmd.commandkey2;" + command="cmd_fullZoomReset" modifiers="accel"/> + </keyset> + + <!-- Options Menu --> + <key id="key_checkspelling" key="&checkSpellingCmd2.key;" command="cmd_spelling" modifiers="accel,shift"/> + +#ifdef XP_WIN + <key keycode="&checkSpellingCmd2.key2;" command="cmd_spelling"/> +#endif + + <!-- Tools Menu --> + <key id="key_mail" key="&messengerCmd.commandkey;" oncommand="toMessengerWindow();" modifiers="accel"/> + + <!-- Tab/F6 Keys --> + <key keycode="VK_TAB" oncommand="moveFocusToNeighbouringArea(event);" modifiers="control"/> + <key keycode="VK_TAB" oncommand="moveFocusToNeighbouringArea(event);" modifiers="control,shift"/> + <key keycode="VK_F6" oncommand="moveFocusToNeighbouringArea(event);" modifiers="control"/> + <key keycode="VK_F6" oncommand="moveFocusToNeighbouringArea(event);" modifiers="control,shift"/> + <key keycode="VK_F6" oncommand="moveFocusToNeighbouringArea(event);" modifiers="shift"/> + <key keycode="VK_F6" oncommand="moveFocusToNeighbouringArea(event);"/> + +#ifdef XP_MACOSX + <!-- Mac Window Menu --> + <key id="key_minimizeWindow" command="minimizeWindow" key="&minimizeWindow.key;" modifiers="accel"/> + <key id="key_openHelp" oncommand="openSupportURL();" key="&productHelpMac.commandkey;" modifiers="&productHelpMac.modifiers;"/> +#else + <key id="key_openHelp" oncommand="openSupportURL();" keycode="&productHelp.commandkey;"/> +#endif + <key keycode="VK_ESCAPE" oncommand="handleEsc();"/> +</keyset> + +<keyset id="editorKeys"> + <key id="boldkb" key="&styleBoldCmd.key;" observes="cmd_bold" modifiers="accel"/> + <key id="italickb" key="&styleItalicCmd.key;" observes="cmd_italic" modifiers="accel"/> + <key id="underlinekb" key="&styleUnderlineCmd.key;" observes="cmd_underline" modifiers="accel"/> + <key id="fixedwidthkb" key="&fontFixedWidth.key;" observes="cmd_tt" modifiers="accel"/> + + <key id="increaseindentkb" key="&increaseIndent.key;" observes="cmd_indent" modifiers="accel"/> + <key id="decreaseindentkb" key="&decreaseIndent.key;" observes="cmd_outdent" modifiers="accel"/> + + <key id="removestyleskb" key="&formatRemoveStyles.key;" observes="cmd_removeStyles" modifiers="accel, shift"/> + <key id="removestyleskb2" key=" " observes="cmd_removeStyles" modifiers="accel"/> + <key id="removelinkskb" key="&formatRemoveLinks.key;" observes="cmd_removeLinks" modifiers="accel, shift"/> + <key id="removenamedanchorskb" key="&formatRemoveNamedAnchors2.key;" observes="cmd_removeNamedAnchors" modifiers="accel, shift"/> + <key id="decreasefontsizekb" key="&decrementFontSize.key;" observes="cmd_decreaseFontStep" modifiers="accel"/> + <key key="&decrementFontSize.key;" observes="cmd_decreaseFontStep" modifiers="accel, shift"/> + <key key="&decrementFontSize.key2;" observes="cmd_decreaseFontStep" modifiers="accel"/> + + <key id="increasefontsizekb" key="&incrementFontSize.key;" observes="cmd_increaseFontStep" modifiers="accel"/> + <key key="&incrementFontSize.key;" observes="cmd_increaseFontStep" modifiers="accel, shift"/> + <key key="&incrementFontSize.key2;" observes="cmd_increaseFontStep" modifiers="accel"/> + + <key id="insertlinkkb" key="&insertLinkCmd2.key;" observes="cmd_link" modifiers="accel"/> +</keyset> + +<popupset id="mainPopupSet"> +#include ../../../base/content/widgets/browserPopups.inc.xhtml +</popupset> + +<!-- Reorder Attachments Panel --> +<panel id="reorderAttachmentsPanel" + orient="vertical" + type="arrow" + flip="slide" + onpopupshowing="reorderAttachmentsPanelOnPopupShowing();" + consumeoutsideclicks="false" + noautohide="true"> + <description class="panelTitle">&reorderAttachmentsPanel.label;</description> + <toolbarbutton id="btn_moveAttachmentFirst" + class="panelButton" + data-l10n-id="move-attachment-first-panel-button" + key="key_moveAttachmentTop" + command="cmd_moveAttachmentTop"/> + <toolbarbutton id="btn_moveAttachmentLeft" + class="panelButton" + data-l10n-id="move-attachment-left-panel-button" + key="key_moveAttachmentLeft" + command="cmd_moveAttachmentLeft"/> + <toolbarbutton id="btn_moveAttachmentBundleUp" + class="panelButton" + label="&moveAttachmentBundleUpPanelBtn.label;" + key="key_moveAttachmentBundleUp" + command="cmd_moveAttachmentBundleUp"/> + <toolbarbutton id="btn_moveAttachmentRight" + class="panelButton" + data-l10n-id="move-attachment-right-panel-button" + key="key_moveAttachmentRight" + command="cmd_moveAttachmentRight"/> + <toolbarbutton id="btn_moveAttachmentLast" + class="panelButton" + data-l10n-id="move-attachment-last-panel-button" + key="key_moveAttachmentBottom" + command="cmd_moveAttachmentBottom"/> + <toolbarbutton id="btn_sortAttachmentsToggle" + class="panelButton" + label="&sortAttachmentsPanelBtn.Sort.AZ.label;" + label-AZ="&sortAttachmentsPanelBtn.Sort.AZ.label;" + label-ZA="&sortAttachmentsPanelBtn.Sort.ZA.label;" + label-selection-AZ="&sortAttachmentsPanelBtn.SortSelection.AZ.label;" + label-selection-ZA="&sortAttachmentsPanelBtn.SortSelection.ZA.label;" + key="key_sortAttachmentsToggle" + command="cmd_sortAttachmentsToggle"/> +</panel> + +<menupopup id="extraAddressRowsMenu" + class="no-icon-menupopup no-accel-menupopup" + onpopupshown="extraAddressRowsMenuOpened();" + onpopuphidden="extraAddressRowsMenuClosed();"> + <!-- Default set up is for a mail account, where we prefer showing the + - buttons, rather than the menu items, for the mail rows. + - For the news rows, we prefer the menu items over the buttons. --> + <menuitem id="addr_replyShowAddressRowMenuItem" + class="menuitem-iconic" + oncommand="showAndFocusAddressRow('addressRowReply')" + label="&replyAddr2.label;"/> + <menuitem id="addr_toShowAddressRowMenuItem" disableonsend="true" + class="mail-show-row-menuitem menuitem-iconic" + oncommand="showAndFocusAddressRow('addressRowTo')" + hidden="true" + data-button-id="addr_toShowAddressRowButton" + data-prefer-button="true"/> + <menuitem id="addr_ccShowAddressRowMenuItem" disableonsend="true" + class="mail-show-row-menuitem menuitem-iconic" + oncommand="showAndFocusAddressRow('addressRowCc')" + hidden="true" + data-button-id="addr_ccShowAddressRowButton" + data-prefer-button="true"/> + <menuitem id="addr_bccShowAddressRowMenuItem" disableonsend="true" + class="mail-show-row-menuitem menuitem-iconic" + oncommand="showAndFocusAddressRow('addressRowBcc')" + hidden="true" + data-button-id="addr_bccShowAddressRowButton" + data-prefer-button="true"/> + <menuitem id="addr_newsgroupsShowAddressRowMenuItem" + class="news-show-row-menuitem menuitem-iconic" + oncommand="showAndFocusAddressRow('addressRowNewsgroups')" + data-button-id="addr_newsgroupsShowAddressRowButton" + label="&newsgroupsAddr2.label;" + data-prefer-button="false"/> + <menuitem id="addr_followupShowAddressRowMenuItem" + class="news-show-row-menuitem menuitem-iconic" + oncommand="showAndFocusAddressRow('addressRowFollowup')" + data-button-id="addr_followupShowAddressRowButton" + label="&followupAddr2.label;" + data-prefer-button="false"/> +</menupopup> + +<menupopup id="msgComposeContext" + onpopupshowing="msgComposeContextOnShowing(event);" + onpopuphiding="msgComposeContextOnHiding(event);"> + + <!-- Spellchecking menu items --> + <menuitem id="spellCheckNoSuggestions" + data-l10n-id="text-action-spell-no-suggestions" + disabled="true"/> + <menuseparator id="spellCheckAddSep" /> + <menuitem id="spellCheckAddToDictionary" + data-l10n-id="text-action-spell-add-to-dictionary" + oncommand="gSpellChecker.addToDictionary();"/> + <menuitem id="spellCheckUndoAddToDictionary" + data-l10n-id="text-action-spell-undo-add-to-dictionary" + oncommand="gSpellChecker.undoAddToDictionary();" /> + <menuitem id="spellCheckIgnoreWord" label="&spellCheckIgnoreWord.label;" + accesskey="&spellCheckIgnoreWord.accesskey;" + oncommand="gSpellChecker.ignoreWord();"/> + <menuseparator id="spellCheckSuggestionsSeparator"/> + + <menuitem data-l10n-id="text-action-undo" command="cmd_undo"/> + <menuitem data-l10n-id="text-action-cut" command="cmd_cut"/> + <menuitem data-l10n-id="text-action-copy" command="cmd_copy"/> + <menuitem data-l10n-id="text-action-paste" command="cmd_paste"/> + <menuitem command="cmd_pasteNoFormatting"/> + <menuitem label="&pasteQuote.label;" accesskey="&pasteQuote.accesskey;" command="cmd_pasteQuote"/> + <menuitem data-l10n-id="text-action-delete" command="cmd_delete"/> + <menuseparator/> + <menuitem data-l10n-id="text-action-select-all" command="cmd_selectAll"/> + + <!-- Spellchecking general menu items (enable, add dictionaries...) --> + <menuseparator id="spellCheckSeparator"/> + <menuitem id="spellCheckEnable" + data-l10n-id="text-action-spell-check-toggle" + type="checkbox" + oncommand="toggleSpellCheckingEnabled();"/> + <menuitem id="spellCheckAddDictionariesMain" + label="&spellAddDictionaries.label;" + accesskey="&spellAddDictionaries.accesskey;" + oncommand="openDictionaryList();"/> + <menu id="spellCheckDictionaries" + data-l10n-id="text-action-spell-dictionaries"> + <menupopup id="spellCheckDictionariesMenu"> + <menuseparator id="spellCheckLanguageSeparator"/> + <menuitem id="spellCheckAddDictionaries" + label="&spellAddDictionaries.label;" + accesskey="&spellAddDictionaries.accesskey;" + oncommand="openDictionaryList();"/> + </menupopup> + </menu> + +</menupopup> + +<menupopup id="msgComposeAttachmentItemContext" + onpopupshowing="updateAttachmentItems();"> + <menuitem id="composeAttachmentContext_openItem" + label="&openAttachment.label;" + accesskey="&openAttachment.accesskey;" + command="cmd_openAttachment"/> + <menuitem id="composeAttachmentContext_renameItem" + label="&renameAttachment.label;" + accesskey="&renameAttachment.accesskey;" + command="cmd_renameAttachment"/> + <menuitem id="composeAttachmentContext_reorderItem" + label="&reorderAttachments.label;" + accesskey="&reorderAttachments.accesskey;" + command="cmd_reorderAttachments"/> + <menuseparator id="composeAttachmentContext_beforeRemoveSeparator"/> + <menuitem id="composeAttachmentContext_deleteItem" + label="&removeAttachment.label;" + accesskey="&removeAttachment.accesskey;" + command="cmd_delete"/> + <menu id="composeAttachmentContext_convertCloudMenu" + label="&convertCloud.label;" + accesskey="&convertCloud.accesskey;" + command="cmd_convertCloud"> + <menupopup id="convertCloudMenuItems_popup" + onpopupshowing="addConvertCloudMenuItems(this, 'convertCloudSeparator', 'context_convertCloud');"> + <menuitem id="convertCloudMenuItems_popup_convertAttachment" + type="radio" name="context_convertCloud" + label="&convertRegularAttachment.label;" + accesskey="&convertRegularAttachment.accesskey;" + command="cmd_convertAttachment"/> + <menuseparator id="convertCloudSeparator"/> + </menupopup> + </menu> + <menuitem id="composeAttachmentContext_cancelUploadItem" + label="&cancelUpload.label;" + accesskey="&cancelUpload.accesskey;" + command="cmd_cancelUpload"/> + <menuseparator/> + <menuitem id="composeAttachmentContext_selectAllItem" + label="&selectAll.label;" + accesskey="&selectAll.accesskey;" + command="cmd_selectAll"/> +</menupopup> + +<menupopup id="msgComposeAttachmentListContext" + onpopupshowing="updateAttachmentItems();"> + <menuitem id="attachmentListContext_selectAllItem" + label="&selectAll.label;" + accesskey="&selectAll.accesskey;" + command="cmd_selectAll"/> + <menuseparator/> + <menuitem id="attachmentListContext_attachFileItem" + data-l10n-id="context-menuitem-attach-files" + data-l10n-attrs="acceltext" + command="cmd_attachFile"/> + <menu id="attachmentListContext_attachCloudMenu" + label="&attachCloud.label;" + accesskey="&attachCloud.accesskey;" + command="cmd_attachCloud"> + <menupopup id="attachCloudMenu_attachCloudPopup" onpopupshowing="if (event.target == this) { addAttachCloudMenuItems(this); }"/> + </menu> + <menuitem id="attachmentListContext_attachPageItem" + label="&attachPage.label;" + accesskey="&attachPage.accesskey;" + command="cmd_attachPage"/> + <menuseparator id="attachmentListContext_remindLaterSeparator"/> + <menuitem id="attachmentListContext_remindLaterItem" + type="checkbox" + label="&remindLater.label;" + accesskey="&remindLater.accesskey;" + command="cmd_remindLater"/> + <menuitem id="attachmentListContext_reorderItem" + label="&reorderAttachments.label;" + accesskey="&reorderAttachments.accesskey;" + command="cmd_reorderAttachments"/> + <menuseparator id="attachmentListContext_removeAllSeparator"/> + <menuitem id="attachmentListContext_removeAllItem" + label="&removeAllAttachments.label;" + accesskey="&removeAllAttachments.accesskey;" + command="cmd_removeAllAttachments"/> +</menupopup> + +<menupopup id="attachmentHeaderContext" + onpopupshowing="attachmentHeaderContextOnPopupShowing();"> + <menuitem id="attachmentHeaderContext_initiallyShowItem" + type="checkbox" + label="&initiallyShowAttachmentPane.label;" + accesskey="&initiallyShowAttachmentPane.accesskey;" + oncommand="toggleInitiallyShowAttachmentPane(this);"/> +</menupopup> + +<menupopup id="format-toolbar-context-menu" + onpopupshowing="ToolbarContextMenu.updateExtension(this);"> + <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)" + data-l10n-id="toolbar-context-menu-manage-extension" + class="customize-context-manageExtension"/> + <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)" + data-l10n-id="toolbar-context-menu-remove-extension" + class="customize-context-removeExtension"/> +</menupopup> + +<menupopup id="toolbar-context-menu" + onpopupshowing="onViewToolbarsPopupShowing(event, 'compose-toolbox'); ToolbarContextMenu.updateExtension(this);"> + <menuseparator/> + <menuitem id="CustomizeComposeToolbar" + command="cmd_CustomizeComposeToolbar" + label="&customizeToolbar.label;" + accesskey="&customizeToolbar.accesskey;"/> + <menuseparator id="extensionsMailToolbarMenuSeparator"/> + <menuitem oncommand="ToolbarContextMenu.openAboutAddonsForContextAction(this.parentElement)" + data-l10n-id="toolbar-context-menu-manage-extension" + class="customize-context-manageExtension"/> + <menuitem oncommand="ToolbarContextMenu.removeExtensionForContextAction(this.parentElement)" + data-l10n-id="toolbar-context-menu-remove-extension" + class="customize-context-removeExtension"/> +</menupopup> + +<menupopup id="blockedContentOptions" value="" + onpopupshowing="onBlockedContentOptionsShowing(event);"> +</menupopup> + +<menupopup id="languageMenuList" + oncommand="ChangeLanguage(event);" + onpopupshowing="OnShowDictionaryMenu(event.target);" + onpopupshown="languageMenuListOpened();" + onpopuphidden="languageMenuListClosed();"> +</menupopup> + +<menupopup id="emailAddressPillPopup" + class="emailAddressPopup" + onpopupshowing="onPillPopupShowing(event);"> + <menuitem id="editAddressPill" + class="pill-action-edit" + data-l10n-id="pill-action-edit" + oncommand="editAddressPill(this.parentNode.triggerNode, event)"/> + <menuitem id="menu_delete" + data-l10n-id="text-action-delete" + oncommand="deleteSelectedPillsOnCommand()"/> + <menuseparator/> + <menuitem id="menu_cut" + data-l10n-id="text-action-cut" + oncommand="cutSelectedPillsOnCommand()"/> + <menuitem id="menu_copy" + data-l10n-id="text-action-copy" + oncommand="copySelectedPillsOnCommand()"/> + <menuseparator id="pillContextBeforeSelectAllSeparator"/> + <menuitem id="menu_selectAllSiblingPills" + oncommand="selectAllSiblingPillsOnCommand(this.parentNode.triggerNode)"/> + <menuitem id="menu_selectAllPills" + data-l10n-id="pill-action-select-all-pills" + oncommand="selectAllPillsOnCommand()"/> + <menuseparator id="pillContextBeforeMoveItemsSeparator"/> + <menuitem id="moveAddressPillTo" + class="pill-action-move" + data-l10n-id="pill-action-move-to" + oncommand="moveSelectedPillsOnCommand('addressRowTo')"/> + <menuitem id="moveAddressPillCc" + class="pill-action-move" + data-l10n-id="pill-action-move-cc" + oncommand="moveSelectedPillsOnCommand('addressRowCc')"/> + <menuitem id="moveAddressPillBcc" + class="pill-action-move" + data-l10n-id="pill-action-move-bcc" + oncommand="moveSelectedPillsOnCommand('addressRowBcc')"/> + <menuseparator id="pillContextBeforeExpandListSeparator"/> + <menuitem id="expandList" + class="pill-action-edit" + data-l10n-id="pill-action-expand-list" + hidden="true" + oncommand="expandList(this.parentNode.triggerNode)"/> +</menupopup> + + <toolbox id="compose-toolbox" + class="toolbox-top" + mode="full" + defaultmode="full" +#ifdef XP_MACOSX + iconsize="small" + defaulticonsize="small" +#endif + labelalign="end" + defaultlabelalign="end"> + +#ifdef XP_MACOSX + <hbox id="titlebar"> + <hbox id="titlebar-title" align="center" flex="1"> + <label id="titlebar-title-label" value="&msgComposeWindow.title;" flex="1" crop="end"/> + </hbox> +#include ../../../base/content/messenger-titlebar-items.inc.xhtml + </hbox> +#endif + <!-- Menu --> + <!-- if you change the id of the menubar, be sure to update mailCore.js::CustomizeMailToolbar and MailToolboxCustomizeDone --> + <toolbar is="customizable-toolbar" id="compose-toolbar-menubar2" + class="chromeclass-menubar themeable-full" + type="menubar" + customizable="true" +#ifdef XP_MACOSX + defaultset="menubar-items" +#else + defaultset="menubar-items,spring" +#endif +#ifdef XP_WIN + toolbarname="&menubarCmd.label;" + accesskey="&menubarCmd.accesskey;" +#endif + context="toolbar-context-menu" mode="full"> + + <toolbaritem id="menubar-items" align="center"> + <menubar id="mail-menubar"> + <menu id="menu_File" label="&fileMenu.label;" accesskey="&fileMenu.accesskey;"> + <menupopup id="menu_FilePopup"> + <menu id="menu_New" + label="&newMenu.label;" accesskey="&newMenu.accesskey;"> + <menupopup id="menu_NewPopup"> + <menuitem id="menu_NewMessage" + label="&newMessage.label;" accesskey="&newMessage.accesskey;" + key="key_newMessage" oncommand="goOpenNewMessage(event);"/> + <menuseparator/> + <menuitem id="menu_NewContact" label="&newContact.label;" + accesskey="&newContact.accesskey;" + oncommand="toAddressBook({ action: 'create' });"/> + </menupopup> + </menu> + <menu id="menu_Attach" label="&attachMenu.label;" accesskey="&attachMenu.accesskey;"> + <menupopup id="menu_AttachPopup" onpopupshowing="updateAttachmentItems();"> + <menuitem data-l10n-id="menuitem-attach-files" + data-l10n-attrs="acceltext" + command="cmd_attachFile"/> + <menu label="&attachCloudCmd.label;" accesskey="&attachCloudCmd.accesskey;" + command="cmd_attachCloud"> + <menupopup onpopupshowing="if (event.target == this) { addAttachCloudMenuItems(this); }"/> + </menu> + <menuitem label="&attachPageCmd.label;" + accesskey="&attachPageCmd.accesskey;" command="cmd_attachPage"/> + <menuseparator/> + <menuitem type="checkbox" + data-l10n-id="context-menuitem-attach-vcard" + command="cmd_attachVCard"/> + <menuitem id="menu_AttachPopup_attachPublicKey" type="checkbox" + data-l10n-id="context-menuitem-attach-openpgp-key" + command="cmd_attachPublicKey"/> + <menuseparator id="menu_Attach_RemindLaterSeparator"/> + <menuitem id="menu_Attach_RemindLaterItem" type="checkbox" label="&remindLater.label;" + accesskey="&remindLater.accesskey;" command="cmd_remindLater"/> + </menupopup> + </menu> + <menuseparator/> + <menuitem id="menu_SaveCmd" label="&saveCmd.label;" accesskey="&saveCmd.accesskey;" + key="key_save" command="cmd_saveDefault"/> + <menu id="menu_SaveAsCmd" + label="&saveAsCmd.label;" accesskey="&saveAsCmd.accesskey;"> + <menupopup id="menu_SaveAsCmdPopup" onpopupshowing="InitFileSaveAsMenu();"> + <menuitem id="menu_SaveAsFileCmd" + label="&saveAsFileCmd.label;" accesskey="&saveAsFileCmd.accesskey;" + command="cmd_saveAsFile" type="radio" name="radiogroup_SaveAs"/> + <menuseparator/> + <menuitem label="&saveAsDraftCmd.label;" accesskey="&saveAsDraftCmd.accesskey;" + command="cmd_saveAsDraft" type="radio" name="radiogroup_SaveAs"/> + <menuitem label="&saveAsTemplateCmd.label;" accesskey="&saveAsTemplateCmd.accesskey;" + command="cmd_saveAsTemplate" type="radio" name="radiogroup_SaveAs"/> + </menupopup> + </menu> + <menuseparator/> + <menuitem label="&sendNowCmd.label;" + accesskey="&sendNowCmd.accesskey;" key="key_send" + command="cmd_sendNow" id="menu-item-send-now"/> + <menuitem label="&sendLaterCmd.label;" + accesskey="&sendLaterCmd.accesskey;" key="key_sendLater" + command="cmd_sendLater"/> + <menuseparator/> + <menuitem id="printMenuItem" + label="&printCmd.label;" accesskey="&printCmd.accesskey;" + key="key_print" command="cmd_print"/> + <menuseparator id="menu_FileCloseSeparator"/> + <menuitem id="menu_close" + label="&closeCmd.label;" + key="key_close" + accesskey="&closeCmd.accesskey;" + command="cmd_close"/> + </menupopup> + </menu> + + <!-- Edit Menu --> + <menu id="menu_Edit" label="&editMenu.label;" accesskey="&editMenu.accesskey;"> + <menupopup id="menu_EditPopup" onpopupshowing="updateEditItems();"> + <menuitem id="menu_undo" + data-l10n-id="text-action-undo" + key="key_undo" command="cmd_undo"/> + <menuitem id="menu_redo" + data-l10n-id="text-action-redo" + key="key_redo" command="cmd_redo"/> + <menuseparator/> + <menuitem id="menu_cut" + data-l10n-id="text-action-cut" + key="key_cut" command="cmd_cut"/> + <menuitem id="menu_copy" + data-l10n-id="text-action-copy" + key="key_copy" command="cmd_copy"/> + <menuitem id="menu_paste" + data-l10n-id="text-action-paste" + key="key_paste" command="cmd_paste"/> + <menuitem id="menu_pasteNoFormatting" + command="cmd_pasteNoFormatting" key="pastenoformattingkb"/> + <menuitem id="menu_pasteQuote" + accesskey="&pasteAsQuotationCmd.accesskey;" + command="cmd_pasteQuote" + key="pastequotationkb"/> + <menuitem id="menu_delete" + data-l10n-id="text-action-delete" + key="key_delete" + command="cmd_delete"/> + <menuseparator/> + <menuitem id="menu_rewrap" + label="&editRewrapCmd.label;" + accesskey="&editRewrapCmd.accesskey;" + key="key_rewrap" + command="cmd_rewrap"/> + <menuitem id="menu_RenameAttachment" + label="&renameAttachmentCmd.label;" + accesskey="&renameAttachmentCmd.accesskey;" + key="key_renameAttachment" + command="cmd_renameAttachment"/> + <menuitem id="menu_reorderAttachments" + label="&reorderAttachmentsCmd.label;" + accesskey="&reorderAttachmentsCmd.accesskey;" + key="key_reorderAttachments" + command="cmd_reorderAttachments"/> + <menuseparator/> + <menuitem id="menu_selectAll" + data-l10n-id="text-action-select-all" + key="key_selectAll" + command="cmd_selectAll"/> + <menuseparator/> + <menuitem id="menu_findBar" + label="&findBarCmd.label;" + accesskey="&findBarCmd.accesskey;" + key="key_find" + command="cmd_find"/> +#ifndef XP_MACOSX + <menuitem id="menu_findReplace" + label="&findReplaceCmd.label;" + accesskey="&findReplaceCmd.accesskey;" + key="key_findReplace" + command="cmd_findReplace"/> +#else + <menuitem id="menu_findReplace" + label="&findReplaceCmd.label;" + accesskey="&findReplaceCmd.accesskey;" + command="cmd_findReplace"/> +#endif + <menuitem id="menu_findNext" + label="&findAgainCmd.label;" + accesskey="&findAgainCmd.accesskey;" + key="key_findNext" + command="cmd_findNext"/> + <menuitem id="menu_findPrev" + label="&findPrevCmd.label;" + accesskey="&findPrevCmd.accesskey;" + key="key_findPrev" + command="cmd_findPrev"/> +#ifdef XP_UNIX +#ifndef XP_MACOSX + <menuseparator id="prefSep"/> + <menuitem id="menu_accountmgr" + label="&accountManagerCmd2.label;" + accesskey="&accountManagerCmdUnix2.accesskey;" + command="cmd_account"/> + <menuitem id="menu_preferences" + data-l10n-id="menu-tools-settings" + oncommand="openOptionsDialog('paneCompose');"/> +#endif +#endif + </menupopup> + </menu> + + <!-- View Menu --> + <menu id="menu_View" label="&viewMenu.label;" accesskey="&viewMenu.accesskey;"> + <menupopup id="menu_View_Popup" onpopupshowing="updateViewItems();"> + <menu id="menu_ToolbarsNew" + label="&viewToolbarsMenuNew.label;" + accesskey="&viewToolbarsMenuNew.accesskey;" + onpopupshowing="onViewToolbarsPopupShowing(event, 'compose-toolbox');"> + <menupopup id="view_toolbars_popup"> + <menuitem id="menu_showFormatToolbar" + type="checkbox" + label="&showFormattingBarCmd.label;" + accesskey="&showFormattingBarCmd.accesskey;" + command="cmd_showFormatToolbar" + checked="true"/> + <menuitem id="menu_showTaskbar" + type="checkbox" + label="&showTaskbarCmd.label;" + accesskey="&showTaskbarCmd.accesskey;" + oncommand="goToggleToolbar('status-bar', 'menu_showTaskbar')" + checked="true"/> + <menuseparator id="viewMenuBeforeCustomizeComposeToolbarsSeparator"/> + <menuitem id="customizeComposeToolbars" + label="&customizeToolbar.label;" + accesskey="&customizeToolbar.accesskey;" + command="cmd_CustomizeComposeToolbar"/> + </menupopup> + </menu> + <menu id="viewFullZoomMenu" label="&fullZoom.label;" accesskey="&fullZoom.accesskey;" + onpopupshowing="UpdateFullZoomMenu()"> + <menupopup id="viewFullZoomPopupMenu"> + <menuitem id="menu_fullZoomEnlarge" key="key_fullZoomEnlarge" + label="&fullZoomEnlargeCmd.label;" + accesskey="&fullZoomEnlargeCmd.accesskey;" + command="cmd_fullZoomEnlarge"/> + <menuitem id="menu_fullZoomReduce" key="key_fullZoomReduce" + label="&fullZoomReduceCmd.label;" + accesskey="&fullZoomReduceCmd.accesskey;" + command="cmd_fullZoomReduce"/> + <menuseparator id="fullZoomAfterReduceSeparator"/> + <menuitem id="menu_fullZoomReset" key="key_fullZoomReset" + label="&fullZoomResetCmd.label;" + accesskey="&fullZoomResetCmd.accesskey;" + command="cmd_fullZoomReset"/> + <menuseparator id="fullZoomAfterResetSeparator"/> + <menuitem id="menu_fullZoomToggle" label="&fullZoomToggleCmd.label;" + accesskey="&fullZoomToggleCmd.accesskey;" + type="checkbox" command="cmd_fullZoomToggle" checked="false"/> + </menupopup> + </menu> + <menuseparator id="viewMenuBeforeShowToFieldSeparator"/> + <menuitem id="menu_showToField" + data-l10n-attrs="acceltext" + oncommand="showAndFocusAddressRow('addressRowTo')"/> + <menuitem id="menu_showCcField" + data-l10n-attrs="acceltext" + oncommand="showAndFocusAddressRow('addressRowCc')"/> + <menuitem id="menu_showBccField" + data-l10n-attrs="acceltext" + oncommand="showAndFocusAddressRow('addressRowBcc')"/> + <menuseparator id="viewMenuBeforeAddressSidebarSeparator"/> + <menuitem id="menu_AddressSidebar" + label="&addressSidebar.label;" accesskey="&addressSidebar.accesskey;" + type="checkbox" + key="key_addressSidebar" + oncommand="toggleContactsSidebar();"/> + <menuitem id="menu_toggleAttachmentPane" + data-l10n-id="menuitem-toggle-attachment-pane" + data-l10n-attrs="acceltext" + type="checkbox" + command="cmd_toggleAttachmentPane"/> + </menupopup> + </menu> + + <menu id="insertMenu" label="&insertMenu.label;" + accesskey="&insertMenu.accesskey;" command="cmd_renderedHTMLEnabler"> + <menupopup id="insertMenuPopup"> + <menuitem id="insertImage" + label="&insertImageCmd.label;" + accesskey="&insertImageCmd.accesskey;" + observes="cmd_image"/> + <menuitem id="insertTable" + label="&insertTableCmd.label;" + accesskey="&insertTableCmd.accesskey;" + observes="cmd_InsertTable"/> + <menuitem id="insertLink" + label="&insertLinkCmd2.label;" + accesskey="&insertLinkCmd2.accesskey;" + key="insertlinkkb" + observes="cmd_link"/> + <menuitem id="insertAnchor" + label="&insertAnchorCmd.label;" + accesskey="&insertAnchorCmd.accesskey;" + observes="cmd_anchor"/> + <menuitem id="insertHline" + label="&insertHLineCmd.label;" + accesskey="&insertHLineCmd.accesskey;" + observes="cmd_hline"/> + <menuitem id="insertHTMLSource" + accesskey="&insertHTMLCmd.accesskey;" + observes="cmd_insertHTMLWithDialog"/> + <menuitem id="insertMath" + accesskey="&insertMathCmd.accesskey;" + observes="cmd_insertMathWithDialog"/> + <menuitem id="insertChars" + accesskey="&insertCharsCmd.accesskey;" + command="cmd_insertChars"/> + + <menu id="insertTOC" label="&tocMenu.label;" accesskey="&tocMenu.accesskey;"> + <menupopup id="insertTOCPopup" onpopupshowing="InitTOCMenu()"> + <menuitem id="insertTOCMenuitem" + label="&insertTOC.label;" + accesskey="&insertTOC.accesskey;" + oncommand="UpdateTOC()"/> + <menuitem id="updateTOCMenuitem" + label="&updateTOC.label;" + accesskey="&updateTOC.accesskey;" + oncommand="UpdateTOC()"/> + <menuitem id="removeTOCMenuitem" + label="&removeTOC.label;" + accesskey="&removeTOC.accesskey;" + oncommand="RemoveTOC()"/> + </menupopup> + </menu> + <menuseparator id="insertMenuSeparator"/> + <menuitem id="insertBreakAll" + accesskey="&insertBreakAllCmd.accesskey;" + observes="cmd_insertBreakAll" + label="&insertBreakAllCmd.label;"/> + </menupopup> + </menu> + + <menu id="formatMenu" label="&formatMenu.label;" accesskey="&formatMenu.accesskey;" command="cmd_renderedHTMLEnabler"> + <menupopup id="formatMenuPopup" onpopupshowing="EditorInitFormatMenu()"> + <!-- Font face submenu --> + <menu id="fontFaceMenu" + label="&fontfaceMenu.label;" accesskey="&fontfaceMenu.accesskey;" + position="1"> + <menupopup id="fontFaceMenuPopup" + oncommand="if (event.target.localName == 'menuitem') { + doStatefulCommand('cmd_fontFace', event.target.getAttribute('value')); + }" + onpopupshowing="initFontFaceMenu(this);"> + <menuitem id="menu_fontFaceVarWidth" + label="&fontVarWidth.label;" + accesskey="&fontVarWidth.accesskey;" + value="" + type="radio" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_fontFaceFixedWidth" + label="&fontFixedWidth.label;" + accesskey="&fontFixedWidth.accesskey;" + value="monospace" + type="radio" + observes="cmd_renderedHTMLEnabler"/> + <menuseparator id="fontFaceMenuAfterGenericFontsSeparator"/> + <menuitem id="menu_fontFaceHelvetica" + label="&fontHelvetica.label;" + accesskey="&fontHelvetica.accesskey;" + value="Helvetica, Arial, sans-serif" + value_parsed="helvetica,arial,sans-serif" + type="radio" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_fontFaceTimes" + label="&fontTimes.label;" + accesskey="&fontTimes.accesskey;" + value="Times New Roman, Times, serif" + value_parsed="times new roman,times,serif" + type="radio" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_fontFaceCourier" + label="&fontCourier.label;" + accesskey="&fontCourier.accesskey;" + value="Courier New, Courier, monospace" + value_parsed="courier new,courier,monospace" + type="radio" + observes="cmd_renderedHTMLEnabler"/> + <menuseparator id="fontFaceMenuAfterDefaultFontsSeparator" + class="fontFaceMenuAfterDefaultFonts"/> + <menuseparator id="fontFaceMenuAfterUsedFontsSeparator" + class="fontFaceMenuAfterUsedFonts" + hidden="true"/> + <!-- Local font face items added here by initLocalFontFaceMenu() --> + </menupopup> + </menu> + + <!-- Font size submenu --> + <menu id="fontSizeMenu" label="&fontSizeMenu.label;" + accesskey="&fontSizeMenu.accesskey;" + position="2"> + <menupopup id="fontSizeMenuPopup" + onpopupshowing="initFontSizeMenu(this)" + oncommand="setFontSize(event)"> + <menuitem id="menu_decreaseFontSize" + label="&decreaseFontSize.label;" + accesskey="&decreaseFontSize.accesskey;" + key="decreasefontsizekb" + observes="cmd_decreaseFontStep" + type="radio" name="decreaseFontSize" autocheck="false"/> + <menuitem id="menu_increaseFontSize" + label="&increaseFontSize.label;" + accesskey="&increaseFontSize.accesskey;" + key="increasefontsizekb" + observes="cmd_increaseFontStep" + type="radio" name="increaseFontSize" autocheck="false"/> + <menuseparator id="fontSizeMenuAfterIncreaseFontSizeSeparator"/> + <menuitem id="menu_size-x-small" + label="&size-tinyCmd.label;" + accesskey="&size-tinyCmd.accesskey;" + value="1" + type="radio" name="fontSize" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_size-small" + label="&size-smallCmd.label;" + accesskey="&size-smallCmd.accesskey;" + value="2" + type="radio" name="fontSize" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_size-medium" + label="&size-mediumCmd.label;" + accesskey="&size-mediumCmd.accesskey;" + value="3" + type="radio" name="fontSize" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_size-large" + label="&size-largeCmd.label;" + accesskey="&size-largeCmd.accesskey;" + value="4" + type="radio" name="fontSize" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_size-x-large" + label="&size-extraLargeCmd.label;" + accesskey="&size-extraLargeCmd.accesskey;" + value="5" + type="radio" name="fontSize" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_size-xx-large" + label="&size-hugeCmd.label;" + accesskey="&size-hugeCmd.accesskey;" + value="6" + type="radio" name="fontSize" + observes="cmd_renderedHTMLEnabler"/> + </menupopup> + </menu> + + <!-- Font style submenu --> + <menu id="fontStyleMenu" label="&fontStyleMenu.label;" + accesskey="&fontStyleMenu.accesskey;" + position="3"> + <menupopup id="fontStyleMenuPopup" onpopupshowing="initFontStyleMenu(this)"> + <menuitem id="menu_styleBold" + label="&styleBoldCmd.label;" + accesskey="&styleBoldCmd.accesskey;" + observes="cmd_bold" + type="checkbox" + key="boldkb"/> + <menuitem id="menu_styleItalic" + label="&styleItalicCmd.label;" + accesskey="&styleItalicCmd.accesskey;" + observes="cmd_italic" + type="checkbox" + key="italickb"/> + <menuitem id="menu_styleUnderline" + label="&styleUnderlineCmd.label;" + accesskey="&styleUnderlineCmd.accesskey;" + observes="cmd_underline" + type="checkbox" + key="underlinekb"/> + <menuitem id="menu_styleStrikeThru" + label="&styleStrikeThruCmd.label;" + accesskey="&styleStrikeThruCmd.accesskey;" + observes="cmd_strikethrough" + type="checkbox"/> + <menuitem id="menu_styleSuperscript" + label="&styleSuperscriptCmd.label;" + accesskey="&styleSuperscriptCmd.accesskey;" + observes="cmd_superscript" + type="checkbox"/> + <menuitem id="menu_styleSubscript" + label="&styleSubscriptCmd.label;" + accesskey="&styleSubscriptCmd.accesskey;" + observes="cmd_subscript" + type="checkbox"/> + <menuitem id="menu_fontFixedWidth" + label="&fontFixedWidth.label;" + accesskey="&fontFixedWidth.accesskey;" + observes="cmd_tt" + type="checkbox" + key="fixedwidthkb"/> + <menuitem id="menu_styleNonbreaking" + label="&styleNonbreakingCmd.label;" + accesskey="&styleNonbreakingCmd.accesskey;" + observes="cmd_nobreak" + type="checkbox"/> + <menuseparator id="fontStyleMenuAfterNonbreakingSeparator"/> + <menuitem id="menu_styleEm" + label="&styleEm.label;" + accesskey="&styleEm.accesskey;" + observes="cmd_em" + type="checkbox"/> + <menuitem id="menu_styleStrong" + label="&styleStrong.label;" + accesskey="&styleStrong.accesskey;" + observes="cmd_strong" + type="checkbox"/> + <menuitem id="menu_styleCite" + label="&styleCite.label;" + accesskey="&styleCite.accesskey;" + observes="cmd_cite" + type="checkbox"/> + <menuitem id="menu_styleAbbr" + label="&styleAbbr.label;" + accesskey="&styleAbbr.accesskey;" + observes="cmd_abbr" + type="checkbox"/> + <menuitem id="menu_styleAcronym" + label="&styleAcronym.label;" + accesskey="&styleAcronym.accesskey;" + observes="cmd_acronym" + type="checkbox"/> + <menuitem id="menu_styleCode" + label="&styleCode.label;" + accesskey="&styleCode.accesskey;" + observes="cmd_code" + type="checkbox"/> + <menuitem id="menu_styleSamp" + label="&styleSamp.label;" + accesskey="&styleSamp.accesskey;" + observes="cmd_samp" + type="checkbox"/> + <menuitem id="menu_styleVar" + label="&styleVar.label;" + accesskey="&styleVar.accesskey;" + observes="cmd_var" + type="checkbox"/> + </menupopup> + </menu> + + <!-- Note: "cmd_fontColor" only monitors color state, it doesn't execute the command + (We should use "cmd_fontColorState" and "cmd_backgroundColorState" ?) --> + <menuitem id="fontColor" label="&formatFontColor.label;" + accesskey="&formatFontColor.accesskey;" + observes="cmd_fontColor" + oncommand="EditorSelectColor('Text', null);" + position="4"/> + <menuseparator id="removeSep" position="5"/> + + <!-- label and accesskey set at runtime from strings --> + <menuitem id="removeStylesMenuitem" key="removestyleskb" + observes="cmd_removeStyles" + position="6"/> + <menuitem id="removeLinksMenuitem" key="removelinkskb" + observes="cmd_removeLinks" + position="7"/> + <menuitem id="removeNamedAnchorsMenuitem" label="&formatRemoveNamedAnchors.label;" + key="removenamedanchorskb" + accesskey="&formatRemoveNamedAnchors.accesskey;" + observes="cmd_removeNamedAnchors" + position="8"/> + <menuseparator id="tabSep" position="9"/> + + <!-- Note: the 'Init' menu methods for Paragraph, List, and Align + assume that the id = 'menu_'+tagName (the 'value' label), + except for the first ('none') item + --> + <!-- Paragraph Style submenu --> + <menu id="paragraphMenu" label="¶graphMenu.label;" + accesskey="¶graphMenu.accesskey;" + position="10" onpopupshowing="InitParagraphMenu()"> + <menupopup id="paragraphMenuPopup" + oncommand="setParagraphState(event);"> + <menuitem id="menu_bodyText" + type="radio" + name="1" + label="&bodyTextCmd.label;" + accesskey="&bodyTextCmd.accesskey;" + value="" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_p" + type="radio" + name="1" + label="¶graphParagraphCmd.label;" + accesskey="¶graphParagraphCmd.accesskey;" + value="p" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_h1" + type="radio" + name="1" + label="&heading1Cmd.label;" + accesskey="&heading1Cmd.accesskey;" + value="h1" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_h2" + type="radio" + name="1" + label="&heading2Cmd.label;" + accesskey="&heading2Cmd.accesskey;" + value="h2" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_h3" + type="radio" + name="1" + label="&heading3Cmd.label;" + accesskey="&heading3Cmd.accesskey;" + value="h3" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_h4" + type="radio" + name="1" + label="&heading4Cmd.label;" + accesskey="&heading4Cmd.accesskey;" + value="h4" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_h5" + type="radio" + name="1" + label="&heading5Cmd.label;" + accesskey="&heading5Cmd.accesskey;" + value="h5" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_h6" + type="radio" + name="1" + label="&heading6Cmd.label;" + accesskey="&heading6Cmd.accesskey;" + value="h6" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_address" + type="radio" + name="1" + label="¶graphAddressCmd.label;" + accesskey="¶graphAddressCmd.accesskey;" + value="address" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_pre" + type="radio" + name="1" + label="¶graphPreformatCmd.label;" + accesskey="¶graphPreformatCmd.accesskey;" + value="pre" + observes="cmd_renderedHTMLEnabler"/> + </menupopup> + </menu> + + <!-- List Style submenu --> + <menu id="listMenu" label="&formatlistMenu.label;" + accesskey="&formatlistMenu.accesskey;" + position="11" onpopupshowing="InitListMenu()"> + <menupopup id="listMenuPopup"> + <menuitem id="menu_noList" + type="radio" + name="1" + label="&noneCmd.label;" + accesskey="&noneCmd.accesskey;" + observes="cmd_removeList"/> + <menuitem id="menu_ul" + type="radio" + name="1" + label="&listBulletCmd.label;" + accesskey="&listBulletCmd.accesskey;" + observes="cmd_ul"/> + <menuitem id="menu_ol" + type="radio" + name="1" + label="&listNumberedCmd.label;" + accesskey="&listNumberedCmd.accesskey;" + observes="cmd_ol"/> + <menuitem id="menu_dt" + type="radio" + name="1" + label="&listTermCmd.label;" + accesskey="&listTermCmd.accesskey;" + observes="cmd_dt"/> + <menuitem id="menu_dd" + type="radio" + name="1" + label="&listDefinitionCmd.label;" + accesskey="&listDefinitionCmd.accesskey;" + observes="cmd_dd"/> + <menuseparator/> + <menuitem id="listProps" + label="&listPropsCmd.label;" + accesskey="&listPropsCmd.accesskey;" + observes="cmd_listProperties"/> + </menupopup> + </menu> + <menuseparator id="identingSep" position="12"/> + + <menuitem id="increaseIndent" + label="&increaseIndent.label;" + accesskey="&increaseIndent.accesskey;" + key="increaseindentkb" + observes="cmd_indent" + position="13"/> + <menuitem id="decreaseIndent" + label="&decreaseIndent.label;" + accesskey="&decreaseIndent.accesskey;" + key="decreaseindentkb" + observes="cmd_outdent" + position="14"/> + + <menu id="alignMenu" label="&alignMenu.label;" accesskey="&alignMenu.accesskey;" + onpopupshowing="InitAlignMenu()" + position="15"> + <!-- Align submenu --> + <menupopup id="alignMenuPopup" + oncommand="doStatefulCommand('cmd_align', event.target.getAttribute('value'))"> + <menuitem id="menu_left" + label="&alignLeft.label;" + accesskey="&alignLeft.accesskey;" + type="radio" + name="1" + value="left" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_center" + label="&alignCenter.label;" + accesskey="&alignCenter.accesskey;" + type="radio" + name="1" + value="center" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_right" + label="&alignRight.label;" + accesskey="&alignRight.accesskey;" + type="radio" + name="1" + value="right" + observes="cmd_renderedHTMLEnabler"/> + <menuitem id="menu_justify" + label="&alignJustify.label;" + accesskey="&alignJustify.accesskey;" + type="radio" + name="1" + value="justify" + observes="cmd_renderedHTMLEnabler"/> + </menupopup> + </menu> + <menuseparator id="tableSep" position="16"/> + <menu id="tableMenu" label="&tableMenu.label;" accesskey="&tableMenu.accesskey;"> + <menupopup id="tableMenuPopup" onpopupshowing="EditorInitTableMenu()"> + <menu id="tableInsertMenu" label="&tableInsertMenu.label;" accesskey="&tableInsertMenu.accesskey;"> + <menupopup id="tableMenuPopup"> + <menuitem id="menu_insertTable" + label="&insertTableCmd.label;" + accesskey="&insertTableCmd.accesskey;" + observes="cmd_InsertTable"/> + <menuseparator id="tableMenuAfterInsertTableSeparator"/> + <menuitem id="menu_tableRowAbove" + label="&tableRowAbove.label;" + accesskey="&tableRowAbove.accesskey;" + observes="cmd_InsertRowAbove"/> + <menuitem id="menu_tableRowBelow" + label="&tableRowBelow.label;" + accesskey="&tableRowBelow.accesskey;" + observes="cmd_InsertRowBelow"/> + <menuseparator id="tableMenuAfterTableRowSeparator"/> + <menuitem id="menu_tableColumnBefore" + label="&tableColumnBefore.label;" + accesskey="&tableColumnBefore.accesskey;" + observes="cmd_InsertColumnBefore"/> + <menuitem id="menu_tableColumnAfter" + label="&tableColumnAfter.label;" + accesskey="&tableColumnAfter.accesskey;" + observes="cmd_InsertColumnAfter"/> + <menuseparator id="tableMenuAfterInsertColumnSeparator"/> + <menuitem id="menu_tableCellBefore" + label="&tableCellBefore.label;" + accesskey="&tableCellBefore.accesskey;" + observes="cmd_InsertCellBefore"/> + <menuitem id="menu_tableCellAfter" + label="&tableCellAfter.label;" + accesskey="&tableCellAfter.accesskey;" + observes="cmd_InsertCellAfter"/> + </menupopup> + </menu> + <menu id="tableSelectMenu" + label="&tableSelectMenu.label;" + accesskey="&tableSelectMenu.accesskey;" > + <menupopup id="tableSelectPopup"> + <menuitem id="menu_SelectTable" + label="&tableTable.label;" + accesskey="&tableTable.accesskey;" + observes="cmd_SelectTable"/> + <menuitem id="menu_SelectRow" + label="&tableRow.label;" + accesskey="&tableRow.accesskey;" + observes="cmd_SelectRow"/> + <menuitem id="menu_SelectColumn" + label="&tableColumn.label;" + accesskey="&tableColumn.accesskey;" + observes="cmd_SelectColumn"/> + <menuitem id="menu_SelectCell" + label="&tableCell.label;" + accesskey="&tableCell.accesskey;" + observes="cmd_SelectCell"/> + <menuitem id="menu_SelectAllCells" + label="&tableAllCells.label;" + accesskey="&tableAllCells.accesskey;" + observes="cmd_SelectAllCells"/> + </menupopup> + </menu> + <menu id="tableDeleteMenu" + label="&tableDeleteMenu.label;" + accesskey="&tableDeleteMenu.accesskey;"> + <menupopup id="tableDeletePopup"> + <menuitem id="menu_DeleteTable" + label="&tableTable.label;" + accesskey="&tableTable.accesskey;" + observes="cmd_DeleteTable"/> + <menuitem id="menu_DeleteRow" + label="&tableRows.label;" + accesskey="&tableRow.accesskey;" + observes="cmd_DeleteRow"/> + <menuitem id="menu_DeleteColumn" + label="&tableColumns.label;" + accesskey="&tableColumn.accesskey;" + observes="cmd_DeleteColumn"/> + <menuitem id="menu_DeleteCell" + label="&tableCells.label;" + accesskey="&tableCell.accesskey;" + observes="cmd_DeleteCell"/> + <menuitem id="menu_DeleteCellContents" + label="&tableCellContents.label;" + accesskey="&tableCellContents.accesskey;" + observes="cmd_DeleteCellContents"/> + </menupopup> + </menu> + <menuseparator/> + <!-- menu label is set in InitTableMenu --> + <menuitem id="menu_JoinTableCells" + label="&tableJoinCells.label;" + accesskey="&tableJoinCells.accesskey;" + observes="cmd_JoinTableCells"/> + <menuitem id="menu_SlitTableCell" + label="&tableSplitCell.label;" + accesskey="&tableSplitCell.accesskey;" + observes="cmd_SplitTableCell"/> + <menuitem id="menu_ConvertToTable" + label="&convertToTable.label;" + accesskey="&convertToTable.accesskey;" + observes="cmd_ConvertToTable"/> + <menuseparator/> + <menuitem id="menu_TableOrCellColor" + label="&tableOrCellColor.label;" + accesskey="&tableOrCellColor.accesskey;" + observes="cmd_TableOrCellColor"/> + <menuitem id="menu_tableProperties" + label="&tableProperties.label;" + accesskey="&tableProperties.accesskey;" + observes="cmd_editTable"/> + </menupopup> + </menu> + <menuseparator/> + <!-- label and accesskey filled in during menu creation --> + <menuitem id="objectProperties" + command="cmd_objectProperties"/> + <!-- Don't use 'observes', must call command correctly --> + <menuitem id="colorsAndBackground" + label="&colorsAndBackground.label;" + accesskey="&colorsAndBackground.accesskey;" + oncommand="goDoCommand('cmd_colorProperties')" + observes="cmd_renderedHTMLEnabler"/> + </menupopup> + </menu> + + <menu id="optionsMenu" label="&optionsMenu.label;" accesskey="&optionsMenu.accesskey;"> + <menupopup id="optionsMenuPopup" onpopupshowing="updateOptionsMenu();"> + <menuitem id="menu_checkspelling" + label="&checkSpellingCmd2.label;" + accesskey="&checkSpellingCmd2.accesskey;" + key="key_checkspelling" + command="cmd_spelling"/> + <menuitem id="menu_inlineSpellCheck" + label="&enableInlineSpellChecker.label;" + accesskey="&enableInlineSpellChecker.accesskey;" + type="checkbox" + oncommand="toggleSpellCheckingEnabled();"/> + <menuitem id="menu_quoteMessage" + label=""eCmd.label;" + accesskey=""eCmd.accesskey;" + command="cmd_quoteMessage"/> + <menuseparator/> + <menuitem id="returnReceiptMenu" type="checkbox" + label="&returnReceiptMenu.label;" + accesskey="&returnReceiptMenu.accesskey;" + checked="false" + command="cmd_toggleReturnReceipt"/> + <menuitem id="dsnMenu" type="checkbox" label="&dsnMenu.label;" accesskey="&dsnMenu.accesskey;" oncommand="ToggleDSN(event.target)"/> + <menuseparator/> + <menu id="outputFormatMenu" data-l10n-id="compose-send-format-menu"> + <menupopup id="outputFormatMenuPopup"> + <menuitem type="radio" name="output_format" id="format_auto" data-l10n-id="compose-send-auto-menu-item"/> + <menuitem type="radio" name="output_format" id="format_both" data-l10n-id="compose-send-both-menu-item"/> + <menuitem type="radio" name="output_format" id="format_html" data-l10n-id="compose-send-html-menu-item"/> + <menuitem type="radio" name="output_format" id="format_plain" data-l10n-id="compose-send-plain-menu-item"/> + </menupopup> + </menu> + <menu id="priorityMenu" label="&priorityMenu.label;" accesskey="&priorityMenu.accesskey;" onpopupshowing="updatePriorityMenu();" oncommand="PriorityMenuSelect(event.target);"> + <menupopup id="priorityMenuPopup"> + <menuitem type="radio" name="priority" label="&highestPriorityCmd.label;" accesskey="&highestPriorityCmd.accesskey;" value="Highest" id="priority_highest"/> + <menuitem type="radio" name="priority" label="&highPriorityCmd.label;" accesskey="&highPriorityCmd.accesskey;" value="High" id="priority_high"/> + <menuitem type="radio" name="priority" label="&normalPriorityCmd.label;" accesskey="&normalPriorityCmd.accesskey;" value="" id="priority_normal" checked="true"/> + <menuitem type="radio" name="priority" label="&lowPriorityCmd.label;" accesskey="&lowPriorityCmd.accesskey;" value="Low" id="priority_low"/> + <menuitem type="radio" name="priority" label="&lowestPriorityCmd.label;" accesskey="&lowestPriorityCmd.accesskey;" value="Lowest" id="priority_lowest"/> + </menupopup> + </menu> + <menu id="fccMenu" label="&fileCarbonCopyCmd.label;" + accesskey="&fileCarbonCopyCmd.accesskey;" + oncommand="MessageFcc(event.target._folder)"> + <menupopup is="folder-menupopup" id="fccMenuPopup" mode="filing" + showFileHereLabel="true" fileHereLabel="&fileHereMenu.label;"/> + </menu> + <menuseparator/> + <menuitem type="checkbox" command="cmd_customizeFromAddress" + accesskey="&customizeFromAddress.accesskey;"/> + </menupopup> + </menu> + + <menu id="encryptionMenu" data-l10n-id="encryption-menu"> + <menupopup onpopupshowing="setSecuritySettings('_Menubar');"> + + <menuitem id="encTech_OpenPGP_Menubar" + label="&menu_techPGP.label;" accesskey="&menu_techPGP.accesskey;" + value="OpenPGP" type="radio" name="radiogroup_encTech" + oncommand="onEncryptionChoice(event.target.value);"/> + <menuitem id="encTech_SMIME_Menubar" + label="&menu_techSMIME.label;" accesskey="&menu_techSMIME.accesskey;" + value="SMIME" type="radio" name="radiogroup_encTech" + oncommand="onEncryptionChoice(event.target.value);"/> + + <menuseparator id="encryptionOptionsSeparator_Menubar"/> + + <menuitem id="menu_securityEncrypt_Menubar" + type="checkbox" + data-l10n-id="menu-encrypt" + value="enc" + oncommand="onEncryptionChoice(event.target.value);"/> + <menuitem id="menu_securityEncryptSubject_Menubar" + type="checkbox" + data-l10n-id="menu-encrypt-subject" + value="encsub" + oncommand="onEncryptionChoice(event.target.value);"/> + <menuitem id="menu_securitySign_Menubar" + type="checkbox" + data-l10n-id="menu-sign" + value="sig" + oncommand="onEncryptionChoice(event.target.value);"/> + + <menuseparator id="statusInfoSeparator"/> + + <menuitem id="menu_recipientStatus_Menubar" + data-l10n-id="menu-manage-keys" + value="status" + oncommand="onEncryptionChoice(event.target.value);"/> + <menuitem id="menu_openManager_Menubar" + data-l10n-id="menu-open-key-manager" + value="manager" + oncommand="onEncryptionChoice(event.target.value);"/> + + </menupopup> + </menu> + + <menu id="tasksMenu" label="&tasksMenu.label;" accesskey="&tasksMenu.accesskey;"> + <menupopup id="taskPopup"> + <menuitem id="tasksMenuMail" accesskey="&messengerCmd.accesskey;" + label="&messengerCmd.label;" key="key_mail" + oncommand="toMessengerWindow();"/> + <menuitem id="tasksMenuAddressBook" + label="&addressBookCmd.label;" + accesskey="&addressBookCmd.accesskey;" + oncommand="toAddressBook();"/> +#ifndef XP_MACOSX + <menuseparator id="prefSep"/> + <menuitem id="menu_accountmgr" + label="&accountManagerCmd2.label;" + accesskey="&accountManagerCmd2.accesskey;" + command="cmd_account"/> + <menuitem id="menu_preferences" + data-l10n-id="menu-tools-settings" + oncommand="openOptionsDialog('paneCompose');"/> +#endif + </menupopup> + </menu> + +#ifdef XP_MACOSX +#include ../../../base/content/macWindowMenu.inc.xhtml +#endif + + <!-- Help --> +#include ../../../base/content/helpMenu.inc.xhtml + </menubar> + </toolbaritem> + </toolbar> + + <toolbarpalette id="MsgComposeToolbarPalette"> + + <toolbarbutton class="toolbarbutton-1" + id="button-send" label="&sendButton.label;" + tooltiptext="&sendButton.tooltip;" + command="cmd_sendButton" + now_label="&sendButton.label;" + now_tooltiptext="&sendButton.tooltip;" + later_label="&sendLaterCmd.label;" + later_tooltiptext="&sendlaterButton.tooltip;"> + </toolbarbutton> + + <toolbarbutton class="toolbarbutton-1" + id="button-contacts" label="&addressButton.label;" + tooltiptext="&addressButton.tooltip;" + autoCheck="false" type="checkbox" + oncommand="toggleContactsSidebar();"/> + + <toolbarbutton is="toolbarbutton-menu-button" id="button-attach" + data-l10n-id="toolbar-button-add-attachment" + type="menu" + class="toolbarbutton-1" + command="cmd_attachFile"> + <menupopup id="button-attachPopup" onpopupshowing="updateAttachmentItems();"> + <menuitem id="button-attachPopup_attachFileItem" + data-l10n-id="menuitem-attach-files" + data-l10n-attrs="acceltext" + command="cmd_attachFile"/> + <menu id="button-attachPopup_attachCloudMenu" + label="&attachCloudCmd.label;" + accesskey="&attachCloudCmd.accesskey;" + command="cmd_attachCloud"> + <menupopup id="attachCloudMenu_popup" onpopupshowing="if (event.target == this) { addAttachCloudMenuItems(this); }"/> + </menu> + <menuitem id="button-attachPopup_attachPageItem" + label="&attachPageCmd.label;" + accesskey="&attachPageCmd.accesskey;" + command="cmd_attachPage"/> + <menuseparator/> + <menuitem id="button-attachPopup_attachVCardItem" + type="checkbox" + data-l10n-id="context-menuitem-attach-vcard" + command="cmd_attachVCard"/> + <menuitem id="button-attachPopup_attachPublicKey" + type="checkbox" + data-l10n-id="context-menuitem-attach-openpgp-key" + command="cmd_attachPublicKey"/> + <menuseparator id="button-attachPopup_remindLaterSeparator"/> + <menuitem id="button-attachPopup_remindLaterItem" + type="checkbox" + label="&remindLater.label;" + accesskey="&remindLater.accesskey;" + command="cmd_remindLater"/> + </menupopup> + </toolbarbutton> + + <toolbarbutton id="button-encryption" + type="checkbox" autoCheck="false" + class="toolbarbutton-1" + data-l10n-id="encryption-toggle" + oncommand="toggleEncryptMessage();"/> + + <toolbarbutton id="button-signing" + type="checkbox" autoCheck="false" + class="toolbarbutton-1" + data-l10n-id="signing-toggle" + oncommand="toggleGlobalSignMessage();"/> + + <toolbarbutton is="toolbarbutton-menu-button" id="button-encryption-options" + type="menu" + class="toolbarbutton-1" + data-l10n-id="encryption-options-openpgp" + oncommand="showPopupById('encryptionToolbarMenu', 'button-encryption-options');"> + <menupopup id="encryptionToolbarMenu" + onpopupshowing="setSecuritySettings('_Toolbar');" + oncommand="onEncryptionChoice(event.target.value);"> + + <menuitem id="encTech_OpenPGP_Toolbar" + label="&menu_techPGP.label;" accesskey="&menu_techPGP.accesskey;" + value="OpenPGP" type="radio" name="radiogroup_encTech"/> + <menuitem id="encTech_SMIME_Toolbar" + label="&menu_techSMIME.label;" accesskey="&menu_techSMIME.accesskey;" + value="SMIME" type="radio" name="radiogroup_encTech"/> + + <menuseparator id="encryptionOptionsSeparator_Toolbar"/> + + <menuitem id="menu_securityEncrypt_Toolbar" + type="checkbox" + data-l10n-id="menu-encrypt" + value="enc"/> + <menuitem id="menu_securityEncryptSubject_Toolbar" + type="checkbox" + data-l10n-id="menu-encrypt-subject" + value="encsub"/> + <menuitem id="menu_securitySign_Toolbar" + type="checkbox" + data-l10n-id="menu-sign" + value="sig"/> + + <menuseparator id="statusInfoSeparator"/> + + <menuitem id="menu_recipientStatus_Toolbar" + data-l10n-id="menu-manage-keys" + value="status"/> + <menuitem id="menu_openManager_Toolbar" + data-l10n-id="menu-open-key-manager" + value="manager"/> + + </menupopup> + </toolbarbutton> + + <toolbarbutton is="toolbarbutton-menu-button" id="spellingButton" + type="menu" + class="toolbarbutton-1" + label="&spellingButton.label;" + tooltiptext="&spellingButton.tooltip;" + command="cmd_spelling"> + <!-- workaround for the bug that split menu doesn't take popup="popupID" --> + <menupopup onpopupshowing="event.preventDefault(); + showPopupById('languageMenuList', + 'spellingButton');"/> + </toolbarbutton> + + <toolbarbutton is="toolbarbutton-menu-button" id="button-save" + type="menu" + class="toolbarbutton-1" + label="&saveButton.label;" + tooltiptext="&saveButton.tooltip;" + command="cmd_saveDefault"> + <menupopup id="button-savePopup" onpopupshowing="InitFileSaveAsMenu();"> + <menuitem id="savePopup_saveAsFile" + label="&saveAsFileCmd.label;" accesskey="&saveAsFileCmd.accesskey;" + command="cmd_saveAsFile" type="radio" name="radiogroup_SaveAs"/> + <menuseparator/> + <menuitem id="savePopup_saveAsDraft" + label="&saveAsDraftCmd.label;" accesskey="&saveAsDraftCmd.accesskey;" + command="cmd_saveAsDraft" type="radio" name="radiogroup_SaveAs"/> + <menuitem id="savePopup_saveAsTemplate" + label="&saveAsTemplateCmd.label;" accesskey="&saveAsTemplateCmd.accesskey;" + command="cmd_saveAsTemplate" type="radio" name="radiogroup_SaveAs"/> + </menupopup> + </toolbarbutton> + + <toolbarbutton id="button-print" + class="toolbarbutton-1" + label="&printButton.label;" + command="cmd_print" + tooltiptext="&printButton.tooltip;"/> + <toolbarbutton class="toolbarbutton-1" + id="quoteButton" label=""eButton.label;" + tooltiptext=""eButton.tooltip;" + command="cmd_quoteMessage"/> + + <toolbarbutton id="cut-button" class="toolbarbutton-1" + data-l10n-id="text-action-cut" + command="cmd_cut" + tooltiptext="&cutButton.tooltip;"/> + <toolbarbutton id="copy-button" class="toolbarbutton-1" + data-l10n-id="text-action-copy" + command="cmd_copy" + tooltiptext="©Button.tooltip;"/> + <toolbarbutton id="paste-button" class="toolbarbutton-1" + data-l10n-id="text-action-paste" + command="cmd_paste" + tooltiptext="&pasteButton.tooltip;"/> + + <toolbaritem id="priority-button" + align="center" + pack="center" + title="&priorityButton.title;" + tooltiptext="&priorityButton.tooltiptext;"> + <label value="&priorityButton.label;" control="priorityMenu-button"/> + <menulist id="priorityMenu-button" value="" oncommand="PriorityMenuSelect(event.target);"> + <menupopup id="priorityMenu-buttonPopup"> + <menuitem id="list_priority_highest" + name="priority" + label="&highestPriorityCmd.label;" + value="Highest"/> + <menuitem id="list_priority_high" + name="priority" + label="&highPriorityCmd.label;" + value="High"/> + <menuitem id="list_priority_normal" + name="priority" + selected="true" + label="&normalPriorityCmd.label;" + value=""/> + <menuitem id="list_priority_low" + name="priority" + label="&lowPriorityCmd.label;" + value="Low"/> + <menuitem id="list_priority_lowest" + name="priority" + label="&lowestPriorityCmd.label;" + value="Lowest"/> + </menupopup> + </menulist> + </toolbaritem> + + <toolbarbutton id="button-returnReceipt" + class="toolbarbutton-1" + data-l10n-id="button-return-receipt" + type="checkbox" autoCheck="false" + command="cmd_toggleReturnReceipt"/> + </toolbarpalette> + <toolbar is="customizable-toolbar" + id="composeToolbar2" + class="chromeclass-toolbar themeable-full" + toolbarname="&showCompositionToolbarCmd.label;" + accesskey="&showCompositionToolbarCmd.accesskey;" + fullscreentoolbar="true" mode="full" +#ifdef XP_MACOSX + iconsize="small" +#endif + defaultset="button-send,separator,button-encryption,button-encryption-options,button-address,spellingButton,button-save,button-contacts,spring,button-attach" + customizable="true" + context="toolbar-context-menu"> + </toolbar> +</toolbox> + <html:div id="composeContentBox" class="printPreviewStack attachment-area-hidden"> + <html:div id="contactsSidebar"> + <box class="sidebar-header" align="center"> + <label id="contactsTitle" value="&addressesSidebarTitle.label;"/> + <spacer flex="1"/> + <toolbarbutton class="close-icon" + oncommand="toggleContactsSidebar();"/> + </box> + <browser id="contactsBrowser" src="" disablehistory="true"/> + </html:div> + + <html:hr is="pane-splitter" id="contactsSplitter" + resize-direction="horizontal" + resize-id="contactsSidebar" /> + + <toolbar is="customizable-toolbar" id="MsgHeadersToolbar" + class="themeable-full" + customizable="true" nowindowdrag="true" + ondragover="envelopeDragObserver.onDragOver(event);" + ondrop="envelopeDragObserver.onDrop(event);" + ondragleave="envelopeDragObserver.onDragLeave(event);"> + <hbox id="top-gradient-box" class="address-identity-recipient"> + <hbox class="aw-firstColBox"/> + <hbox id="identityLabel-box" align="center" + pack="end" style="&headersSpace2.style;"> + <label id="identityLabel" value="&fromAddr2.label;" + accesskey="&fromAddr.accesskey;" control="msgIdentity"/> + </hbox> + <menulist is="menulist-editable" id="msgIdentity" + type="description" + disableautoselect="true" onkeypress="fromKeyPress(event);" + oncommand="LoadIdentity(false);" disableonsend="true"> + <menupopup id="msgIdentityPopup"/> + </menulist> + + <html:div id="extraAddressRowsArea"> + <!-- Default set up is for a mail account, where we prefer + - showing the buttons, rather than the menu items, for + - the mail rows. + - The To field is already shown, so the button is hidden. + - For the news rows, we prefer the menu items over the + - buttons, so we hide them. --> + <html:button id="addr_toShowAddressRowButton" + disableonsend="true" + class="recipient-button plain-button" + data-address-row="addressRowTo" + onclick="showAndFocusAddressRow('addressRowTo');" + ondrop="showAddressRowButtonOnDrop(event);" + ondragover="showAddressRowButtonOnDragover(event);" + hidden="hidden"> + </html:button> + <html:button id="addr_ccShowAddressRowButton" + disableonsend="true" + class="recipient-button plain-button" + data-address-row="addressRowCc" + onclick="showAndFocusAddressRow('addressRowCc');" + ondrop="showAddressRowButtonOnDrop(event);" + ondragover="showAddressRowButtonOnDragover(event);"> + </html:button> + <html:button id="addr_bccShowAddressRowButton" + disableonsend="true" + class="recipient-button plain-button" + data-address-row="addressRowBcc" + onclick="showAndFocusAddressRow('addressRowBcc');" + ondrop="showAddressRowButtonOnDrop(event);" + ondragover="showAddressRowButtonOnDragover(event);"> + </html:button> + <html:button id="addr_newsgroupsShowAddressRowButton" + class="recipient-button plain-button" + hidden="hidden" + onclick="showAndFocusAddressRow('addressRowNewsgroups')"> + &newsgroupsAddr2.label; + </html:button> + <html:button id="addr_followupShowAddressRowButton" + class="recipient-button plain-button" + hidden="hidden" + onclick="showAndFocusAddressRow('addressRowFollowup')"> + &followupAddr2.label; + </html:button> + <html:button id="extraAddressRowsMenuButton" + data-l10n-id="extra-address-rows-menu-button" + aria-expanded="false" + aria-haspopup="menu" + aria-controls="extraAddressRowsMenu" + disableonsend="true" + class="plain-button" + onclick="openExtraAddressRowsMenu();"> + <!-- NOTE: button title should provide the accessibility + - context. --> + <html:img class="overflow-icon" + src="chrome://messenger/skin/icons/new/compact/overflow.svg" + alt="" /> + </html:button> + </html:div> + </hbox> + + <mail-recipients-area id="recipientsContainer" orient="vertical" + class="recipients-container"> + <hbox id="addressRowReply" + class="address-row hidden" + data-recipienttype="addr_reply" + data-show-self-menuitem="addr_replyShowAddressRowMenuItem"> + <hbox class="aw-firstColBox"> + <html:button class="remove-field-button plain-button" + onclick="closeLabelOnClick(event);"> + <html:img src="chrome://global/skin/icons/close.svg" + alt="" /> + </html:button> + </hbox> + <hbox class="address-label-container" align="top" pack="end" + style="&headersSpace2.style;"> + <label id="replyAddrLabel" value="&replyAddr2.label;" + control="replyAddrInput"/> + </hbox> + <hbox id="replyAddrContainer" flex="1" align="center" + class="input-container wrap-container address-container" + onclick="focusAddressInputOnClick(event);"> + <html:input is="autocomplete-input" id="replyAddrInput" + type="text" + class="plain address-input address-row-input mail-input" + disableonsend="true" + autocompletesearch="mydomain addrbook ldap news" + autocompletesearchparam="{}" + timeout="200" + maxrows="6" + completedefaultindex="true" + forcecomplete="true" + completeselectedindex="true" + minresultsforpopup="2" + ignoreblurwhilesearching="true" + onfocus="addressInputOnFocus(this);" + onblur="addressInputOnBlur(this);" + size="1"/> + </hbox> + </hbox> + + <hbox id="addressRowTo" + class="address-row" + data-recipienttype="addr_to" + data-show-self-menuitem="addr_toShowAddressRowMenuItem"> + <hbox class="aw-firstColBox"> + <html:button class="remove-field-button plain-button" + onclick="closeLabelOnClick(event);" + hidden="hidden"> + <html:img src="chrome://global/skin/icons/close.svg" + alt="" /> + </html:button> + </hbox> + <hbox class="address-label-container" align="top" pack="end" + style="&headersSpace2.style;"> + <label id="toAddrLabel" + data-l10n-id="to-address-row-label" + control="toAddrInput"/> + </hbox> + <hbox id="toAddrContainer" flex="1" align="center" + class="input-container wrap-container address-container" + onclick="focusAddressInputOnClick(event);"> + <html:input is="autocomplete-input" id="toAddrInput" + type="text" + class="plain address-input address-row-input mail-input mail-primary-input" + disableonsend="true" + autocompletesearch="mydomain addrbook ldap news" + autocompletesearchparam="{}" + timeout="200" + maxrows="6" + completedefaultindex="true" + forcecomplete="true" + completeselectedindex="true" + minresultsforpopup="2" + ignoreblurwhilesearching="true" + onfocus="addressInputOnFocus(this);" + onblur="addressInputOnBlur(this);" + size="1"/> + </hbox> + </hbox> + + <hbox id="addressRowCc" + class="address-row hidden" + data-recipienttype="addr_cc" + data-show-self-menuitem="addr_ccShowAddressRowMenuItem"> + <hbox class="aw-firstColBox"> + <html:button class="remove-field-button plain-button" + onclick="closeLabelOnClick(event);"> + <html:img src="chrome://global/skin/icons/close.svg" + alt="" /> + </html:button> + </hbox> + <hbox class="address-label-container" align="top" pack="end" + style="&headersSpace2.style;"> + <label id="ccAddrLabel" + data-l10n-id="cc-address-row-label" + control="ccAddrInput"/> + </hbox> + <hbox id="ccAddrContainer" flex="1" align="center" + class="input-container wrap-container address-container" + onclick="focusAddressInputOnClick(event);"> + <html:input is="autocomplete-input" id="ccAddrInput" + type="text" + class="plain address-input address-row-input mail-input" + disableonsend="true" + autocompletesearch="mydomain addrbook ldap news" + autocompletesearchparam="{}" + timeout="200" + maxrows="6" + completedefaultindex="true" + forcecomplete="true" + completeselectedindex="true" + minresultsforpopup="2" + ignoreblurwhilesearching="true" + onfocus="addressInputOnFocus(this);" + onblur="addressInputOnBlur(this);" + size="1"/> + </hbox> + </hbox> + + <hbox id="addressRowBcc" + class="address-row hidden" + data-recipienttype="addr_bcc" + data-show-self-menuitem="addr_bccShowAddressRowMenuItem"> + <hbox class="aw-firstColBox"> + <html:button class="remove-field-button plain-button" + onclick="closeLabelOnClick(event);"> + <html:img src="chrome://global/skin/icons/close.svg" + alt="" /> + </html:button> + </hbox> + <hbox class="address-label-container" align="top" pack="end" + style="&headersSpace2.style;"> + <label id="bccAddrLabel" + data-l10n-id="bcc-address-row-label" + control="bccAddrInput"/> + </hbox> + <hbox id="bccAddrContainer" flex="1" align="center" + class="input-container wrap-container address-container" + onclick="focusAddressInputOnClick(event);"> + <html:input is="autocomplete-input" id="bccAddrInput" + type="text" + class="plain address-input address-row-input mail-input" + disableonsend="true" + autocompletesearch="mydomain addrbook ldap news" + autocompletesearchparam="{}" + timeout="200" + maxrows="6" + completedefaultindex="true" + forcecomplete="true" + completeselectedindex="true" + minresultsforpopup="2" + ignoreblurwhilesearching="true" + onfocus="addressInputOnFocus(this);" + onblur="addressInputOnBlur(this);" + size="1"/> + </hbox> + </hbox> + + <hbox id="addressRowNewsgroups" + class="address-row hidden" + data-recipienttype="addr_newsgroups" + data-show-self-menuitem="addr_newsgroupsShowAddressRowMenuItem"> + <hbox class="aw-firstColBox"> + <html:button class="remove-field-button plain-button" + onclick="closeLabelOnClick(event);"> + <html:img src="chrome://global/skin/icons/close.svg" + alt="" /> + </html:button> + </hbox> + <hbox class="address-label-container" align="top" pack="end" + style="&headersSpace2.style;"> + <label id="newsgroupsAddrLabel" value="&newsgroupsAddr2.label;" + control="newsgroupsAddrInput"/> + </hbox> + <hbox id="newsgroupsAddrContainer" flex="1" align="center" + class="input-container wrap-container address-container" + onclick="focusAddressInputOnClick(event);"> + <html:input is="autocomplete-input" id="newsgroupsAddrInput" + type="text" + class="plain address-input address-row-input news-input news-primary-input" + disableonsend="true" + autocompletesearch="mydomain addrbook ldap news" + autocompletesearchparam="{}" + timeout="200" + maxrows="6" + completedefaultindex="true" + forcecomplete="true" + completeselectedindex="true" + minresultsforpopup="2" + ignoreblurwhilesearching="true" + onfocus="addressInputOnFocus(this);" + onblur="addressInputOnBlur(this);" + size="1"/> + </hbox> + </hbox> + + <hbox id="addressRowFollowup" + class="address-row hidden" + data-recipienttype="addr_followup" + data-show-self-menuitem="addr_followupShowAddressRowMenuItem"> + <hbox class="aw-firstColBox"> + <html:button class="remove-field-button plain-button" + onclick="closeLabelOnClick(event);"> + <html:img src="chrome://global/skin/icons/close.svg" + alt="" /> + </html:button> + </hbox> + <hbox class="address-label-container" align="top" pack="end" + style="&headersSpace2.style;"> + <label id="followupAddrLabel" value="&followupAddr2.label;" + control="followupAddrInput"/> + </hbox> + <hbox id="followupAddrContainer" flex="1" align="center" + class="input-container wrap-container address-container" + onclick="focusAddressInputOnClick(event);"> + <html:input is="autocomplete-input" id="followupAddrInput" + type="text" + class="plain address-input address-row-input news-input" + disableonsend="true" + autocompletesearch="mydomain addrbook ldap news" + autocompletesearchparam="{}" + timeout="200" + maxrows="6" + completedefaultindex="true" + forcecomplete="true" + completeselectedindex="true" + minresultsforpopup="2" + ignoreblurwhilesearching="true" + onfocus="addressInputOnFocus(this);" + onblur="addressInputOnBlur(this);" + size="1"/> + </hbox> + </hbox> + </mail-recipients-area> + + <hbox id="subject-box"> + <hbox class="aw-firstColBox"/> + <hbox id="subjectLabel-box" align="center" + pack="end" style="&headersSpace2.style;"> + <label id="subjectLabel" value="&subject2.label;" + accesskey="&subject.accesskey;" control="msgSubject"/> + </hbox> + <hbox id="msgSubjectContainer" flex="1" align="center" + class="input-container"> + <moz-input-box spellcheck="true" style="flex: 1;"> + <html:img id="msgEncryptedSubjectIcon" + src="chrome://messenger/skin/icons/message-encrypted-notok.svg" + onclick="toggleEncryptedSubject(event);" + hidden="hidden" + alt="" /> + <html:input id="msgSubject" + type="text" + class="input-inline textbox-input" + disableonsend="true" + oninput="msgSubjectOnInput(event);" + onkeypress="subjectKeyPress(event);" + aria-labelledby="subjectLabel" + style="flex: 1;"/> + </moz-input-box> + </hbox> + </hbox> + </toolbar> + + <toolbox id="FormatToolbox" mode="icons"> + <toolbar id="FormatToolbar" + class="chromeclass-toolbar themeable-brighttext" + persist="collapsed" + nowindowdrag="true"> +#include editFormatButtons.inc.xhtml + <spacer flex="1"/> + </toolbar> + </toolbox> + + <html:hr is="pane-splitter" id="headersSplitter" + resize-direction="vertical" + resize-id="MsgHeadersToolbar" /> + <html:div id="messageArea"> + <html:div id="dropAttachmentOverlay" class="drop-attachment-overlay"> + <html:aside id="addInline" class="drop-attachment-box"> + <html:span id="addInlineLabel" + data-l10n-id="drop-file-label-inline" + data-l10n-args='{"count": 1}' + class="drop-inline"></html:span> + </html:aside> + <html:aside id="addAsAttachment" + class="drop-attachment-box"> + <html:span id="addAsAttachmentLabel" + data-l10n-id="drop-file-label-attachment" + data-l10n-args='{"count": 1}' + class="drop-as-attachment"></html:span> + </html:aside> + </html:div> + <!-- + - The mail message body frame. The src does not exactly match + - "about:blank" so that WebExtension content scripts are not loaded + - here in the moments before navigation to about:blank?compose occurs. + --> + <editor id="messageEditor" + type="content" + primary="true" + src="about:blank?" + name="browser.message.body" + aria-label="&aria.message.bodyName;" + messagemanagergroup="browsers" + oncontextmenu="this._contextX = event.pageX; this._contextY = event.pageY;" + onclick="EditorClick(event);" + ondblclick="EditorDblClick(event);" + context="msgComposeContext"/> + + <html:div id="linkPreviewSettings" xmlns="http://www.w3.org/1999/xhtml" hidden="hidden"> + <span class="close">+</span> + <h2 data-l10n-id="link-preview-title"></h2> + <p data-l10n-id="link-preview-description"></p> + <p> + <input class="preview-autoadd" id="link-preview-autoadd" type="checkbox" /> + <label data-l10n-id="link-preview-autoadd" for="link-preview-autoadd"></label> + </p> + <p class="bottom"> + <span data-l10n-id="link-preview-replace-now"></span> + <button class="preview-replace" data-l10n-id="link-preview-yes-replace"></button> + </p> + </html:div> + + <findbar id="FindToolbar" browserid="messageEditor"/> + </html:div> + + <!-- NOTE: The splitter controls #attachmentBucket's size directly. --> + <html:hr is="pane-splitter" id="attachmentSplitter" + resize-direction="vertical" + resize-id="attachmentBucket" /> + <html:details id="attachmentArea"> + <html:summary> + <!-- Hide from accessibility tree since this is only used for a brief + - animation effect. --> + <html:span id="newAttachmentIndicator" aria-hidden="true"></html:span> + <html:img id="attachmentToggle" + src="chrome://messenger/skin/icons/new/nav-down-sm.svg" + alt="" /> + <html:span id="attachmentBucketCount"></html:span> + <html:span id="attachmentBucketSize" role="note"></html:span> + </html:summary> + + <richlistbox is="attachment-list" id="attachmentBucket" + aria-describedby="attachmentBucketCount" + class="attachmentList" + disableonsend="true" + seltype="multiple" + flex="1" + role="listbox" + context="msgComposeAttachmentListContext" + itemcontext="msgComposeAttachmentItemContext" + onclick="attachmentBucketOnClick(event);" + onkeypress="attachmentBucketOnKeyPress(event);" + onselect="attachmentBucketOnSelect();" + ondragstart="attachmentBucketDNDObserver.onDragStart(event);" + ondragover="envelopeDragObserver.onDragOver(event);" + ondrop="envelopeDragObserver.onDrop(event);" + ondragleave="envelopeDragObserver.onDragLeave(event);" + onblur="attachmentBucketOnBlur();"/> + </html:details> + </html:div> + + <panel id="customizeToolbarSheetPopup" noautohide="true"> + <iframe id="customizeToolbarSheetIFrame" + style="&dialog.dimensions;" + hidden="true"/> + </panel> + + <vbox id="compose-notification-bottom"> + <!-- notificationbox will be added here lazily. --> + </vbox> + + <html:div id="status-bar" class="statusbar" role="status"> + <html:div id="statusText"></html:div> + <html:progress id="compose-progressmeter" + class="progressmeter-statusbar" + value="0" max="100" + hidden="hidden"> + </html:progress> + <html:button id="languageStatusButton" + class="plain-button" + aria-expanded="false" + aria-haspopup="menu" + aria-controls="languageMenuList" + title="&languageStatusButton.tooltip;" + onclick="showPopupById('languageMenuList', 'languageStatusButton', 'before_start');" + hidden="hidden"> + </html:button> + </html:div> + +#include ../../../base/content/tabDialogs.inc.xhtml +#include ../../../extensions/openpgp/content/ui/keyAssistant.inc.xhtml + +<html:template id="dataCardTemplate" xmlns="http://www.w3.org/1999/xhtml"> + <aside class="moz-card" style="width:600px; display:flex; align-items:center; justify-content:center; flex-direction:row; flex-wrap:wrap; border-radius:10px; border:1px solid silver;"> + <a class="remove-card">+</a> + <div class="card-pic" style="display:flex; flex-direction:column; flex-basis:100%; flex:1;"> + <div style="margin:0 5px;"> + <img src="IMAGE" style="width:120px;" alt="" /> + </div> + </div> + <div class="card-content" style="display:flex; flex-direction:column; flex-basis:100%; flex:3;"> + <div style="margin:0 1em;"> + <p><small class="site" style="font-weight:lighter;">SITE</small></p> + <p> + <a href="#" style="font-weight:600; text-decoration:none;"><big class="title">TITLE</big></a> + </p> + <p class="description">DESCRIPTION</p> + <p> + <a href="#" class="url" style="display:inline-block; text-decoration:none; text-indent:-2ch; margin-inline:2ch;">URL</a> + </p> + </div> + </div> + </aside> +</html:template> +</html:body> +</html> |