pjs/mail/base/content/messenger.xul

389 строки
20 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/mailWindow1.css" type="text/css"?>
<?xul-overlay href="chrome://global/content/globalOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/utilityOverlay.xul"?>
<?xul-overlay href="chrome://messenger/content/msgHdrViewOverlay.xul"?>
<?xul-overlay href="chrome://messenger/content/mailWindowOverlay.xul"?>
<?xul-overlay href="chrome://messenger/content/mailOverlay.xul"?>
<?xul-overlay href="chrome://communicator/content/contentAreaContextOverlay.xul"?>
<!DOCTYPE window [
<!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" >
%brandDTD;
<!ENTITY % messengerDTD SYSTEM "chrome://messenger/locale/messenger.dtd" >
%messengerDTD;
]>
<window id="messengerWindow"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:nc="http://home.netscape.com/NC-rdf#"
title="&messengerWindow.title;"
titledefault="&titledefault.label;"
titlemenuseparator="&titleSeparator.label;"
onload="OnLoadMessenger()"
onunload="OnUnloadMessenger()"
screenX="10" screenY="10"
persist="width height screenX screenY sizemode"
windowtype="mail:3pane">
<stringbundleset id="stringbundleset">
<stringbundle id="bundle_messenger" src="chrome://messenger/locale/messenger.properties"/>
<stringbundle id="bundle_brand" src="chrome://global/locale/brand.properties"/>
<stringbundle id="bundle_search" src="chrome://messenger/locale/search.properties"/>
</stringbundleset>
<script type="application/x-javascript" src="chrome://messenger/content/widgetglue.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/commandglue.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/shareglue.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/msgViewNavigation.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/mailWindow.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/msgMail3PaneWindow.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/mail3PaneWindowCommands.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/mailContextMenus.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/messengerdnd.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/accountUtils.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/msgAccountCentral.js"/>
<script type="application/x-javascript" src="chrome://messenger/content/searchBar.js"/>
<script type="application/x-javascript" src="chrome://communicator/content/contentAreaClick.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsTransferable.js"/>
<script type="application/x-javascript" src="chrome://global/content/nsDragAndDrop.js"/>
<!-- move needed functions into a single js file -->
<script type="application/x-javascript" src="chrome://messenger/content/threadPane.js"/>
<commandset id="mailCommands">
<commandset id="mailFileMenuItems"/>
<commandset id="mailViewMenuItems"/>
<commandset id="mailEditMenuItems"/>
<commandset id="mailEditContextMenuItems"/>
<commandset id="mailSearchMenuItems"/>
<commandset id="mailGoMenuItems"/>
<commandset id="mailMessageMenuItems"/>
<commandset id="mailToolbarItems"/>
<commandset id="mailGetMsgMenuItems"/>
<commandset id="mailMarkMenuItems"/>
<commandset id="mailLabelMenuItems"/>
<commandset id="mailToolsMenuItems"/>
<commandset id="globalEditMenuItems"/>
<commandset id="selectEditMenuItems"/>
<commandset id="clipboardEditMenuItems"/>
<commandset id="FocusRingUpdate_Mail"
commandupdater="true"
events="focus"
oncommandupdate="FocusRingUpdate_Mail()"/>
<commandset id="tasksCommands"/>
#ifdef XP_MACOSX
<commandset id="macWindowMenuItems"/>
#endif
</commandset>
<broadcasterset id="mailBroadcasters">
<!-- File Menu -->
<broadcaster id="Communicator:WorkMode"/>
<!-- Edit Menu -->
</broadcasterset>
<keyset id="mailKeys">
<keyset id="tasksKeys"/>
</keyset>
<popup id="threadPaneContext"/>
<popup id="folderPaneContext"/>
<popup id="attachmentListContext"/>
<popup id="copyUrlPopup"/>
<popup id="toolbar-context-menu"/>
<tooltip id="attachmentListTooltip"/>
<popup id="emailAddressPopup" popupanchor="bottomleft" onpopupshowing="fillEmailAddressPopup(document.popupNode); goUpdateCommand('cmd_createFilterFromPopup')">
<menuitem id="emailAddressPlaceHolder" label=""
disabled="true"/>
<menuseparator/>
<menuitem label="&AddToAddressBook.label;"
accesskey="&AddToAddressBook.accesskey;"
oncommand="AddNodeToAddressBook(document.popupNode)"/>
<menuitem label="&SendMailTo.label;"
accesskey="&SendMailTo.accesskey;"
oncommand="SendMailToNode(document.popupNode)"/>
<menuitem label="&CopyEmailAddress.label;"
accesskey="&CopyEmailAddress.accesskey;"
oncommand="CopyEmailAddress(document.popupNode)"/>
<menuseparator/>
<menuitem label="&CreateFilter.label;"
accesskey="&CreateFilter.accesskey;"
oncommand="CreateFilter(document.popupNode)"
observes="cmd_createFilterFromPopup"/>
</popup>
<popup id="allHeadersPopup" onpopupshowing="return fillAllHeadersPopup(document.popupNode);" popupanchor="bottomleft">
<hbox id="allHeadersPopupContainer">
</hbox>
</popup>
<popup id="messagePaneContext"/>
<toolbox id="mail-toolbox" class="toolbox-top">
</toolbox>
<!-- when we move to the alternate 3-pane, mailContentWrapper gets toggled to a vertical orientation -->
<box id="mailContentWrapper" orient="horizontal" flex="1">
<hbox id="mailContent" flex="1">
<vbox id="folderPaneBox" minwidth="100" width="200" persist="collapsed width">
<label id="folderColumnLabel" hidden="true" value="&folderColumn.label;"/>
<hbox id="folderPaneHeaderContainer">
<sidebarheader id="folderPaneHeader" align="center" flex="1">
<label id="folderpane-title" value="&folderPaneHeader.label;"/>
</sidebarheader>
</hbox>
<tree id="folderTree" class="plain focusring" flex="1" seltype="single" selstyle="primary"
context="folderPaneContext"
disableKeyNavigation="true"
datasources="rdf:null"
statedatasource="rdf:mailnewsfolders"
flags="dont-build-content"
ondraggesture="BeginDragFolderTree(event);"
onselect="FolderPaneSelectionChange();">
<template>
<rule>
<conditions>
<content uri="?container"/>
<member container="?container" child="?member" />
<triple subject="?member" predicate="http://home.netscape.com/NC-rdf#IsDeferred" object="false"/>
</conditions>
<bindings>
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#FolderTreeName"
object="?folderTreeName" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#FolderTreeName?sort=true"
object="?folderTreeNameSort" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#FolderTreeSimpleName"
object="?folderTreeSimpleName" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#SpecialFolder"
object="?specialFolder" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#BiffState"
object="?biffState" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#IsServer"
object="?isServer" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#NewMessages"
object="?newMessages" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#HasUnreadMessages"
object="?hasUnreadMessages" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#SubfoldersHaveUnreadMessages"
object="?subfoldersHaveUnreadMessages" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#IsSecure"
object="?isSecure" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#ServerType"
object="?serverType" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#RedirectorType"
object="?redirectorType" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#NoSelect"
object="?noSelect" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#ImapShared"
object="?imapShared" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#TotalUnreadMessages"
object="?unreadCount" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#TotalMessages"
object="?totalCount" />
<binding subject="?member"
predicate="http://home.netscape.com/NC-rdf#FolderSize"
object="?folderSize" />
</bindings>
<action>
<treechildren>
<treeitem uri="?member">
<treerow>
<treecell id="folderNameCell"
label="?folderTreeName"
properties="specialFolder-?specialFolder biffState-?biffState isServer-?isServer newMessages-?newMessages hasUnreadMessages-?hasUnreadMessages subfoldersHaveUnreadMessages-?subfoldersHaveUnreadMessages isSecure-?isSecure serverType-?serverType redirectorType-?redirectorType noSelect-?noSelect imapShared-?imapShared"/>
<treecell label="?unreadCount"
properties="hasUnreadMessages-?hasUnreadMessages subfoldersHaveUnreadMessages-?subfoldersHaveUnreadMessages"/>
<treecell label="?totalCount"
properties="hasUnreadMessages-?hasUnreadMessages subfoldersHaveUnreadMessages-?subfoldersHaveUnreadMessages"/>
<treecell label="?folderSize"/>
</treerow>
</treeitem>
</treechildren>
</action>
</rule>
</template>
<treecols>
<treecol id="folderNameCol"
flex="5"
crop="center"
persist="width"
hideheader="true"
ignoreincolumnpicker="true"
primary="true"
sort="?folderTreeNameSort"
sortActive="true"
sortDirection="ascending"/>
<splitter class="tree-splitter"/>
<treecol id="folderUnreadCol"
persist="hidden width"
flex="1"
label="&unreadColumn.label;"/>
<splitter class="tree-splitter"/>
<treecol id="folderTotalCol"
persist="hidden width"
flex="1"
label="&totalColumn.label;"/>
<splitter class="tree-splitter"/>
<treecol id="folderSizeCol"
persist="hidden width"
flex="1"
label="&folderSizeColumn.label;"/>
</treecols>
</tree>
</vbox>
<splitter id="folderpane_splitter" collapse="before" persist="state"/>
<vbox flex="1">
<hbox id="searchBox"/>
<box orient="vertical" id="messagesBox" flex="1">
<hbox id="messengerBox" flex="1" minheight="100" height="100" persist="height">
<vbox id="threadPaneBox" flex="1">
<tree id="threadTree" persist="lastfoldersent" flex="2" enableColumnDrag="true" _selectDelay="500" class="plain focusring" lastfoldersent="false"
disableKeyNavigation="true"
context="threadPaneContext"
onkeypress="ThreadPaneKeyPress(event);"
onselect="ThreadPaneSelectionChanged();">
<treecols pickertooltiptext="&columnChooser.tooltip;">
<treecol id="threadCol" persist="hidden ordinal" fixed="true" cycler="true"
class="treecol-image threadColumnHeader" currentView="unthreaded"
display="&threadColumn.label;" tooltiptext="&threadColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="attachmentCol" persist="hidden ordinal" fixed="true"
class="treecol-image attachmentColumnHeader"
display="&attachmentColumn.label;" tooltiptext="&attachmentColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="subjectCol" persist="hidden ordinal width" flex="7" ignoreincolumnpicker="true"
label="&subjectColumn.label;" tooltiptext="&subjectColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="unreadButtonColHeader" persist="hidden ordinal" fixed="true" cycler="true"
class="treecol-image readColumnHeader"
display="&readColumn.label;" tooltiptext="&readColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="senderCol" persist="hidden swappedhidden ordinal width" flex="4"
hidden="false" swappedhidden="true"
label="&senderColumn.label;" tooltiptext="&senderColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="recipientCol" persist="hidden swappedhidden ordinal width" flex="4"
hidden="true" swappedhidden="false"
label="&recipientColumn.label;" tooltiptext="&recipientColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="junkStatusCol" persist="hidden ordinal width" fixed="true" cycler="true"
class="treecol-image junkStatusHeader"
display="&junkStatusColumn.label;" tooltiptext="&junkStatusColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="dateCol" persist="hidden ordinal width" flex="2"
label="&dateColumn.label;" tooltiptext="&dateColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="statusCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&statusColumn.label;" tooltiptext="&statusColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="sizeCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&sizeColumn.label;" tooltiptext="&sizeColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="flaggedCol" persist="hidden ordinal" fixed="true" cycler="true" hidden="true"
class="treecol-image flagColumnHeader"
display="&flagColumn.label;" tooltiptext="&flagColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="labelCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&labelColumn.label;" tooltiptext="&labelColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="accountCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&accountColumn.label;" tooltiptext="&accountColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="priorityCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&priorityColumn.label;" tooltiptext="&priorityColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="unreadCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&unreadColumn.label;" tooltiptext="&unreadColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="totalCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&totalColumn.label;" tooltiptext="&totalColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="locationCol" persist="width" flex="1" hidden="true" ignoreincolumnpicker="true"
label="&locationColumn.label;" tooltiptext="&locationColumn.tooltip;"/>
<splitter class="tree-splitter"/>
<treecol id="idCol" persist="hidden ordinal width" flex="1" hidden="true"
label="&idColumn.label;" tooltiptext="&idColumn.tooltip;"/>
</treecols>
<treechildren ondraggesture="BeginDragThreadPane(event);"/>
</tree>
<vbox id="accountCentralBox" flex="1" collapsed="true">
<iframe name="accountCentralPane" width="150" flex="1" src="about:blank"/>
</vbox>
</vbox>
</hbox>
<!-- if you change this id, please change GetThreadAndMessagePaneSplitter() and MsgToggleMessagePane() -->
<splitter id="threadpane-splitter" collapse="after" persist="state"
onmouseup="OnMouseUpThreadAndMessagePaneSplitter()"/>
<vbox id="messagepanebox" flex="1" minheight="100" height="200" minwidth="100" width="200" persist="collapsed height width">
<hbox id="junkBar"/>
<hbox id="remoteContentBar"/>
<hbox id="msgHeaderView"/>
<browser id="messagepane" context="messagePaneContext" autofind="false"
minheight="1" flex="1" name="messagepane"
disablehistory="true" type="content-primary" src="about:blank"
disablesecurity="true" onclick="contentAreaClick(event);"/>
<hbox id="attachmentView"/>
</vbox>
</box>
</vbox>
</hbox>
</box> <!-- end of mailContentWrapper -->
<statusbar id="status-bar" class="chromeclass-status">
<statusbarpanel id="unreadMessageCount"/>
<statusbarpanel id="totalMessageCount"/>
<statusbarpanel id="statusbar-updates"/>
</statusbar>
</window>