зеркало из https://github.com/mozilla/pjs.git
389 строки
20 KiB
XML
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>
|