зеркало из https://github.com/mozilla/gecko-dev.git
Fixes for 48246, 48985, and 20129. Fixed up enabling and disabling of 3pane menu items.
Added accelerators. Added busy cursor around sorting, threading and folder loading. r=bienvenu
This commit is contained in:
Родитель
fcfdcb37ec
Коммит
d63000ffb0
|
@ -64,7 +64,6 @@ Rights Reserved.
|
|||
<!-- File Menu -->
|
||||
<broadcaster id="cmd_newNavigator"/>
|
||||
<broadcaster id="cmd_newEditor"/>
|
||||
<broadcaster id="cmd_newMessage"/>
|
||||
<broadcaster id="cmd_PrintCard" oncommand="AbPrintCard()"/>
|
||||
<broadcaster id="cmd_close" oncommand="AbClose()"/>
|
||||
<broadcaster id="cmd_quit"/>
|
||||
|
@ -88,7 +87,6 @@ Rights Reserved.
|
|||
<keyset id="keyset">
|
||||
<!-- File Menu -->
|
||||
<key id="key_newNavigator"/>
|
||||
<key id="key_newMessage"/>
|
||||
<key id="key_PrintCard" xulkey="true" key="&printCardViewCmd.key;" observes="cmd_PrintCard" />
|
||||
<key id="key_close"/>
|
||||
<key id="key_quit"/>
|
||||
|
@ -117,8 +115,6 @@ Rights Reserved.
|
|||
<menuitem value="&newDirectoryCmd.label;" accesskey="&newDirectoryCmd.accesskey;" disabled="true" oncommand="AbNewDirectoryt()"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="menu_newNavigator"/>
|
||||
<menuitem id="menu_newMessage"/>
|
||||
<menuitem id="cmd_newCard"/>
|
||||
<menuitem id="menu_newEditor"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
|
|
|
@ -177,6 +177,7 @@ function ChangeFolderByURI(uri, isThreaded, sortID, sortDirection)
|
|||
{
|
||||
try
|
||||
{
|
||||
SetBusyCursor(window, true);
|
||||
gCurrentFolderToReroot = uri;
|
||||
gCurrentLoadingFolderIsThreaded = isThreaded;
|
||||
gCurrentLoadingFolderSortID = sortID;
|
||||
|
@ -191,6 +192,7 @@ function ChangeFolderByURI(uri, isThreaded, sortID, sortDirection)
|
|||
}
|
||||
else
|
||||
{
|
||||
SetBusyCursor(window, true);
|
||||
gCurrentFolderToReroot = "";
|
||||
gCurrentLoadingFolderIsThreaded = false;
|
||||
gCurrentLoadingFolderSortID = "";
|
||||
|
@ -240,9 +242,9 @@ function RerootFolder(uri, newFolder, isThreaded, sortID, sortDirection)
|
|||
var column = FindThreadPaneColumnBySortResource(sortID);
|
||||
|
||||
if(column)
|
||||
SortThreadPane(column, sortID, "http://home.netscape.com/NC-rdf#Date", false, sortDirection);
|
||||
SortThreadPane(column, sortID, "http://home.netscape.com/NC-rdf#Date", false, sortDirection, false);
|
||||
else
|
||||
SortThreadPane("DateColumn", "http://home.netscape.com/NC-rdf#Date", "", false, null);
|
||||
SortThreadPane("DateColumn", "http://home.netscape.com/NC-rdf#Date", "", false, null, false);
|
||||
|
||||
SetSentFolderColumns(IsSpecialFolder(newFolder, "Sent"));
|
||||
|
||||
|
@ -256,6 +258,7 @@ function RerootFolder(uri, newFolder, isThreaded, sortID, sortDirection)
|
|||
msgNavigationService.EnsureDocumentIsLoaded(document);
|
||||
|
||||
UpdateStatusMessageCounts(newFolder);
|
||||
|
||||
}
|
||||
|
||||
function SetSentFolderColumns(isSentFolder)
|
||||
|
@ -352,9 +355,13 @@ function RestoreThreadPaneSelection(selectionArray)
|
|||
messageElement = document.getElementById(selectionArray[i]);
|
||||
|
||||
}
|
||||
tree.addItemToSelection(messageElement);
|
||||
if(messageElement && (i==0))
|
||||
tree.ensureElementIsVisible(messageElement);
|
||||
if(messageElement)
|
||||
{
|
||||
dump("We have a messageElement\n");
|
||||
tree.addItemToSelection(messageElement);
|
||||
if(i==0)
|
||||
tree.ensureElementIsVisible(messageElement);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -394,9 +401,9 @@ function FindThreadPaneColumnBySortResource(sortID)
|
|||
|
||||
//If toggleCurrentDirection is true, then get current direction and flip to opposite.
|
||||
//If it's not true then use the direction passed in.
|
||||
function SortThreadPane(column, sortKey, secondarySortKey, toggleCurrentDirection, direction)
|
||||
function SortThreadPane(column, sortKey, secondarySortKey, toggleCurrentDirection, direction, changeCursor)
|
||||
{
|
||||
dump("In SortThreadPane\n");
|
||||
//dump("In SortThreadPane\n");
|
||||
var node = document.getElementById(column);
|
||||
if(!node)
|
||||
return false;
|
||||
|
@ -430,7 +437,11 @@ function SortThreadPane(column, sortKey, secondarySortKey, toggleCurrentDirectio
|
|||
var selection = SaveThreadPaneSelection();
|
||||
var beforeSortTime = new Date();
|
||||
|
||||
if(changeCursor)
|
||||
SetBusyCursor(window, true);
|
||||
var result = SortColumn(node, sortKey, secondarySortKey, direction);
|
||||
if(changeCursor)
|
||||
SetBusyCursor(window, false);
|
||||
var afterSortTime = new Date();
|
||||
var timeToSort = (afterSortTime.getTime() - beforeSortTime.getTime())/1000;
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
<tree datasources="rdf:null"
|
||||
id="folderTree" class="mail-folders"
|
||||
onselect="top.FolderPaneSelectionChange(); document.commandDispatcher.updateCommands('tree-select');"
|
||||
onselect="top.FolderPaneSelectionChange(); document.commandDispatcher.updateCommands('folderTree-select');"
|
||||
onblur="goOnEvent(this,'blur')" dd-nodropbetweenrows="true"
|
||||
ondragover="return DragOverTree(event);"
|
||||
ondraggesture="return BeginDragFolderTree(event);"
|
||||
|
|
|
@ -59,13 +59,18 @@ var FolderPaneController =
|
|||
folderTree.selectedItems.length > 0)
|
||||
{
|
||||
var specialFolder = null;
|
||||
var isServer = null;
|
||||
var serverType = null;
|
||||
try {
|
||||
specialFolder = folderTree.selectedItems[0].getAttribute('SpecialFolder');
|
||||
var selectedFolder = folderTree.selectedItems[0];
|
||||
specialFolder = selectedFolder.getAttribute('SpecialFolder');
|
||||
isServer = selectedFolder.getAttribute('IsServer');
|
||||
serverType = selectedFolder.getAttribute('ServerType');
|
||||
}
|
||||
catch (ex) {
|
||||
//dump("specialFolder failure: " + ex + "\n");
|
||||
}
|
||||
if (specialFolder == "Inbox" || specialFolder == "Trash")
|
||||
if (specialFolder == "Inbox" || specialFolder == "Trash" || isServer == "true")
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
|
@ -175,10 +180,15 @@ var DefaultController =
|
|||
{
|
||||
case "cmd_reply":
|
||||
case "button_reply":
|
||||
case "cmd_replySender":
|
||||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
case "cmd_forwardAttachment":
|
||||
case "cmd_editAsNew":
|
||||
case "cmd_delete":
|
||||
case "button_delete":
|
||||
case "cmd_shiftDelete":
|
||||
|
@ -189,16 +199,6 @@ var DefaultController =
|
|||
case "cmd_previousMsg":
|
||||
case "cmd_previousUnreadMsg":
|
||||
case "cmd_previousFlaggedMsg":
|
||||
case "cmd_sortBySubject":
|
||||
case "cmd_sortByDate":
|
||||
case "cmd_sortByFlag":
|
||||
case "cmd_sortByPriority":
|
||||
case "cmd_sortBySender":
|
||||
case "cmd_sortBySize":
|
||||
case "cmd_sortByStatus":
|
||||
case "cmd_sortByRead":
|
||||
case "cmd_sortByOrderReceived":
|
||||
case "cmd_sortByThread":
|
||||
case "cmd_viewAllMsgs":
|
||||
case "cmd_viewUnreadMsgs":
|
||||
case "cmd_undo":
|
||||
|
@ -212,6 +212,17 @@ var DefaultController =
|
|||
case "cmd_saveAsTemplate":
|
||||
case "cmd_viewPageSource":
|
||||
case "cmd_reload":
|
||||
case "cmd_getNewMessages":
|
||||
case "cmd_find":
|
||||
case "cmd_findAgain":
|
||||
case "cmd_markAsRead":
|
||||
case "cmd_markAllRead":
|
||||
case "cmd_markThreadAsRead":
|
||||
case "cmd_markAsFlagged":
|
||||
case "cmd_file":
|
||||
case "cmd_emptyTrash":
|
||||
case "cmd_compactFolder":
|
||||
case "cmd_sortByThread":
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@ -224,10 +235,15 @@ var DefaultController =
|
|||
{
|
||||
case "cmd_reply":
|
||||
case "button_reply":
|
||||
case "cmd_replySender":
|
||||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
case "cmd_forwardAttachment":
|
||||
case "cmd_editAsNew":
|
||||
case "cmd_delete":
|
||||
case "button_delete":
|
||||
case "cmd_shiftDelete":
|
||||
|
@ -237,10 +253,11 @@ var DefaultController =
|
|||
case "cmd_saveAsTemplate":
|
||||
case "cmd_viewPageSource":
|
||||
case "cmd_reload":
|
||||
var threadTree = GetThreadTree();
|
||||
var numSelected = 0;
|
||||
if ( threadTree && threadTree.selectedItems )
|
||||
numSelected = threadTree.selectedItems.length;
|
||||
case "cmd_markThreadAsRead":
|
||||
case "cmd_markAsFlagged":
|
||||
case "cmd_file":
|
||||
var numSelected = GetNumSelectedMessages();
|
||||
|
||||
if ( command == "cmd_delete")
|
||||
{
|
||||
if ( numSelected < 2 )
|
||||
|
@ -254,20 +271,17 @@ var DefaultController =
|
|||
case "cmd_nextUnreadThread":
|
||||
case "cmd_previousMsg":
|
||||
case "cmd_previousUnreadMsg":
|
||||
//Input and TextAreas should get access to the keys that cause these commands.
|
||||
//Currently if we don't do this then we will steal the key away and you can't type them
|
||||
//in these controls. This is a bug that should be fixed and when it is we can get rid of
|
||||
//this.
|
||||
var focusedElement = top.document.commandDispatcher.focusedElement;
|
||||
if(focusedElement)
|
||||
{
|
||||
var name = focusedElement.localName;
|
||||
return ((name != "INPUT") && (name != "TEXTAREA"));
|
||||
}
|
||||
return MailAreaHasFocus() && IsViewNavigationItemEnabled();
|
||||
case "cmd_markAsRead":
|
||||
if(!MailAreaHasFocus())
|
||||
return false;
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return(GetNumSelectedMessages() > 0);
|
||||
case "cmd_markAllRead":
|
||||
return(MailAreaHasFocus() && IsFolderSelected());
|
||||
case "cmd_find":
|
||||
case "cmd_findAgain":
|
||||
return IsFindEnabled();
|
||||
break;
|
||||
case "cmd_expandAllThreads":
|
||||
case "cmd_collapseAllThreads":
|
||||
|
@ -275,15 +289,7 @@ var DefaultController =
|
|||
break;
|
||||
case "cmd_nextFlaggedMsg":
|
||||
case "cmd_previousFlaggedMsg":
|
||||
case "cmd_sortBySubject":
|
||||
case "cmd_sortByDate":
|
||||
case "cmd_sortByFlag":
|
||||
case "cmd_sortByPriority":
|
||||
case "cmd_sortBySender":
|
||||
case "cmd_sortBySize":
|
||||
case "cmd_sortByStatus":
|
||||
case "cmd_sortByRead":
|
||||
case "cmd_sortByOrderReceived":
|
||||
return IsViewNavigationItemEnabled();
|
||||
case "cmd_viewAllMsgs":
|
||||
return true;
|
||||
case "cmd_sortByThread":
|
||||
|
@ -297,6 +303,12 @@ var DefaultController =
|
|||
return SetupUndoRedoCommand(command);
|
||||
case "cmd_renameFolder":
|
||||
return IsRenameFolderEnabled();
|
||||
case "cmd_getNewMessages":
|
||||
return IsGetNewMessagesEnabled();
|
||||
case "cmd_emptyTrash":
|
||||
return IsEmptyTrashEnabled();
|
||||
case "cmd_compactFolder":
|
||||
return IsCompactFolderEnabled();
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -308,15 +320,33 @@ var DefaultController =
|
|||
|
||||
switch ( command )
|
||||
{
|
||||
case "cmd_getNewMessages":
|
||||
MsgGetMessage();
|
||||
break;
|
||||
case "cmd_reply":
|
||||
MsgReplyMessage(null);
|
||||
break;
|
||||
case "cmd_replySender":
|
||||
MsgReplySender(null);
|
||||
break;
|
||||
case "cmd_replyGroup":
|
||||
MsgReplyGroup(null);
|
||||
break;
|
||||
case "cmd_replyall":
|
||||
MsgReplyToAllMessage(null);
|
||||
break;
|
||||
case "cmd_forward":
|
||||
MsgForwardMessage(null);
|
||||
break;
|
||||
case "cmd_forwardInline":
|
||||
MsgForwardAsInline(null);
|
||||
break;
|
||||
case "cmd_forwardAttachment":
|
||||
MsgForwardAsAttachment(null);
|
||||
break;
|
||||
case "cmd_editAsNew":
|
||||
MsgEditMessageAsNew();
|
||||
break;
|
||||
case "cmd_delete":
|
||||
MsgDeleteMessage(false, false);
|
||||
break;
|
||||
|
@ -347,33 +377,6 @@ var DefaultController =
|
|||
case "cmd_previousFlaggedMsg":
|
||||
MsgPreviousFlaggedMessage();
|
||||
break;
|
||||
case "cmd_sortBySubject":
|
||||
MsgSortBySubject();
|
||||
break;
|
||||
case "cmd_sortByDate":
|
||||
MsgSortByDate();
|
||||
break;
|
||||
case "cmd_sortByFlag":
|
||||
MsgSortByFlagged();
|
||||
break;
|
||||
case "cmd_sortByPriority":
|
||||
MsgSortByPriority();
|
||||
break;
|
||||
case "cmd_sortBySender":
|
||||
MsgSortBySender();
|
||||
break;
|
||||
case "cmd_sortBySize":
|
||||
MsgSortBySize();
|
||||
break;
|
||||
case "cmd_sortByStatus":
|
||||
MsgSortByStatus();
|
||||
break;
|
||||
case "cmd_sortByRead":
|
||||
MsgSortByRead();
|
||||
break;
|
||||
case "cmd_sortByOrderReceived":
|
||||
MsgSortByOrderReceived();
|
||||
break;
|
||||
case "cmd_sortByThread":
|
||||
MsgSortByThread();
|
||||
break;
|
||||
|
@ -416,6 +419,30 @@ var DefaultController =
|
|||
case "cmd_reload":
|
||||
MsgReload();
|
||||
return;
|
||||
case "cmd_find":
|
||||
MsgFind();
|
||||
return;
|
||||
case "cmd_findAgain":
|
||||
MsgFindAgain();
|
||||
return;
|
||||
case "cmd_markAsRead":
|
||||
MsgMarkMsgAsRead(null);
|
||||
return;
|
||||
case "cmd_markThreadAsRead":
|
||||
MsgMarkThreadAsRead();
|
||||
return;
|
||||
case "cmd_markAllRead":
|
||||
MsgMarkAllRead();
|
||||
return;
|
||||
case "cmd_markAsFlagged":
|
||||
MsgMarkAsFlagged(null);
|
||||
return;
|
||||
case "cmd_emptyTrash":
|
||||
MsgEmptyTrash();
|
||||
return;
|
||||
case "cmd_compactFolder":
|
||||
MsgCompactFolder();
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -431,6 +458,29 @@ var DefaultController =
|
|||
}
|
||||
};
|
||||
|
||||
function MailAreaHasFocus()
|
||||
{
|
||||
//Input and TextAreas should get access to the keys that cause these commands.
|
||||
//Currently if we don't do this then we will steal the key away and you can't type them
|
||||
//in these controls. This is a bug that should be fixed and when it is we can get rid of
|
||||
//this.
|
||||
var focusedElement = top.document.commandDispatcher.focusedElement;
|
||||
if(focusedElement)
|
||||
{
|
||||
var name = focusedElement.localName;
|
||||
return ((name != "INPUT") && (name != "TEXTAREA"));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function GetNumSelectedMessages()
|
||||
{
|
||||
var threadTree = GetThreadTree();
|
||||
var numSelected = 0;
|
||||
if ( threadTree && threadTree.selectedItems )
|
||||
numSelected = threadTree.selectedItems.length;
|
||||
return numSelected;
|
||||
}
|
||||
|
||||
function CommandUpdate_Mail()
|
||||
{
|
||||
|
@ -449,11 +499,6 @@ function CommandUpdate_Mail()
|
|||
}*/
|
||||
|
||||
goUpdateCommand('cmd_delete');
|
||||
goUpdateCommand('button_delete');
|
||||
goUpdateCommand('button_reply');
|
||||
goUpdateCommand('button_replyall');
|
||||
goUpdateCommand('button_forward');
|
||||
goUpdateCommand('cmd_shiftDelete');
|
||||
goUpdateCommand('cmd_nextMsg');
|
||||
goUpdateCommand('cmd_nextUnreadMsg');
|
||||
goUpdateCommand('cmd_nextUnreadThread');
|
||||
|
@ -461,27 +506,45 @@ function CommandUpdate_Mail()
|
|||
goUpdateCommand('cmd_previousMsg');
|
||||
goUpdateCommand('cmd_previousUnreadMsg');
|
||||
goUpdateCommand('cmd_previousFlaggedMsg');
|
||||
goUpdateCommand('cmd_sortBySubject');
|
||||
goUpdateCommand('cmd_sortByDate');
|
||||
goUpdateCommand('cmd_sortByFlag');
|
||||
goUpdateCommand('cmd_sortByPriority');
|
||||
goUpdateCommand('cmd_sortBySender');
|
||||
goUpdateCommand('cmd_sortBySize');
|
||||
goUpdateCommand('cmd_sortByStatus');
|
||||
goUpdateCommand('cmd_sortByRead');
|
||||
goUpdateCommand('cmd_sortByOrderReceived');
|
||||
goUpdateCommand('cmd_sortByThread');
|
||||
goUpdateCommand('cmd_viewAllMsgs');
|
||||
goUpdateCommand('cmd_viewUnreadMsgs');
|
||||
goUpdateCommand('cmd_expandAllThreads');
|
||||
goUpdateCommand('cmd_collapseAllThreads');
|
||||
goUpdateCommand('cmd_renameFolder');
|
||||
goUpdateCommand('cmd_getNewMessages');
|
||||
goUpdateCommand('cmd_find');
|
||||
goUpdateCommand('cmd_findAgain');
|
||||
goUpdateCommand('cmd_markAllRead');
|
||||
goUpdateCommand('cmd_emptyTrash');
|
||||
goUpdateCommand('cmd_compactFolder');
|
||||
}
|
||||
|
||||
function ThreadTreeUpdate_Mail(command)
|
||||
{
|
||||
goUpdateCommand('button_delete');
|
||||
goUpdateCommand('button_reply');
|
||||
goUpdateCommand('button_replyall');
|
||||
goUpdateCommand('button_forward');
|
||||
goUpdateCommand('cmd_shiftDelete');
|
||||
goUpdateCommand('cmd_reply');
|
||||
goUpdateCommand('cmd_replySender');
|
||||
goUpdateCommand('cmd_replyGroup');
|
||||
goUpdateCommand('cmd_replyall');
|
||||
goUpdateCommand('cmd_forward');
|
||||
goUpdateCommand('cmd_forwardInline');
|
||||
goUpdateCommand('cmd_forwardAttachment');
|
||||
goUpdateCommand('cmd_editAsNew');
|
||||
goUpdateCommand('cmd_openMessage');
|
||||
goUpdateCommand('cmd_print');
|
||||
goUpdateCommand('cmd_saveAsFile');
|
||||
goUpdateCommand('cmd_saveAsTemplate');
|
||||
goUpdateCommand('cmd_viewPageSource');
|
||||
goUpdateCommand('cmd_reload');
|
||||
goUpdateCommand('cmd_markAsRead');
|
||||
goUpdateCommand('cmd_markThreadAsRead');
|
||||
goUpdateCommand('cmd_markAsFlagged');
|
||||
goUpdateCommand('cmd_file');
|
||||
}
|
||||
|
||||
function SetupUndoRedoCommand(command)
|
||||
|
@ -599,6 +662,32 @@ function IsRenameFolderEnabled()
|
|||
return false;
|
||||
|
||||
}
|
||||
|
||||
function IsViewNavigationItemEnabled()
|
||||
{
|
||||
return IsFolderSelected();
|
||||
}
|
||||
|
||||
function IsFolderSelected()
|
||||
{
|
||||
var tree = GetFolderTree();
|
||||
var folderList = tree.selectedItems;
|
||||
|
||||
if(folderList.length == 1)
|
||||
{
|
||||
var folderNode = folderList[0];
|
||||
return(folderNode.getAttribute("IsServer") != "true");
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
function IsFindEnabled()
|
||||
{
|
||||
return (!IsThreadAndMessagePaneSplitterCollapsed() && (gCurrentDisplayedMessage != null));
|
||||
|
||||
}
|
||||
|
||||
function MsgDeleteFolder()
|
||||
{
|
||||
//get the selected elements
|
||||
|
|
|
@ -68,7 +68,10 @@ Rights Reserved.
|
|||
commandupdater="true"
|
||||
events="focus,tree-select"
|
||||
oncommandupdate="CommandUpdate_Mail()"/>
|
||||
|
||||
<commandset id="ThreadTreeUpdate_Mail"
|
||||
commandupdater="true"
|
||||
events="threadTree-select"
|
||||
oncommandupdate="ThreadTreeUpdate_Mail()"/>
|
||||
<commandset id="globalEditMenuItems"/>
|
||||
<commandset id="selectEditMenuItems"/>
|
||||
<commandset id="undoEditMenuItems"/>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<!-- addressbook specific UI items -->
|
||||
<menupopup id="menu_NewPopup">
|
||||
<menuitem id="menu_newMessage" observes="cmd_newMessage" position="6"/>
|
||||
<menuitem id="menu_newMessage" key="key_newMessage" observes="cmd_newMessage" position="6"/>
|
||||
<menuitem id="menu_newCard" observes="cmd_newCard" position="7"/>
|
||||
</menupopup>
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
<!-- editor specific UI items -->
|
||||
<menupopup id="menu_NewPopup">
|
||||
<menuitem id="menu_newMessage" observes="cmd_newMessage" position="2"/>
|
||||
<menuitem id="menu_newMessage" key="key_newMessage" observes="cmd_newMessage" position="2"/>
|
||||
<menuitem id="menu_newCard" observes="cmd_newCard" position="3"/>
|
||||
</menupopup>
|
||||
|
||||
|
@ -39,5 +39,6 @@
|
|||
<menuitem id="menu_sendPage" observes="cmd_sendPage" position="11"/>
|
||||
</menupopup>
|
||||
|
||||
|
||||
</overlay>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<!-- messengercompose specific UI items -->
|
||||
<menupopup id="menu_NewPopup">
|
||||
<menuitem id="menu_newMessage" observes="cmd_newMessage" position="2"/>
|
||||
<menuitem id="menu_newMessage" key="key_newMessage" observes="cmd_newMessage" position="2"/>
|
||||
<menuitem id="menu_newCard" observes="cmd_newCard" position="3"/>
|
||||
</menupopup>
|
||||
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
<!-- retrieve generic commands -->
|
||||
<?xul-overlay href="chrome://messenger/content/mailOverlay.xul"?>
|
||||
|
||||
<overlay id="mailABOverlay"
|
||||
<overlay id="mailMessengerOverlay"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
|
||||
|
||||
<!-- addressbook specific UI items -->
|
||||
<menupopup id="menu_NewPopup">
|
||||
<menuitem id="menu_newMessage" observes="cmd_newMessage" position="5"/>
|
||||
<menuitem id="menu_newMessage" key="key_newMessage" observes="cmd_newMessage" position="5"/>
|
||||
<menuitem id="menu_newCard" observes="cmd_newCard" position="6"/>
|
||||
</menupopup>
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
<!-- navigator specific UI items -->
|
||||
<menupopup id="menu_NewPopup">
|
||||
<menuitem id="menu_newCard" insertafter="menu_newNavigator" observes="cmd_newCard" position="3"/>
|
||||
<menuitem id="menu_newMessage" insertafter="menu_newNavigator" observes="cmd_newMessage" position="2"/>
|
||||
<menuitem id="menu_newMessage" insertafter="menu_newNavigator" key="key_newMessage" observes="cmd_newMessage" position="2"/>
|
||||
</menupopup>
|
||||
|
||||
<menupopup id="menu_FilePopup">
|
||||
|
|
|
@ -44,5 +44,9 @@
|
|||
<keyset id="keyset">
|
||||
<key id="key_newMessage" xulkey="true" shift="false" key="&newMessageCmd.key;" observes="cmd_newMessage"/>
|
||||
</keyset>
|
||||
|
||||
|
||||
<keyset id="defaultKeySet">
|
||||
<key id="key_newMessage" xulkey="true" shift="false" key="&newMessageCmd.key;" observes="cmd_newMessage"/>
|
||||
</keyset>
|
||||
|
||||
</overlay>
|
||||
|
|
|
@ -315,3 +315,23 @@ function StopUrls()
|
|||
{
|
||||
msgWindow.StopUrls();
|
||||
}
|
||||
|
||||
function loadStartPage() {
|
||||
try {
|
||||
startpageenabled= pref.GetBoolPref("mailnews.start_page.enabled");
|
||||
|
||||
if (startpageenabled) {
|
||||
startpage = pref.CopyCharPref("mailnews.start_page.url");
|
||||
if (startpage != "") {
|
||||
window.frames["messagepane"].location = startpage;
|
||||
dump("start message pane with: " + startpage + "\n");
|
||||
ClearMessageSelection();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (ex) {
|
||||
dump("Error loading start page.\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -52,12 +52,11 @@ function InitViewMessagesMenu()
|
|||
|
||||
function InitMessageMenu()
|
||||
{
|
||||
var messages = GetSelectedMessages();
|
||||
var numMessages = messages.length;
|
||||
var aMessage = GetSelectedMessage(0);
|
||||
var isNews = false;
|
||||
if(numMessages > 0)
|
||||
if(aMessage)
|
||||
{
|
||||
isNews = GetMessageType(messages[0]) == "news";
|
||||
isNews = GetMessageType(aMessage) == "news";
|
||||
}
|
||||
|
||||
//We show reply to Newsgroups only for news messages.
|
||||
|
@ -78,6 +77,15 @@ function InitMessageMenu()
|
|||
replySenderMenuItem.setAttribute("hidden", isNews ? "" : "true");
|
||||
}
|
||||
|
||||
//disable the move and copy menus only if there are no messages selected.
|
||||
var moveMenu = document.getElementById("moveMenu");
|
||||
if(moveMenu)
|
||||
moveMenu.setAttribute("disabled", !aMessage);
|
||||
|
||||
var copyMenu = document.getElementById("copyMenu");
|
||||
if(copyMenu)
|
||||
copyMenu.setAttribute("disabled", !aMessage);
|
||||
|
||||
}
|
||||
|
||||
function GetMessageType(message)
|
||||
|
@ -100,60 +108,62 @@ function InitMessageMarkMenu()
|
|||
|
||||
function InitMarkReadMenuItem()
|
||||
{
|
||||
var messages = GetSelectedMessages();
|
||||
var numMessages = messages.length;
|
||||
|
||||
var compositeDS = GetCompositeDataSource("MarkMessageRead");
|
||||
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#IsUnread');
|
||||
|
||||
var areMessagesRead;
|
||||
|
||||
if(numMessages == 0)
|
||||
areMessagesRead = false;
|
||||
else
|
||||
{
|
||||
areMessagesRead = true;
|
||||
for(var i = 0; i < numMessages; i++)
|
||||
{
|
||||
var result = compositeDS.GetTarget(messages[i], property, true);
|
||||
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
|
||||
if(result.Value == "true")
|
||||
{
|
||||
areMessagesRead = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
areMessagesRead = SelectedMessagesAreRead();
|
||||
|
||||
var markReadMenuItem = document.getElementById("markReadMenuItem");
|
||||
if(markReadMenuItem)
|
||||
markReadMenuItem.setAttribute("checked", areMessagesRead);
|
||||
}
|
||||
|
||||
function SelectedMessagesAreRead()
|
||||
{
|
||||
var aMessage = GetSelectedMessage(0);
|
||||
|
||||
var compositeDS = GetCompositeDataSource("MarkMessageRead");
|
||||
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#IsUnread');
|
||||
|
||||
var areMessagesRead =false;
|
||||
|
||||
if(!aMessage)
|
||||
areMessagesRead = false;
|
||||
else
|
||||
{
|
||||
var result = compositeDS.GetTarget(aMessage, property, true);
|
||||
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
|
||||
areMessagesRead = result.Value != "true"
|
||||
}
|
||||
|
||||
return areMessagesRead;
|
||||
}
|
||||
|
||||
function InitMarkFlaggedMenuItem()
|
||||
{
|
||||
var messages = GetSelectedMessages();
|
||||
var numMessages = messages.length;
|
||||
areMessagesFlagged = SelectedMessagesAreFlagged();
|
||||
|
||||
var markFlaggedMenuItem = document.getElementById("markFlaggedMenuItem");
|
||||
if(markFlaggedMenuItem)
|
||||
markFlaggedMenuItem.setAttribute("checked", areMessagesFlagged);
|
||||
}
|
||||
|
||||
function SelectedMessagesAreFlagged()
|
||||
{
|
||||
var aMessage = GetSelectedMessage(0);
|
||||
|
||||
var compositeDS = GetCompositeDataSource("MarkMessageFlagged");
|
||||
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#Flagged');
|
||||
|
||||
var areMessagesFlagged = false;
|
||||
|
||||
for(var i = 0; i < numMessages; i++)
|
||||
if(!aMessage)
|
||||
areMessagesFlagged = false;
|
||||
else
|
||||
{
|
||||
var result = compositeDS.GetTarget(messages[i], property, true);
|
||||
var result = compositeDS.GetTarget(aMessage, property, true);
|
||||
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
|
||||
if(result.Value == "flagged")
|
||||
{
|
||||
areMessagesFlagged = true;
|
||||
break;
|
||||
}
|
||||
areMessagesFlagged = (result.Value == "flagged");
|
||||
}
|
||||
|
||||
var markFlaggedMenuItem = document.getElementById("markFlaggedMenuItem");
|
||||
if(markFlaggedMenuItem)
|
||||
markFlaggedMenuItem.setAttribute("checked", areMessagesFlagged);
|
||||
return areMessagesFlagged;
|
||||
}
|
||||
|
||||
function GetFirstSelectedMsgFolder()
|
||||
|
@ -454,6 +464,10 @@ function CloseMailWindow()
|
|||
|
||||
function MsgMarkMsgAsRead(markRead)
|
||||
{
|
||||
if(markRead == null)
|
||||
{
|
||||
markRead= !SelectedMessagesAreRead();
|
||||
}
|
||||
var selectedMessages = GetSelectedMessages();
|
||||
var compositeDataSource = GetCompositeDataSource("MarkMessageRead");
|
||||
|
||||
|
@ -462,6 +476,11 @@ function MsgMarkMsgAsRead(markRead)
|
|||
|
||||
function MsgMarkAsFlagged(markFlagged)
|
||||
{
|
||||
if(markFlagged == null)
|
||||
{
|
||||
markFlagged= !SelectedMessagesAreFlagged();
|
||||
}
|
||||
|
||||
var selectedMessages = GetSelectedMessages();
|
||||
var compositeDataSource = GetCompositeDataSource("MarkMessageFlagged");
|
||||
|
||||
|
@ -582,6 +601,57 @@ function PrintEnginePrint()
|
|||
return true;
|
||||
}
|
||||
|
||||
function IsMailFolderSelected()
|
||||
{
|
||||
var selectedFolders = GetSelectedMsgFolders();
|
||||
var numFolders = selectedFolders.length;
|
||||
if(numFolders !=1)
|
||||
return false;
|
||||
|
||||
var folder = selectedFolders[0];
|
||||
if (!folder)
|
||||
return false;
|
||||
|
||||
var server = folder.server;
|
||||
var serverType = server.type;
|
||||
|
||||
if((serverType == "nntp"))
|
||||
return false;
|
||||
else return true;
|
||||
}
|
||||
|
||||
function IsGetNewMessagesEnabled()
|
||||
{
|
||||
var selectedFolders = GetSelectedMsgFolders();
|
||||
var numFolders = selectedFolders.length;
|
||||
if(numFolders !=1)
|
||||
return false;
|
||||
|
||||
var folder = selectedFolders[0];
|
||||
if (!folder)
|
||||
return false;
|
||||
|
||||
var server = folder.server;
|
||||
var isServer = folder.isServer;
|
||||
var serverType = server.type;
|
||||
|
||||
if(isServer && (serverType == "nntp"))
|
||||
return false;
|
||||
else if(serverType == "none")
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
function IsEmptyTrashEnabled()
|
||||
{
|
||||
return IsMailFolderSelected();
|
||||
}
|
||||
|
||||
function IsCompactFolderEnabled()
|
||||
{
|
||||
return IsMailFolderSelected();
|
||||
}
|
||||
|
||||
function MsgMarkByDate() {}
|
||||
function MsgOpenAttachment() {}
|
||||
|
|
|
@ -73,23 +73,18 @@ Rights Reserved.
|
|||
<broadcaster id="cmd_previousUnreadMsg" oncommand="goDoCommand('cmd_previousUnreadMsg')" disabled="true"/>
|
||||
<broadcaster id="cmd_previousFlaggedMsg" oncommand="goDoCommand('cmd_previousFlaggedMsg')" disabled="true"/>
|
||||
|
||||
<broadcaster id="cmd_sortBySubject" oncommand="goDoCommand('cmd_sortBySubject')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByDate" oncommand="goDoCommand('cmd_sortByDate')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByFlag" oncommand="goDoCommand('cmd_sortByFlag')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByPriority" oncommand="goDoCommand('cmd_sortByPriority')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortBySender" oncommand="goDoCommand('cmd_sortBySender')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortBySize" oncommand="goDoCommand('cmd_sortBySize')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByRead" oncommand="goDoCommand('cmd_sortByRead')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByStatus" oncommand="goDoCommand('cmd_sortByStatus')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByUnread" oncommand="goDoCommand('cmd_sortByUnread')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByOrderReceived" oncommand="goDoCommand('cmd_sortByOrderReceived')" disabled="true"/>
|
||||
|
||||
<broadcaster id="cmd_viewAllMsgs" oncommand="goDoCommand('cmd_viewAllMsgs')" disabled="true"/>
|
||||
<broadcaster id="cmd_viewUnreadMsgs" oncommand="goDoCommand('cmd_viewUnreadMsgs')" disabled="true"/>
|
||||
<broadcaster id="cmd_sortByThread" oncommand="goDoCommand('cmd_sortByThread')" disabled="true"/>
|
||||
<broadcaster id="cmd_reply" oncommand="goDoCommand('cmd_reply')"/>
|
||||
<broadcaster id="cmd_replySender" oncommand="goDoCommand('cmd_replySender')"/>
|
||||
<broadcaster id="cmd_replyGroup" oncommand="goDoCommand('cmd_replyGroup')"/>
|
||||
<broadcaster id="cmd_replyall" oncommand="goDoCommand('cmd_replyall')"/>
|
||||
<broadcaster id="cmd_forward" oncommand="goDoCommand('cmd_forward')"/>
|
||||
<broadcaster id="cmd_forwardInline" oncommand="goDoCommand('cmd_forwardInline')"/>
|
||||
<broadcaster id="cmd_forwardAttachment" oncommand="goDoCommand('cmd_forwardAttachment')"/>
|
||||
<broadcaster id="cmd_editAsNew" oncommand="goDoCommand('cmd_editAsNew')"/>
|
||||
<broadcaster id="button_reply"/>
|
||||
<broadcaster id="button_replyall"/>
|
||||
<broadcaster id="button_forward"/>
|
||||
|
@ -104,6 +99,16 @@ Rights Reserved.
|
|||
<broadcaster id="cmd_saveAsTemplate" oncommand="goDoCommand('cmd_saveAsTemplate')" disabled="true"/>
|
||||
<broadcaster id="cmd_viewPageSource" oncommand="goDoCommand('cmd_viewPageSource')" disabled="true"/>
|
||||
<broadcaster id="cmd_reload" oncommand="goDoCommand('cmd_reload')" disabled="true"/>
|
||||
<broadcaster id="cmd_getNewMessages" oncommand="goDoCommand('cmd_getNewMessages')" disabled="true"/>
|
||||
<broadcaster id="cmd_find" oncommand="goDoCommand('cmd_find')" disabled="true"/>
|
||||
<broadcaster id="cmd_findAgain" oncommand="goDoCommand('cmd_findAgain')" disabled="true"/>
|
||||
<broadcaster id="cmd_markAsRead" oncommand="goDoCommand('cmd_markAsRead')" disabled="true"/>
|
||||
<broadcaster id="cmd_markAllRead" oncommand="goDoCommand('cmd_markAllRead')" disabled="true"/>
|
||||
<broadcaster id="cmd_markThreadAsRead" oncommand="goDoCommand('cmd_markThreadAsRead')" disabled="true"/>
|
||||
<broadcaster id="cmd_markAsFlagged" oncommand="goDoCommand('cmd_markAsFlagged')" disabled="true"/>
|
||||
<broadcaster id="cmd_file" disabled="true"/>
|
||||
<broadcaster id="cmd_emptyTrash" oncommand="goDoCommand('cmd_emptyTrash')" disabled="true"/>
|
||||
<broadcaster id="cmd_compactFolder" oncommand="goDoCommand('cmd_compactFolder')" disabled="true"/>
|
||||
|
||||
</broadcasterset>
|
||||
|
||||
|
@ -123,10 +128,12 @@ Rights Reserved.
|
|||
<key id="key_selectAll"/>
|
||||
<key id="key_preferences"/>
|
||||
|
||||
<key id="key_nextMsg" key="&nextMsgCmd.key;" control="false" shift="true" observes="cmd_nextMsg"/>
|
||||
<key id="key_nextUnreadMsg" key="&nextUnreadMsgCmd.key;" control="false" shift="false" observes="cmd_nextUnreadMsg"/>
|
||||
<key id="key_toggleRead" key="&markAsReadCmd.key;" alt="false" control="false" shift="false" observes="cmd_markAsRead"/>
|
||||
<key id="key_markAllRead" key="&markAllReadCmd.key;" alt="false" control="false" shift="false" observes="cmd_markAllRead"/>
|
||||
<key id="key_nextMsg" key="&nextMsgCmd.key;" alt="false" control="false" shift="false" observes="cmd_nextMsg"/>
|
||||
<key id="key_nextUnreadMsg" key="&nextUnreadMsgCmd.key;" alt="false" control="false" shift="false" observes="cmd_nextUnreadMsg"/>
|
||||
<key id="key_nextUnreadThread" key="&nextUnreadThreadCmd.key;" control="false" shift="false" alt="false" observes="cmd_nextUnreadThread"/>
|
||||
<key id="key_previousMsg" key="&previousMsgCmd.key;" control="false" shift="true" observes="cmd_previousMsg"/>
|
||||
<key id="key_previousMsg" key="&previousMsgCmd.key;" alt="false" control="false" shift="false" observes="cmd_previousMsg"/>
|
||||
<key id="key_previousUnreadMsg" key="&previousUnreadMsgCmd.key;" control="false" shift="false" observes="cmd_previousUnreadMsg"/>
|
||||
<key id="key_reply" key="&replyMsgCmd.key;" xulkey="true" shift="false" observes="cmd_reply"/>
|
||||
<key id="key_replyall" key="&replyToAllMsgCmd.key;" xulkey="true" shift="true" observes="cmd_replyall"/>
|
||||
|
@ -135,6 +142,9 @@ Rights Reserved.
|
|||
<key id="key_print" key="&printCmd.key;" xulkey="true" shift="false" observes="cmd_print"/>
|
||||
<key id="key_saveAsFile" key="&saveAsFileCmd.key;" xulkey="true" shift="false" observes="cmd_saveAsFile"/>
|
||||
<key id="key_viewPageSource" key="&pageSourceCmd.key;" xulkey="true" shift="false" observes="cmd_viewPageSource"/>
|
||||
<key id="key_getNewMessages" key="&getNewMsgCmd.key;" xulkey="true" shift="false" observes="cmd_getNewMessages"/>
|
||||
<key id="key_find" key="&findCmd.key;" xulkey="true" shift="false" observes="cmd_find"/>
|
||||
<key id="key_findAgain" key="&findAgainCmd.key;" xulkey="true" shift="false" observes="cmd_findAgain"/>
|
||||
|
||||
</keyset>
|
||||
|
||||
|
@ -560,7 +570,8 @@ Rights Reserved.
|
|||
<menuseparator/>
|
||||
<menuitem value="&getNewMsgCmd.label;"
|
||||
accesskey="&getNewMsgCmd.accesskey;"
|
||||
oncommand="MsgGetMessage();"/>
|
||||
key="key_getNewMessages"
|
||||
observes="cmd_getNewMessages"/>
|
||||
<menuitem value="&sendUnsentCmd.label;"
|
||||
accesskey="&sendUnsentCmd.accesskey;"
|
||||
oncommand="MsgSendUnsentMsg();"/>
|
||||
|
@ -571,11 +582,11 @@ Rights Reserved.
|
|||
<menuitem id="menu_renameFolder" value="&renameFolder.label;"
|
||||
accesskey="&renameFolder.accesskey;"
|
||||
observes="cmd_renameFolder"/>
|
||||
<menuitem value="&emptyTrashCmd.label;"
|
||||
<menuitem id="menu_emptyTrash" value="&emptyTrashCmd.label;"
|
||||
accesskey="&emptyTrashCmd.accesskey;"
|
||||
oncommand="MsgEmptyTrash();"/>
|
||||
<menuitem value="&compactFolder.label;" accesskey="&compactFolder.accesskey;" oncommand="MsgCompactFolder();"/>
|
||||
<menuseparator/>
|
||||
observes="cmd_emptyTrash"/>
|
||||
<menuitem id="menu_compactFolder" value="&compactFolder.label;" accesskey="&compactFolder.accesskey;" observes="cmd_compactFolder"/>
|
||||
<menuseparator id="trashMenuSeparator"/>
|
||||
<menuitem value="&importCmd.label;" accesskey="&importCmd.accesskey;" oncommand="toImport();"/>
|
||||
<menuseparator/>
|
||||
<menuitem id="printMenuItem" key="key_print" value="&printCmd.label;" accesskey="&printCmd.accesskey;" observes="cmd_print"/>
|
||||
|
@ -624,17 +635,17 @@ Rights Reserved.
|
|||
accesskey="&showMessageCmd.accesskey;"
|
||||
oncommand="MsgToggleMessagePane();"/>
|
||||
<menuseparator/>
|
||||
<menu id="viewSortMenu" value="&sortMenu.label;">
|
||||
<menu id="viewSortMenu" value="&sortMenu.label;">
|
||||
<menupopup>
|
||||
<menuitem id="sortByDateMenuitem" type="checkbox" value="&sortByDateCmd.label;" accesskey="&sortByDateCmd.accesskey;" observes="cmd_sortByDate"/>
|
||||
<menuitem id="sortByFlagMenuitem" type="checkbox" value="&sortByFlagCmd.label;" accesskey="&sortByFlagCmd.accesskey;" observes="cmd_sortByFlag"/>
|
||||
<menuitem id="sortByOrderReceivedMenuitem" type="checkbox" value="&sortByOrderReceivedCmd.label;" accesskey="&sortByOrderReceivedCmd.accesskey;" observes="cmd_sortByOrderReceived"/>
|
||||
<menuitem id="sortByPriorityMenuitem" type="checkbox" value="&sortByPriorityCmd.label;" accesskey="&sortByPriorityCmd.accesskey;" observes="cmd_sortByPriority"/>
|
||||
<menuitem id="sortBySenderMenuitem" type="checkbox" value="&sortBySenderCmd.label;" accesskey="&sortBySenderCmd.accesskey;" observes="cmd_sortBySender"/>
|
||||
<menuitem id="sortBySizeMenuitem" type="checkbox" value="&sortBySizeCmd.label;" accesskey="&sortBySizeCmd.accesskey;" observes="cmd_sortBySize"/>
|
||||
<menuitem id="sortByStatusMenuitem" type="checkbox" value="&sortByStatusCmd.label;" accesskey="&sortByStatusCmd.accesskey;" observes="cmd_sortByStatus"/>
|
||||
<menuitem id="sortBySubjectMenuitem" type="checkbox" value="&sortBySubjectCmd.label;" accesskey="&sortBySubjectCmd.accesskey;" observes="cmd_sortBySubject"/>
|
||||
<menuitem id="sortByUnreadMenuitem" type="checkbox" value="&sortByUnreadCmd.label;" accesskey="&sortByUnreadCmd.accesskey;" observes="cmd_sortByRead"/>
|
||||
<menuitem id="sortByDateMenuitem" type="checkbox" value="&sortByDateCmd.label;" accesskey="&sortByDateCmd.accesskey;" oncommand="MsgSortByDate()"/>
|
||||
<menuitem id="sortByFlagMenuitem" type="checkbox" value="&sortByFlagCmd.label;" accesskey="&sortByFlagCmd.accesskey;" oncommand="MsgSortByFlagged()"/>
|
||||
<menuitem id="sortByOrderReceivedMenuitem" type="checkbox" value="&sortByOrderReceivedCmd.label;" accesskey="&sortByOrderReceivedCmd.accesskey;" oncommand="MsgSortByOrderReceived()"/>
|
||||
<menuitem id="sortByPriorityMenuitem" type="checkbox" value="&sortByPriorityCmd.label;" accesskey="&sortByPriorityCmd.accesskey;" oncommand="MsgSortByPriority()"/>
|
||||
<menuitem id="sortBySenderMenuitem" type="checkbox" value="&sortBySenderCmd.label;" accesskey="&sortBySenderCmd.accesskey;" oncommand="MsgSortBySender()"/>
|
||||
<menuitem id="sortBySizeMenuitem" type="checkbox" value="&sortBySizeCmd.label;" accesskey="&sortBySizeCmd.accesskey;" oncommand="MsgSortBySize()"/>
|
||||
<menuitem id="sortByStatusMenuitem" type="checkbox" value="&sortByStatusCmd.label;" accesskey="&sortByStatusCmd.accesskey;" oncommand="MsgSortByStatus()"/>
|
||||
<menuitem id="sortBySubjectMenuitem" type="checkbox" value="&sortBySubjectCmd.label;" accesskey="&sortBySubjectCmd.accesskey;" oncommand="MsgSortBySubject()"/>
|
||||
<menuitem id="sortByUnreadMenuitem" type="checkbox" value="&sortByUnreadCmd.label;" accesskey="&sortByUnreadCmd.accesskey;" oncommand="MsgSortByRead()"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menu value="&msgsMenu.label;" id="viewMessagesMenu" accesskey="&msgsMenu.accesskey;" oncreate="InitViewMessagesMenu();">
|
||||
|
@ -682,8 +693,8 @@ Rights Reserved.
|
|||
</menu>
|
||||
<menu value="&searchMenu.label;" accesskey="&searchMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&findCmd.label;" accesskey="&findCmd.accesskey;" oncommand="MsgFind();"/>
|
||||
<menuitem value="&findAgainCmd.label;" accesskey="&findAgainCmd.accesskey;" oncommand="MsgFindAgain();"/>
|
||||
<menuitem value="&findCmd.label;" key="key_find" accesskey="&findCmd.accesskey;" observes="cmd_find"/>
|
||||
<menuitem value="&findAgainCmd.label;" key="key_findAgain" accesskey="&findAgainCmd.accesskey;" observes="cmd_findAgain"/>
|
||||
<menuseparator/>
|
||||
<menuitem value="&searchInternetCmd.label;" accesskey="&searchInternetCmd.accesskey;" oncommand="openTopWin('http://search.netscape.com/')"/>
|
||||
<menuitem value="&searchMailCmd.label;" accesskey="&searchMailCmd.accesskey;" oncommand="MsgSearchMessages();"/>
|
||||
|
@ -721,29 +732,29 @@ Rights Reserved.
|
|||
<menuitem id="replyMainMenu" value="&replyMsgCmd.label;"
|
||||
accesskey="&replyMsgCmd.accesskey;"
|
||||
key="key_reply"
|
||||
oncommand="MsgReplyMessage(event);"/>
|
||||
observes="cmd_reply"/>
|
||||
<menuitem id="replySenderMainMenu" value="&replySenderCmd.label;"
|
||||
accesskey="&replySenderCmd.accesskey;"
|
||||
oncommand="MsgReplySender(event);"/>
|
||||
observes="cmd_replySender"/>
|
||||
<menuitem id="replyNewsgroupMainMenu" value="&replyNewsgroupCmd.label;"
|
||||
accesskey="&replyNewsgroupCmd.accesskey;"
|
||||
key="key_reply"
|
||||
oncommand="MsgReplyGroup(event);"/>
|
||||
observes="cmd_replyGroup"/>
|
||||
<menuitem value="&replyToAllMsgCmd.label;"
|
||||
accesskey="&replyToAllMsgCmd.accesskey;"
|
||||
key="key_replyall"
|
||||
oncommand="MsgReplyToAllMessage(event);"/>
|
||||
observes="cmd_replyall"/>
|
||||
<menuitem value="&forwardMsgCmd.label;"
|
||||
accesskey="&forwardMsgCmd.accesskey;"
|
||||
key="key_forward"
|
||||
oncommand="MsgForwardMessage(event);"/>
|
||||
observes="cmd_forward"/>
|
||||
<menu value="&forwardAsMenu.label;" accesskey="&forwardAsMenu.accesskey;">
|
||||
<menupopup>
|
||||
<menuitem value="&forwardAsInline.label;" accesskey="&forwardAsInline.accesskey;" oncommand="MsgForwardAsInline(event);"/>
|
||||
<menuitem value="&forwardAsAttachmentCmd.label;" accesskey="&forwardAsAttachmentCmd.accesskey;" oncommand="MsgForwardAsAttachment(event);"/>
|
||||
<menuitem value="&forwardAsInline.label;" accesskey="&forwardAsInline.accesskey;" observes="cmd_forwardInline"/>
|
||||
<menuitem value="&forwardAsAttachmentCmd.label;" accesskey="&forwardAsAttachmentCmd.accesskey;" observes="cmd_forwardAttachment"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem value="&editMsgAsNewCmd.label;" accesskey="&editMsgAsNewCmd.accesskey;" oncommand="MsgEditMessageAsNew();"/>
|
||||
<menuitem value="&editMsgAsNewCmd.label;" accesskey="&editMsgAsNewCmd.accesskey;" observes="cmd_editAsNew"/>
|
||||
<menuseparator/>
|
||||
<menu value="&moveMsgMenu.label;" accesskey="&moveMsgMenu.accesskey;" id="moveMenu" datasources="rdf:null"
|
||||
rdf:ignore="http://home.netscape.com/NC-rdf#MessageChild">
|
||||
|
@ -847,11 +858,11 @@ Rights Reserved.
|
|||
<menuseparator/>
|
||||
<menu value="&markMenu.label;" accesskey="&markMenu.accesskey;" oncreate="InitMessageMarkMenu()">
|
||||
<menupopup>
|
||||
<menuitem type="checkbox" id="markReadMenuItem" value="&markAsReadCmd.label;" accesskey="&markAsReadCmd.accesskey;" oncommand="MsgMarkMsgAsRead(event.target.getAttribute('checked') == 'true');"/>
|
||||
<menuitem value="&markThreadAsReadCmd.label;" accesskey="&markThreadAsReadCmd.accesskey;" oncommand="MsgMarkThreadAsRead();"/>
|
||||
<menuitem value="&markAllReadCmd.label;" accesskey="&markAllReadCmd.accesskey;" oncommand="MsgMarkAllRead();"/>
|
||||
<menuitem type="checkbox" key="key_toggleRead" id="markReadMenuItem" value="&markAsReadCmd.label;" accesskey="&markAsReadCmd.accesskey;" observes="cmd_markAsRead"/>
|
||||
<menuitem value="&markThreadAsReadCmd.label;" accesskey="&markThreadAsReadCmd.accesskey;" observes="cmd_markThreadAsRead"/>
|
||||
<menuitem value="&markAllReadCmd.label;" key="key_markAllRead" accesskey="&markAllReadCmd.accesskey;" observes="cmd_markAllRead"/>
|
||||
<menuseparator/>
|
||||
<menuitem type="checkbox" id="markFlaggedMenuItem" value="&markFlaggedCmd.label;" accesskey="&markFlaggedCmd.accesskey;" oncommand="MsgMarkAsFlagged(event.target.getAttribute('checked') == 'true');"/>
|
||||
<menuitem type="checkbox" id="markFlaggedMenuItem" value="&markFlaggedCmd.label;" accesskey="&markFlaggedCmd.accesskey;" observes="cmd_markAsFlagged"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
</menupopup>
|
||||
|
@ -865,15 +876,15 @@ Rights Reserved.
|
|||
<toolbox id="mailToolbarToolbox">
|
||||
<toolbar class="toolbar-primary chromeclass-toolbar" id="msgToolbar" persist="collapsed">
|
||||
<box id="toolbar_button_box">
|
||||
<button class="button-toolbar-2 top" id="button-getmsg" value="&getMsgButton.label;" tooltip="aTooltip" tooltiptext="&getMsgButton.tooltip;" onclick="MsgGetMessage()"/>
|
||||
<button class="button-toolbar-2 top" id="button-getmsg" value="&getMsgButton.label;" tooltip="aTooltip" tooltiptext="&getMsgButton.tooltip;" observes="cmd_getNewMessages"/>
|
||||
<button class="button-toolbar-2 top" id="button-newmsg" value="&newMsgButton.label;" tooltip="aTooltip" tooltiptext="&newMsgButton.tooltip;" onclick="MsgNewMessage(event)"/>
|
||||
<separator/>
|
||||
<button class="button-toolbar-2 top" id="button-reply" value="&replyButton.label;" tooltip="aTooltip" tooltiptext="&replyButton.tooltip;" observes="button_reply" onclick="MsgReplyMessage(event)"/>
|
||||
<button class="button-toolbar-2 top" id="button-replyall" value="&replyAllButton.label;" tooltip="aTooltip" tooltiptext="&replyAllButton.tooltip;" observes="button_replyall" onclick="MsgReplyToAllMessage(event)"/>
|
||||
<button class="button-toolbar-2 top" id="button-forward" value="&forwardButton.label;" tooltip="aTooltip" tooltiptext="&forwardButton.tooltip;" observes="button_forward" onclick="MsgForwardMessage(event)"/>
|
||||
<separator/>
|
||||
<menu id="FileButtonMenu" datasources="rdf:null" rdf:ignore="http://home.netscape.com/NC-rdf#MessageChild">
|
||||
<button class="button-toolbar-2 top" id="button-file" value="&fileButton.label;" tooltip="aTooltip" tooltiptext="&fileButton.tooltip;"/>
|
||||
<menu id="FileButtonMenu" observes="cmd_file" datasources="rdf:null" rdf:ignore="http://home.netscape.com/NC-rdf#MessageChild">
|
||||
<button class="button-toolbar-2 top" observes="cmd_file" id="button-file" value="&fileButton.label;" tooltip="aTooltip" tooltiptext="&fileButton.tooltip;"/>
|
||||
<template>
|
||||
<rule nc:CanFileMessages="true" iscontainer="true" isempty="false">
|
||||
<menupopup>
|
||||
|
@ -921,7 +932,7 @@ Rights Reserved.
|
|||
</template>
|
||||
<menupopup/>
|
||||
</menu>
|
||||
<button class="button-toolbar-2 top" id="button-next" value="&nextButton.label;" tooltip="aTooltip" tooltiptext="&nextButton.tooltip;" onclick="MsgNextUnreadMessage()"/>
|
||||
<button class="button-toolbar-2 top" id="button-next" value="&nextButton.label;" tooltip="aTooltip" tooltiptext="&nextButton.tooltip;" observes="cmd_nextUnreadMsg"/>
|
||||
<button class="button-toolbar-2 top" id="button-delete" value="&deleteButton.label;" tooltip="aTooltip" tooltiptext="&deleteButton.tooltip;" observes="button_delete" onclick="goDoCommand('button_delete')"/>
|
||||
<menubutton class="menubutton-dual toolbar top" id="button-print" value="&printButton.label;"
|
||||
crop="right" observes="cmd_print" tooltip="aTooltip" buttontooltiptext="&printButton.tooltip;">
|
||||
|
|
|
@ -181,6 +181,17 @@ function HideMenus()
|
|||
if(goNextSeparator)
|
||||
goNextSeparator.setAttribute("hidden", "true");
|
||||
|
||||
var emptryTrashMenu = document.getElementById('menu_emptyTrash');
|
||||
if(emptryTrashMenu)
|
||||
emptryTrashMenu.setAttribute("hidden", "true");
|
||||
|
||||
var compactFolderMenu = document.getElementById('menu_compactFolder');
|
||||
if(compactFolderMenu)
|
||||
compactFolderMenu.setAttribute("hidden", "true");
|
||||
|
||||
var trashSeparator = document.getElementById('trashMenuSeparator');
|
||||
if(trashSeparator)
|
||||
trashSeparator.setAttribute("hidden", "true");
|
||||
|
||||
}
|
||||
|
||||
|
@ -224,6 +235,19 @@ function GetSelectedMsgFolders()
|
|||
return folderArray;
|
||||
}
|
||||
|
||||
function GetSelectedMessage(index)
|
||||
{
|
||||
return GetLoadedMessage();
|
||||
}
|
||||
|
||||
function GetNumSelectedMessages()
|
||||
{
|
||||
if(gCurrentMessageUri)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
function GetSelectedMessages()
|
||||
{
|
||||
var messageArray = new Array(1);
|
||||
|
@ -237,27 +261,41 @@ function GetSelectedMessages()
|
|||
|
||||
function GetLoadedMsgFolder()
|
||||
{
|
||||
var folderResource = RDF.GetResource(gCurrentFolderUri);
|
||||
if(folderResource)
|
||||
if(gCurrentFolderUri)
|
||||
{
|
||||
var msgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
return msgFolder;
|
||||
var folderResource = RDF.GetResource(gCurrentFolderUri);
|
||||
if(folderResource)
|
||||
{
|
||||
var msgFolder = folderResource.QueryInterface(Components.interfaces.nsIMsgFolder);
|
||||
return msgFolder;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function GetLoadedMessage()
|
||||
{
|
||||
var messageResource = RDF.GetResource(gCurrentMessageUri);
|
||||
if(messageResource)
|
||||
if(gCurrentMessageUri)
|
||||
{
|
||||
var message = messageResource.QueryInterface(Components.interfaces.nsIMessage);
|
||||
return message;
|
||||
var messageResource = RDF.GetResource(gCurrentMessageUri);
|
||||
if(messageResource)
|
||||
{
|
||||
var message = messageResource.QueryInterface(Components.interfaces.nsIMessage);
|
||||
return message;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
|
||||
}
|
||||
|
||||
//Clear everything related to the current message. called after load start page.
|
||||
function ClearMessageSelection()
|
||||
{
|
||||
gCurrentMessageUri = null;
|
||||
gCurrentFolderUri = null;
|
||||
CommandUpdate_Mail();
|
||||
}
|
||||
|
||||
function GetCompositeDataSource(command)
|
||||
{
|
||||
return gCompositeDataSource;
|
||||
|
@ -295,6 +333,17 @@ var MessageWindowController =
|
|||
|
||||
switch ( command )
|
||||
{
|
||||
case "cmd_reply":
|
||||
case "button_reply":
|
||||
case "cmd_replySender":
|
||||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
case "cmd_forwardAttachment":
|
||||
case "cmd_editAsNew":
|
||||
case "cmd_delete":
|
||||
case "button_delete":
|
||||
case "cmd_shiftDelete":
|
||||
|
@ -303,6 +352,14 @@ var MessageWindowController =
|
|||
case "cmd_saveAsTemplate":
|
||||
case "cmd_viewPageSource":
|
||||
case "cmd_reload":
|
||||
case "cmd_getNewMessages":
|
||||
case "cmd_find":
|
||||
case "cmd_findAgain":
|
||||
case "cmd_markAsRead":
|
||||
case "cmd_markAllRead":
|
||||
case "cmd_markThreadAsRead":
|
||||
case "cmd_markAsFlagged":
|
||||
case "cmd_file":
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
@ -313,6 +370,17 @@ var MessageWindowController =
|
|||
{
|
||||
switch ( command )
|
||||
{
|
||||
case "cmd_reply":
|
||||
case "button_reply":
|
||||
case "cmd_replySender":
|
||||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
case "cmd_forwardAttachment":
|
||||
case "cmd_editAsNew":
|
||||
case "cmd_delete":
|
||||
case "button_delete":
|
||||
case "cmd_shiftDelete":
|
||||
|
@ -321,11 +389,20 @@ var MessageWindowController =
|
|||
case "cmd_saveAsTemplate":
|
||||
case "cmd_viewPageSource":
|
||||
case "cmd_reload":
|
||||
case "cmd_find":
|
||||
case "cmd_findAgain":
|
||||
case "cmd_markAsRead":
|
||||
case "cmd_markAllRead":
|
||||
case "cmd_markThreadAsRead":
|
||||
case "cmd_markAsFlagged":
|
||||
case "cmd_file":
|
||||
if ( command == "cmd_delete")
|
||||
{
|
||||
goSetMenuValue(command, 'valueMessage');
|
||||
}
|
||||
return ( gCurrentMessageUri != null);
|
||||
case "cmd_getNewMessages":
|
||||
return IsGetNewMessagesEnabled();
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -337,6 +414,33 @@ var MessageWindowController =
|
|||
|
||||
switch ( command )
|
||||
{
|
||||
case "cmd_getNewMessages":
|
||||
MsgGetMessage();
|
||||
break;
|
||||
case "cmd_reply":
|
||||
MsgReplyMessage(null);
|
||||
break;
|
||||
case "cmd_replySender":
|
||||
MsgReplySender(null);
|
||||
break;
|
||||
case "cmd_replyGroup":
|
||||
MsgReplyGroup(null);
|
||||
break;
|
||||
case "cmd_replyall":
|
||||
MsgReplyToAllMessage(null);
|
||||
break;
|
||||
case "cmd_forward":
|
||||
MsgForwardMessage(null);
|
||||
break;
|
||||
case "cmd_forwardInline":
|
||||
MsgForwardAsInline(null);
|
||||
break;
|
||||
case "cmd_forwardAttachment":
|
||||
MsgForwardAsAttachment(null);
|
||||
break;
|
||||
case "cmd_editAsNew":
|
||||
MsgEditMessageAsNew();
|
||||
break;
|
||||
case "cmd_delete":
|
||||
MsgDeleteMessage(false, false);
|
||||
break;
|
||||
|
@ -361,6 +465,24 @@ var MessageWindowController =
|
|||
case "cmd_reload":
|
||||
MsgReload();
|
||||
break;
|
||||
case "cmd_find":
|
||||
MsgFind();
|
||||
break;
|
||||
case "cmd_findAgain":
|
||||
MsgFindAgain();
|
||||
break;
|
||||
case "cmd_markAsRead":
|
||||
MsgMarkMsgAsRead(null);
|
||||
return;
|
||||
case "cmd_markThreadAsRead":
|
||||
MsgMarkThreadAsRead();
|
||||
return;
|
||||
case "cmd_markAllRead":
|
||||
MsgMarkAllRead();
|
||||
return;
|
||||
case "cmd_markAsFlagged":
|
||||
MsgMarkAsFlagged(null);
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -372,6 +494,17 @@ var MessageWindowController =
|
|||
|
||||
function CommandUpdate_Mail()
|
||||
{
|
||||
goUpdateCommand('cmd_reply');
|
||||
goUpdateCommand('cmd_replySender');
|
||||
goUpdateCommand('cmd_replyGroup');
|
||||
goUpdateCommand('cmd_replyall');
|
||||
goUpdateCommand('cmd_forward');
|
||||
goUpdateCommand('cmd_forwardInline');
|
||||
goUpdateCommand('cmd_forwardAttachment');
|
||||
goUpdateCommand('button_reply');
|
||||
goUpdateCommand('button_replyall');
|
||||
goUpdateCommand('button_forward');
|
||||
goUpdateCommand('cmd_editAsNew');
|
||||
goUpdateCommand('cmd_delete');
|
||||
goUpdateCommand('button_delete');
|
||||
goUpdateCommand('cmd_shiftDelete');
|
||||
|
@ -380,6 +513,15 @@ function CommandUpdate_Mail()
|
|||
goUpdateCommand('cmd_saveAsTemplate');
|
||||
goUpdateCommand('cmd_viewPageSource');
|
||||
goUpdateCommand('cmd_reload');
|
||||
goUpdateCommand('cmd_getNewMessages');
|
||||
goUpdateCommand('cmd_find');
|
||||
goUpdateCommand('cmd_findAgain');
|
||||
goUpdateCommand('cmd_markAsRead');
|
||||
goUpdateCommand('cmd_markThreadAsRead');
|
||||
goUpdateCommand('cmd_markAllRead');
|
||||
goUpdateCommand('cmd_markAsFlagged');
|
||||
goUpdateCommand('cmd_file');
|
||||
|
||||
}
|
||||
|
||||
function SetupCommandUpdateHandlers()
|
||||
|
@ -391,3 +533,4 @@ function CommandUpdate_UndoRedo()
|
|||
{
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -72,9 +72,12 @@ Rights Reserved.
|
|||
<commands id="commands">
|
||||
<commandset id="CommandUpdate_Mail"
|
||||
commandupdater="true"
|
||||
events="focus,tree-select"
|
||||
events="focus,folderTree-select,threadTree-select"
|
||||
oncommandupdate="CommandUpdate_Mail()"/>
|
||||
|
||||
<commandset id="ThreadTreeUpdate_Mail"
|
||||
commandupdater="true"
|
||||
events="threadTree-select"
|
||||
oncommandupdate="ThreadTreeUpdate_Mail()"/>
|
||||
<commandset id="globalEditMenuItems"/>
|
||||
<commandset id="selectEditMenuItems"/>
|
||||
<commandset id="undoEditMenuItems"/>
|
||||
|
|
|
@ -112,6 +112,7 @@ var folderListener = {
|
|||
gCurrentLoadingFolderIsThreaded = false;
|
||||
gCurrentLoadingFolderSortID = "";
|
||||
gCurrentLoadingFolderSortDirection = null;
|
||||
|
||||
}
|
||||
}
|
||||
if(uri == gCurrentLoadingFolderURI)
|
||||
|
@ -133,6 +134,7 @@ var folderListener = {
|
|||
dump("Time to load " + uri + " is " + timeToLoad + " seconds\n");
|
||||
dump("of which scrolling to new is" + timeToScroll + "seconds\n");
|
||||
}
|
||||
SetBusyCursor(window, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -290,24 +292,6 @@ function Create3PaneGlobals()
|
|||
}
|
||||
|
||||
|
||||
function loadStartPage() {
|
||||
try {
|
||||
startpageenabled= pref.GetBoolPref("mailnews.start_page.enabled");
|
||||
|
||||
if (startpageenabled) {
|
||||
startpage = pref.CopyCharPref("mailnews.start_page.url");
|
||||
if (startpage != "") {
|
||||
window.frames["messagepane"].location = startpage;
|
||||
dump("start message pane with: " + startpage + "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (ex) {
|
||||
dump("Error loading start page.\n");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function PerformExpandForAllOpenServers(tree)
|
||||
{
|
||||
//dump("PerformExpandForAllOpenServers()\n");
|
||||
|
@ -536,6 +520,8 @@ function FindMessenger()
|
|||
|
||||
function RefreshThreadTreeView()
|
||||
{
|
||||
SetBusyCursor(window, true);
|
||||
|
||||
var selection = SaveThreadPaneSelection();
|
||||
|
||||
var currentFolder = GetThreadTreeFolder();
|
||||
|
@ -544,6 +530,8 @@ function RefreshThreadTreeView()
|
|||
currentFolder.setAttribute('ref', currentFolderID);
|
||||
|
||||
RestoreThreadPaneSelection(selection);
|
||||
SetBusyCursor(window, false);
|
||||
|
||||
}
|
||||
|
||||
function ClearThreadTreeSelection()
|
||||
|
@ -742,6 +730,30 @@ function GetSelectedMsgFolders()
|
|||
return folderArray;
|
||||
}
|
||||
|
||||
function GetSelectedMessage(index)
|
||||
{
|
||||
var threadTree = GetThreadTree();
|
||||
var selectedMessages = threadTree.selectedItems;
|
||||
var numMessages = selectedMessages.length;
|
||||
if(index <0 || index > (numMessages - 1))
|
||||
return null;
|
||||
|
||||
var messageNode = selectedMessages[index];
|
||||
var messageUri = messageNode.getAttribute("id");
|
||||
var messageResource = RDF.GetResource(messageUri);
|
||||
var message = messageResource.QueryInterface(Components.interfaces.nsIMessage);
|
||||
return message;
|
||||
|
||||
}
|
||||
|
||||
function GetNumSelectedMessages()
|
||||
{
|
||||
var threadTree = GetThreadTree();
|
||||
var selectedMessages = threadTree.selectedItems;
|
||||
var numMessages = selectedMessages.length;
|
||||
return numMessages;
|
||||
}
|
||||
|
||||
function GetSelectedMessages()
|
||||
{
|
||||
var threadTree = GetThreadTree();
|
||||
|
@ -801,6 +813,12 @@ function GetLoadedMessage()
|
|||
|
||||
}
|
||||
|
||||
//Clear everything related to the current message. called after load start page.
|
||||
function ClearMessageSelection()
|
||||
{
|
||||
ClearThreadTreeSelection();
|
||||
}
|
||||
|
||||
function GetCompositeDataSource(command)
|
||||
{
|
||||
if(command == "GetNewMessages" || command == "DeleteMessages" || command == "Copy" ||
|
||||
|
@ -862,4 +880,16 @@ function ReloadMessage()
|
|||
}
|
||||
|
||||
|
||||
function SetBusyCursor(window, enable)
|
||||
{
|
||||
if(enable)
|
||||
window.setCursor("wait");
|
||||
else
|
||||
window.setCursor("auto");
|
||||
|
||||
numFrames = window.frames.length;
|
||||
for(var i = 0; i < numFrames; i++)
|
||||
{
|
||||
SetBusyCursor(window.frames[i], enable);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,62 +85,62 @@ function ThreadPaneDoubleClick(treeitem)
|
|||
|
||||
function MsgSortByDate()
|
||||
{
|
||||
SortThreadPane('DateColumn', 'http://home.netscape.com/NC-rdf#Date', null, true, null);
|
||||
SortThreadPane('DateColumn', 'http://home.netscape.com/NC-rdf#Date', null, true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortBySender()
|
||||
{
|
||||
SortThreadPane('AuthorColumn', 'http://home.netscape.com/NC-rdf#Sender', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('AuthorColumn', 'http://home.netscape.com/NC-rdf#Sender', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByRecipient()
|
||||
{
|
||||
SortThreadPane('AuthorColumn', 'http://home.netscape.com/NC-rdf#Recipient', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('AuthorColumn', 'http://home.netscape.com/NC-rdf#Recipient', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByStatus()
|
||||
{
|
||||
SortThreadPane('StatusColumn', 'http://home.netscape.com/NC-rdf#Status', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('StatusColumn', 'http://home.netscape.com/NC-rdf#Status', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortBySubject()
|
||||
{
|
||||
SortThreadPane('SubjectColumn', 'http://home.netscape.com/NC-rdf#Subject', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('SubjectColumn', 'http://home.netscape.com/NC-rdf#Subject', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByFlagged()
|
||||
{
|
||||
SortThreadPane('FlaggedButtonColumn', 'http://home.netscape.com/NC-rdf#Flagged', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('FlaggedButtonColumn', 'http://home.netscape.com/NC-rdf#Flagged', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByPriority()
|
||||
{
|
||||
SortThreadPane('PriorityColumn', 'http://home.netscape.com/NC-rdf#Priority', 'http://home.netscape.com/NC-rdf#Date',true, null);
|
||||
SortThreadPane('PriorityColumn', 'http://home.netscape.com/NC-rdf#Priority', 'http://home.netscape.com/NC-rdf#Date',true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortBySize()
|
||||
{
|
||||
SortThreadPane('SizeColumn', 'http://home.netscape.com/NC-rdf#Size', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('SizeColumn', 'http://home.netscape.com/NC-rdf#Size', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByUnread()
|
||||
{
|
||||
SortThreadPane('UnreadColumn', 'http://home.netscape.com/NC-rdf#TotalUnreadMessages','http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('UnreadColumn', 'http://home.netscape.com/NC-rdf#TotalUnreadMessages','http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByOrderReceived()
|
||||
{
|
||||
SortThreadPane('OrderReceivedColumn', 'http://home.netscape.com/NC-rdf#OrderReceived','http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('OrderReceivedColumn', 'http://home.netscape.com/NC-rdf#OrderReceived','http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByRead()
|
||||
{
|
||||
SortThreadPane('UnreadButtonColumn', 'http://home.netscape.com/NC-rdf#IsUnread','http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('UnreadButtonColumn', 'http://home.netscape.com/NC-rdf#IsUnread','http://home.netscape.com/NC-rdf#Date', true, null,true);
|
||||
}
|
||||
|
||||
function MsgSortByTotal()
|
||||
{
|
||||
SortThreadPane('TotalColumn', 'http://home.netscape.com/NC-rdf#TotalMessages', 'http://home.netscape.com/NC-rdf#Date', true, null);
|
||||
SortThreadPane('TotalColumn', 'http://home.netscape.com/NC-rdf#TotalMessages', 'http://home.netscape.com/NC-rdf#Date', true, null, true);
|
||||
}
|
||||
|
||||
function MsgSortByThread()
|
||||
|
@ -209,7 +209,14 @@ function ThreadPaneSelectionChange()
|
|||
if(!collapsed)
|
||||
{
|
||||
LoadSelectionIntoMessagePane();
|
||||
|
||||
}
|
||||
|
||||
var tree = GetThreadTree();
|
||||
var selectedMessages = tree.selectedItems;
|
||||
var numSelected = selectedMessages.length;
|
||||
if(numSelected == 0 | numSelected == 1)
|
||||
document.commandDispatcher.updateCommands('threadTree-select');
|
||||
}
|
||||
|
||||
function GetThreadTree()
|
||||
|
|
|
@ -34,7 +34,10 @@ Rights Reserved.
|
|||
|
||||
|
||||
<tree datasources="rdf:null" id="threadTree"
|
||||
onselect="top.ThreadPaneSelectionChange(); document.commandDispatcher.updateCommands('tree-select');"
|
||||
onclick="ThreadPaneOnClick(event);"
|
||||
ondraggesture="return BeginDragThreadTree(event);"
|
||||
ondragdrop="return DropOnThreadTree(event);"
|
||||
onselect="top.ThreadPaneSelectionChange();"
|
||||
onblur="goOnEvent(this,'blur')"
|
||||
containment="http://home.netscape.com/NC-rdf#MessageChild"
|
||||
allownegativeassertions="false"
|
||||
|
@ -43,10 +46,7 @@ Rights Reserved.
|
|||
|
||||
<template>
|
||||
<rule>
|
||||
<treechildren flex="1"
|
||||
onclick="ThreadPaneOnClick(event);"
|
||||
ondraggesture="return BeginDragThreadTree(event);"
|
||||
ondragdrop="return DropOnThreadTree(event);" >
|
||||
<treechildren flex="1">
|
||||
<treeitem uri="..." id="threadTreeTemplateTreeItem">
|
||||
|
||||
<treerow class="tree-thread-row" IsUnread="rdf:http://home.netscape.com/NC-rdf#IsUnread" >
|
||||
|
|
|
@ -42,6 +42,7 @@ Rights Reserved.
|
|||
<!ENTITY saveAsTemplateCmd.accesskey "t">
|
||||
<!ENTITY getNewMsgCmd.label "Get New Messages">
|
||||
<!ENTITY getNewMsgCmd.accesskey "g">
|
||||
<!ENTITY getNewMsgCmd.key "t">
|
||||
<!ENTITY sendUnsentCmd.label "Send Unsent Messages">
|
||||
<!ENTITY sendUnsentCmd.accesskey "d">
|
||||
<!ENTITY loadFirstDraft.label "Load First Draft Message">
|
||||
|
@ -219,8 +220,10 @@ Rights Reserved.
|
|||
<!ENTITY searchMenu.label "Search">
|
||||
<!ENTITY findCmd.label "Find...">
|
||||
<!ENTITY findCmd.accesskey "f">
|
||||
<!ENTITY findCmd.key "f">
|
||||
<!ENTITY findAgainCmd.label "Find Again">
|
||||
<!ENTITY findAgainCmd.accesskey "g">
|
||||
<!ENTITY findAgainCmd.key "g">
|
||||
<!-- LOCALIZATION NOTE (searchCurrentCmd.label) : Do not translate "<" and ">" in below line. -->
|
||||
<!ENTITY searchCurrentCmd.label ".Search in <current>">
|
||||
<!ENTITY searchCurrentCmd.accesskey "">
|
||||
|
@ -249,7 +252,7 @@ Rights Reserved.
|
|||
<!ENTITY nextMenu.accesskey "n">
|
||||
<!ENTITY nextMsgCmd.label "Message">
|
||||
<!ENTITY nextMsgCmd.accesskey "m">
|
||||
<!ENTITY nextMsgCmd.key "n">
|
||||
<!ENTITY nextMsgCmd.key "f">
|
||||
<!ENTITY nextUnreadMsgCmd.label "Unread Message">
|
||||
<!ENTITY nextUnreadMsgCmd.accesskey "u">
|
||||
<!ENTITY nextUnreadMsgCmd.key "n">
|
||||
|
@ -263,7 +266,7 @@ Rights Reserved.
|
|||
<!ENTITY prevMenu.accesskey "p">
|
||||
<!ENTITY prevMsgCmd.label "Message">
|
||||
<!ENTITY prevMsgCmd.accesskey "m">
|
||||
<!ENTITY previousMsgCmd.key "p">
|
||||
<!ENTITY previousMsgCmd.key "b">
|
||||
<!ENTITY previousMsgCmd.accesskey "m">
|
||||
<!ENTITY prevUnreadMsgCmd.label "Unread Message">
|
||||
<!ENTITY prevUnreadMsgCmd.accesskey "u">
|
||||
|
@ -316,6 +319,7 @@ Rights Reserved.
|
|||
<!ENTITY markMenu.accesskey "k">
|
||||
<!ENTITY markAsReadCmd.label "As Read">
|
||||
<!ENTITY markAsReadCmd.accesskey "r">
|
||||
<!ENTITY markAsReadCmd.key "m">
|
||||
<!ENTITY markAsUnreadCmd.label "As Unread">
|
||||
<!ENTITY markAsUnreadCmd.accesskey "u">
|
||||
<!ENTITY markThreadAsReadCmd.label "Thread As Read">
|
||||
|
@ -324,6 +328,7 @@ Rights Reserved.
|
|||
<!ENTITY markByDateCmd.accesskey "d">
|
||||
<!ENTITY markAllReadCmd.label "All Read">
|
||||
<!ENTITY markAllReadCmd.accesskey "a">
|
||||
<!ENTITY markAllReadCmd.key "a">
|
||||
<!ENTITY markFlaggedCmd.label "Flag">
|
||||
<!ENTITY markFlaggedCmd.accesskey "f">
|
||||
<!ENTITY openMessageWindowCmd.label "Open Message">
|
||||
|
|
|
@ -196,7 +196,7 @@ Rights Reserved.
|
|||
</popupset>
|
||||
<popupset id="aTooltipSet"/>
|
||||
|
||||
<keyset id="msgComposeKeySet">
|
||||
<keyset id="keyset">
|
||||
<!-- File Menu -->
|
||||
<key id="key_newNavigator"/>
|
||||
<key id="key_close"/>
|
||||
|
|
Загрузка…
Ссылка в новой задаче