gecko-dev/mailnews/base/resources/content/messenger.xul

365 lines
14 KiB
XML

<?xml version="1.0"?>
<!--
The contents of this file are subject to the Netscape Public
License Version 1.1 (the "License"); you may not use this file
except in compliance with the License. You may obtain a copy of
the License at http://www.mozilla.org/NPL/
Software distributed under the License is distributed on an "AS
IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
implied. See the License for the specific language governing
rights and limitations under the License.
The Original Code is Mozilla Communicator client code, released
March 31, 1998.
The Initial Developer of the Original Code is Netscape
Communications Corporation. Portions created by Netscape are
Copyright (C) 1998-1999 Netscape Communications Corporation. All
Rights Reserved.
-->
<?xml-stylesheet href="chrome://messenger/skin/messenger.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<?xul-overlay href="chrome://messenger/content/platformMailnewsOverlay.xul"?>
<?xul-overlay href="chrome://messenger/content/threadPane.xul"?>
<?xul-overlay href="chrome://messenger/content/folderPane.xul"?>
<?xul-overlay href="chrome://messenger/content/msgHdrViewOverlay.xul"?>
<?xul-overlay href="chrome://messenger/content/mailWindowOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/sidebar/sidebarOverlay.xul"?>
<?xul-overlay href="chrome://global/content/tasksOverlay.xul"?>
<!DOCTYPE window SYSTEM "chrome://messenger/locale/messenger.dtd">
<window id="messengerWindow"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/TR/REC-html40"
xmlns:nc="http://home.netscape.com/NC-rdf#"
title="&messengerWindow.title;"
titlemodifier="&titleModifier.label;"
titlemenuseparator="&titleSeperator.label;"
onload="OnLoadMessenger()"
onunload="OnUnloadMessenger()"
align="vertical"
width="750"
height="500"
persist="width height screenX screenY"
windowtype="mail:3pane">
<script src="chrome://global/content/strres.js"/>
<script src="chrome://messenger/content/widgetglue.js"/>
<script src="chrome://messenger/content/commandglue.js"/>
<script src="chrome://messenger/content/shareglue.js"/>
<script src="chrome://messenger/content/msgViewNavigation.js"/>
<script src="chrome://messenger/content/mailWindow.js"/>
<script src="chrome://messenger/content/msgMail3PaneWindow.js"/>
<script src="chrome://messenger/content/mailContextMenus.js"/>
<script src="chrome://messenger/content/messengerdnd.js"/>
<script src="chrome://messenger/content/accountUtils.js"/>
<commands id="commands">
<commandset id="CommandUpdate_Mail"
commandupdater="true"
events="focus,tree-select"
oncommandupdate="CommandUpdate_Mail()"/>
<commandset id="globalEditMenuItems"/>
<commandset id="selectEditMenuItems"/>
<commandset id="undoEditMenuItems"/>
</commands>
<broadcasterset id="broadcasterset"/>
<keyset id="keyset">
<!-- File Menu -->
<key id="key_newNavigator"/>
<key id="key_newMessage"/>
<key id="key_close"/>
<key id="key_quit"/>
<!-- Edit Menu -->
<key id="key_undo"/>
<key id="key_redo"/>
<key id="key_cut"/>
<key id="key_copy"/>
<key id="key_paste"/>
<key id="key_delete" shift="false"/>
<key id="cmd_shiftDelete" oncommand="goDoCommand('cmd_shiftDelete')"/>
<key id="key_selectAll"/>
<key id="key_preferences"/>
<key id="key_nextUnreadMsg" key="&nextUnreadMsgCmd.key;" control="false" shift="false" observes="cmd_nextUnreadMsg"/>
<key id="key_nextUnreadThread" key="&nextUnreadThreadCmd.key;" control="false" shift="false" observes="cmd_nextUnreadThread"/>
</keyset>
<popupset>
<popup id="threadPaneContext" oncreate="return fillThreadPaneContextMenu();" >
<menuitem id="threadPaneContext-openNewWindow"
value="&contextOpenNewWindow.label;"
accesskey=""
oncommand="MsgOpenNewWindowForMessage();"/>
<menuitem id="threadPaneContext-editAsNew"
value="&contextEditAsNew.label;"
accesskey=""
oncommand="MsgEditMessageAsNew();"/>
<menuseparator id="threadPaneContext-sep-open"/>
<menuitem id="threadPaneContext-replySender"
value="&contextReplySender.label;"
accesskey=""
oncommand="MsgReplyMessage(event);"/>
<menuitem id="threadPaneContext-replyAll"
value="&contextReplyAll.label;"
accesskey=""
oncommand="MsgReplyToAllMessage(event);"/>
<menuitem id="threadPaneContext-forward"
value="&contextForward.label;"
accesskey=""
oncommand="MsgForwardMessage(event);"/>
<menuseparator id="threadPaneContext-sep-reply"/>
<menu id="threadPaneContext-moveMenu"
value="&contextMoveMsgMenu.label;"
datasources="rdf:null"
rdf:ignore="http://home.netscape.com/NC-rdf#MessageChild">
<menupopup/>
<template>
<rule nc:CanFileMessages="true" iscontainer="true" isempty="false">
<menupopup>
<menu uri="..." class="folderMenuItem" value="rdf:http://home.netscape.com/NC-rdf#Name"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType">
<menupopup>
<menuitem uri="..." value="&fileHereMenu.label;"
oncommand="MsgMoveMessage(event.target)"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType" />
<menuseparator/>
</menupopup>
</menu>
</menupopup>
</rule>
<rule nc:CanFileMessages="false" nc:ServerType="nntp">
<!-- don't show nntp servers in the file and copies menus -->
</rule>
<rule nc:CanFileMessages="false" iscontainer="true" isempty="false">
<!-- note, there is no "file here" -->
<menupopup>
<menu uri="..." class="folderMenuItem" value="rdf:http://home.netscape.com/NC-rdf#Name"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType">
<menupopup/>
</menu>
</menupopup>
</rule>
<rule nc:CanFileMessages="true">
<menupopup>
<menuitem uri="..." class="folderMenuItem" value="rdf:http://home.netscape.com/NC-rdf#Name" oncommand="MsgMoveMessage(event.target)"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType"/>
</menupopup>
</rule>
</template>
</menu>
<menu id="threadPaneContext-copyMenu"
value="&contextCopyMsgMenu.label;"
datasources="rdf:null"
rdf:ignore="http://home.netscape.com/NC-rdf#MessageChild">
<menupopup/>
<template>
<rule nc:CanFileMessages="true" iscontainer="true" isempty="false">
<menupopup>
<menu uri="..." class="folderMenuItem" value="rdf:http://home.netscape.com/NC-rdf#Name"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType">
<menupopup>
<menuitem uri="..." value="&fileHereMenu.label;"
oncommand="MsgCopyMessage(event.target)"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType"/>
<menuseparator/>
</menupopup>
</menu>
</menupopup>
</rule>
<rule nc:CanFileMessages="false" nc:ServerType="nntp">
<!-- don't show nntp servers in the file and copies menus -->
</rule>
<rule nc:CanFileMessages="false" iscontainer="true" isempty="false">
<!-- note, there is no "file here" -->
<menupopup>
<menu uri="..." class="folderMenuItem" value="rdf:http://home.netscape.com/NC-rdf#Name"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType">
<menupopup/>
</menu>
</menupopup>
</rule>
<rule nc:CanFileMessages="true">
<menupopup>
<menuitem uri="..." class="folderMenuItem" value="rdf:http://home.netscape.com/NC-rdf#Name"
oncommand="MsgCopyMessage(event.target)"
SpecialFolder="rdf:http://home.netscape.com/NC-rdf#SpecialFolder"
BiffState="rdf:http://home.netscape.com/NC-rdf#BiffState"
IsServer="rdf:http://home.netscape.com/NC-rdf#IsServer"
ServerType="rdf:http://home.netscape.com/NC-rdf#ServerType"/>
</menupopup>
</rule>
</template>
</menu>
<menuitem id="threadPaneContext-saveAs"
value="&contextSaveAs.label;"
accesskey=""
oncommand="MsgSaveAsFile();"/>
<menuitem id="threadPaneContext-print"
value="&contextPrint.label;"
accesskey=""
oncommand="PrintEnginePrint();"/>
<menuitem id="threadPaneContext-delete"
value="&contextDelete.label;"
accesskey=""
oncommand="MsgDeleteMessage(false, false);"/>
<menuseparator id="threadPaneContext-sep-edit"/>
<menuitem id="threadPaneContext-addSenderToAddressBook"
value="&contextAddSenderToAddressBook.label;"
accesskey=""
oncommand="MsgAddSenderToAddressBook();"/>
<menuitem id="threadPaneContext-addAllToAddressBook"
value="&contextAddAllToAddressBook.label;"
accesskey=""
oncommand="MsgAddAllToAddressBook();"/>
</popup>
<popup id="folderPaneContext" oncreate="return fillFolderPaneContextMenu();" >
<menuitem id="folderPaneContext-getMessages"
value="&folderContextGetMessages.label;"
accesskey=""
oncommand="MsgGetMessage();"/>
<menuitem id="folderPaneContext-openNewWindow"
value="&folderContextOpenNewWindow.label;"
accesskey=""
oncommand="MsgOpenNewWindowForFolder(null);"/>
<menuitem id="folderPaneContext-rename"
value="&folderContextRename.label;"
accesskey=""
oncommand="MsgRenameFolder();"/>
<menuitem id="folderPaneContext-remove"
value="&folderContextRemove.label;"
accesskey=""
oncommand="MsgDeleteFolder();"/>
<menuitem id="folderPaneContext-emptyTrash"
value="&folderContextEmptyTrash.label;"
accesskey=""
oncommand="MsgEmptyTrash();"/>
<menuitem id="folderPaneContext-sendUnsentMessages"
value="&folderContextSendUnsentMessages.label;"
accesskey=""
oncommand="MsgSendUnsentMsg();"/>
<menuitem id="folderPaneContext-unsubscribe"
value="&folderContextUnsubscribe.label;"
accesskey=""
oncommand="MsgUnsubscribe();"/>
<menuitem id="folderPaneContext-markFolderRead"
value="&folderContextMarkNewsgroupRead.label;"
accesskey=""
oncommand="MsgMarkFolderRead();"/>
<menuseparator id="folderPaneContext-sep-edit"/>
<menuitem id="folderPaneContext-new"
value="&folderContextNew.label;"
accesskey=""
oncommand="MsgNewFolder();"/>
<menuitem id="folderPaneContext-subscribe"
value="&folderContextSubscribe.label;"
accesskey=""
oncommand="MsgSubscribe();"/>
<menuseparator id="folderPaneContext-sep-new"/>
<menuitem id="folderPaneContext-searchMessages"
value="&folderContextSearchMessages.label;"
accesskey=""
oncommand="MsgSearchMessages();"/>
<menuseparator id="folderPaneContext-sep-search"/>
<menuitem id="folderPaneContext-properties"
value="&folderContextProperties.label;"
accesskey=""
oncommand="MsgFolderProperties();"/>
</popup>
<popup id="emailAddressPopup" oncreate="return fillEmailAddressMenu(document.popupNode);" popupanchor="bottomleft">
<menuitem value="&AddToAddressBook.label;"
oncommand="AddNodeToAddressBook(document.popupNode)"/>
<menuitem value="&SendMailTo.label;"
oncommand="SendMailToNode(document.popupNode)"/>
</popup>
</popupset>
<menubar id="mailMenubar"/>
<toolbox id="mailToolbarToolbox"/>
<!-- The main mail three pane frame -->
<box align="horizontal" style="height:100px" flex="1">
<box id="sidebar-box">
<splitter class="sidebar-main-header" collapse="after" persist="state">
<text class="panel-bar" value="&mail-sidebar-header.label;"/>
</splitter>
<tree id="folderTree" style="width:100px; height: 600px;" flex="1" context="folderPaneContext"/>
</box>
<splitter id="sidebar-splitter"/>
<box align="vertical" flex="1">
<tree id="threadTree" flex="2" style="height:0px" context="threadPaneContext"/>
<!-- if you change this id, please change GetThreadAndMessagePaneSplitter() and MsgToggleMessagePnae() -->
<splitter id="gray_horizontal_splitter" collapse="after" persist="state"
onclick="OnClickThreadAndMessagePaneSplitter()"/>
<!-- msg header view -->
<box id="messagepanebox" align="vertical" flex="3" persist="collapsed">
<toolbox id="msgHeaderView"/>
<!-- message view -->
<html:iframe id="messagepane" style="height: 0px" flex="1" name="messagepane" type="content" src="about:blank"/>
</box>
<box id="status-bar">
<box align="vertical" style="width:100px">
<spring flex="100%"/>
<progressmeter id="statusbar-icon" mode="normal" value="0" onclick="dumpProgress()">
<observes element="Messenger:LoadingProgress" attribute="mode"/>
<observes element="Messenger:LoadingProgress" attribute="value"/>
<observes element="Messenger:Throbber" attribute="busy"/>
</progressmeter>
<spring flex="100%"/>
</box>
<text id="statusText" class="status-bar" align="left" flex="100%" value="&statusText.label;"/>
<text value="&unreadCountText.label;"/>
<text id="unreadMessageCount" style="min-width: 5px"/>
<text value="&totalCountText.label;"/>
<text id="totalMessageCount" style="min-width: 5px"/>
</box>
</box>
</box>
<toolbar id="taskbar"/>
</window>