Fix bug 44915, r=putterman a=brendan, adds Attachments to Messenger's File menu.

This commit is contained in:
timeless%mac.com 2000-09-15 06:17:48 +00:00
Родитель 317a99cdd1
Коммит b28aee4dad
3 изменённых файлов: 365 добавлений и 329 удалений

Просмотреть файл

@ -16,255 +16,287 @@
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998-1999 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributors: timeless
*/
function file_init()
{
file_attachments();
/* file_attachments() can return false to indicate a load failure,
but if you return false to oncreate then
the popup menu will not display which is not a good thing.
*/
}
function file_attachments()
{
var apChild=document.getElementById('attachmentPopup').cloneNode(true);
if (!apChild)
return false;
apChild.removeAttribute('popupanchor');
apChild.removeAttribute('popupalign');
var amParent=document.getElementById('fileAttachmentMenu');
if (!amParent)
return false;
if (apChild.childNodes.length){
if ( amParent.childNodes.length )
amParent.removeChild(amParent.childNodes[0]);
amParent.appendChild(apChild);
amParent.removeAttribute('hidden');
}
else
amParent.setAttribute('hidden',true);
return true;
}
function view_init()
{
var message_menuitem=document.getElementById('menu_showMessage');
var message_menuitem=document.getElementById('menu_showMessage');
if (message_menuitem)
{
var message_menuitem_hidden = message_menuitem.getAttribute("hidden");
if(message_menuitem_hidden != "true"){
message_menuitem.setAttribute('checked',!IsThreadAndMessagePaneSplitterCollapsed());
}
}
var threadColumn = document.getElementById('ThreadColumnHeader');
var thread_menuitem=document.getElementById('menu_showThreads');
if (threadColumn && thread_menuitem){
thread_menuitem.setAttribute('checked',threadColumn.getAttribute('currentView')=='threaded');
}
if (message_menuitem)
{
var message_menuitem_hidden = message_menuitem.getAttribute("hidden");
if(message_menuitem_hidden != "true"){
message_menuitem.setAttribute('checked',!IsThreadAndMessagePaneSplitterCollapsed());
}
}
var threadColumn = document.getElementById('ThreadColumnHeader');
var thread_menuitem=document.getElementById('menu_showThreads');
if (threadColumn && thread_menuitem){
thread_menuitem.setAttribute('checked',threadColumn.getAttribute('currentView')=='threaded');
}
}
function InitViewMessagesMenu()
{
var allMenuItem = document.getElementById("viewAllMessagesMenuItem");
var hidden = allMenuItem.getAttribute("hidden") == "true";
if(allMenuItem && !hidden)
allMenuItem.setAttribute("checked", messageView.viewType == viewShowAll);
var allMenuItem = document.getElementById("viewAllMessagesMenuItem");
var hidden = allMenuItem.getAttribute("hidden") == "true";
if(allMenuItem && !hidden)
allMenuItem.setAttribute("checked", messageView.viewType == viewShowAll);
var unreadMenuItem = document.getElementById("viewUnreadMessagesMenuItem");
hidden = unreadMenuItem.getAttribute("hidden") == "true";
if(unreadMenuItem && !hidden)
unreadMenuItem.setAttribute("checked", messageView.viewType == viewShowUnread);
var unreadMenuItem = document.getElementById("viewUnreadMessagesMenuItem");
hidden = unreadMenuItem.getAttribute("hidden") == "true";
if(unreadMenuItem && !hidden)
unreadMenuItem.setAttribute("checked", messageView.viewType == viewShowUnread);
}
function InitMessageMenu()
{
var aMessage = GetSelectedMessage(0);
var isNews = false;
if(aMessage)
{
isNews = GetMessageType(aMessage) == "news";
}
var aMessage = GetSelectedMessage(0);
var isNews = false;
if(aMessage)
{
isNews = GetMessageType(aMessage) == "news";
}
//We show reply to Newsgroups only for news messages.
var replyNewsgroupMenuItem = document.getElementById("replyNewsgroupMainMenu");
if(replyNewsgroupMenuItem)
replyNewsgroupMenuItem.setAttribute("hidden", isNews ? "" : "true");
//We show reply to Newsgroups only for news messages.
var replyNewsgroupMenuItem = document.getElementById("replyNewsgroupMainMenu");
if(replyNewsgroupMenuItem)
replyNewsgroupMenuItem.setAttribute("hidden", isNews ? "" : "true");
//For mail messages we say reply. For news we say ReplyToSender.
var replyMenuItem = document.getElementById("replyMainMenu");
if(replyMenuItem)
{
replyMenuItem.setAttribute("hidden", !isNews ? "" : "true");
}
//For mail messages we say reply. For news we say ReplyToSender.
var replyMenuItem = document.getElementById("replyMainMenu");
if(replyMenuItem)
{
replyMenuItem.setAttribute("hidden", !isNews ? "" : "true");
}
var replySenderMenuItem = document.getElementById("replySenderMainMenu");
if(replySenderMenuItem)
{
replySenderMenuItem.setAttribute("hidden", isNews ? "" : "true");
}
var replySenderMenuItem = document.getElementById("replySenderMainMenu");
if(replySenderMenuItem)
{
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);
//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);
var copyMenu = document.getElementById("copyMenu");
if(copyMenu)
copyMenu.setAttribute("disabled", !aMessage);
}
function GetMessageType(message)
{
var compositeDS = GetCompositeDataSource("MessageProperty");
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#MessageType');
var result = compositeDS.GetTarget(message, property, true);
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
return result.Value;
var compositeDS = GetCompositeDataSource("MessageProperty");
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#MessageType');
var result = compositeDS.GetTarget(message, property, true);
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
return result.Value;
}
function InitMessageMarkMenu()
{
InitMarkReadMenuItem();
InitMarkFlaggedMenuItem();
InitMarkReadMenuItem();
InitMarkFlaggedMenuItem();
}
function InitMarkReadMenuItem()
{
areMessagesRead = SelectedMessagesAreRead();
areMessagesRead = SelectedMessagesAreRead();
var markReadMenuItem = document.getElementById("markReadMenuItem");
if(markReadMenuItem)
markReadMenuItem.setAttribute("checked", areMessagesRead);
var markReadMenuItem = document.getElementById("markReadMenuItem");
if(markReadMenuItem)
markReadMenuItem.setAttribute("checked", areMessagesRead);
}
function SelectedMessagesAreRead()
{
var aMessage = GetSelectedMessage(0);
var aMessage = GetSelectedMessage(0);
var compositeDS = GetCompositeDataSource("MarkMessageRead");
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#IsUnread');
var compositeDS = GetCompositeDataSource("MarkMessageRead");
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#IsUnread');
var areMessagesRead =false;
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"
}
if(!aMessage)
areMessagesRead = false;
else
{
var result = compositeDS.GetTarget(aMessage, property, true);
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
areMessagesRead = result.Value != "true"
}
return areMessagesRead;
return areMessagesRead;
}
function InitMarkFlaggedMenuItem()
{
areMessagesFlagged = SelectedMessagesAreFlagged();
areMessagesFlagged = SelectedMessagesAreFlagged();
var markFlaggedMenuItem = document.getElementById("markFlaggedMenuItem");
if(markFlaggedMenuItem)
markFlaggedMenuItem.setAttribute("checked", areMessagesFlagged);
var markFlaggedMenuItem = document.getElementById("markFlaggedMenuItem");
if(markFlaggedMenuItem)
markFlaggedMenuItem.setAttribute("checked", areMessagesFlagged);
}
function SelectedMessagesAreFlagged()
{
var aMessage = GetSelectedMessage(0);
var aMessage = GetSelectedMessage(0);
var compositeDS = GetCompositeDataSource("MarkMessageFlagged");
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#Flagged');
var compositeDS = GetCompositeDataSource("MarkMessageFlagged");
var property = RDF.GetResource('http://home.netscape.com/NC-rdf#Flagged');
var areMessagesFlagged = false;
var areMessagesFlagged = false;
if(!aMessage)
areMessagesFlagged = false;
else
{
var result = compositeDS.GetTarget(aMessage, property, true);
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
areMessagesFlagged = (result.Value == "flagged");
}
return areMessagesFlagged;
if(!aMessage)
areMessagesFlagged = false;
else
{
var result = compositeDS.GetTarget(aMessage, property, true);
result = result.QueryInterface(Components.interfaces.nsIRDFLiteral);
areMessagesFlagged = (result.Value == "flagged");
}
return areMessagesFlagged;
}
function GetFirstSelectedMsgFolder()
{
var result = null;
var selectedFolders = GetSelectedMsgFolders();
if (selectedFolders.length > 0) {
result = selectedFolders[0];
}
var result = null;
var selectedFolders = GetSelectedMsgFolders();
if (selectedFolders.length > 0) {
result = selectedFolders[0];
}
return result;
return result;
}
function MsgGetMessage()
{
var folders = GetSelectedMsgFolders();
var compositeDataSource = GetCompositeDataSource("GetNewMessages");
GetNewMessages(folders, compositeDataSource);
var folders = GetSelectedMsgFolders();
var compositeDataSource = GetCompositeDataSource("GetNewMessages");
GetNewMessages(folders, compositeDataSource);
}
function MsgGetNextNMessages()
{
var folder = GetFirstSelectedMsgFolder();
if(folder)
{
GetNextNMessages(folder)
}
var folder = GetFirstSelectedMsgFolder();
if(folder)
{
GetNextNMessages(folder)
}
}
function MsgDeleteMessage(reallyDelete, fromToolbar)
{
if(reallyDelete)
dump("reallyDelete\n");
var srcFolder = GetLoadedMsgFolder();
// if from the toolbar, return right away if this is a news message
// only allow cancel from the menu: "Edit | Cancel / Delete Message"
if (fromToolbar)
{
var folderResource = srcFolder.QueryInterface(Components.interfaces.nsIRDFResource);
var uri = folderResource.Value;
//dump("uri[0:6]=" + uri.substring(0,6) + "\n");
if (uri.substring(0,6) == "news:/")
{
//dump("delete ignored!\n");
return;
}
}
dump("tree is valid\n");
//get the selected elements
if(reallyDelete)
dump("reallyDelete\n");
var srcFolder = GetLoadedMsgFolder();
// if from the toolbar, return right away if this is a news message
// only allow cancel from the menu: "Edit | Cancel / Delete Message"
if (fromToolbar)
{
var folderResource = srcFolder.QueryInterface(Components.interfaces.nsIRDFResource);
var uri = folderResource.Value;
//dump("uri[0:6]=" + uri.substring(0,6) + "\n");
if (uri.substring(0,6) == "news:/")
{
//dump("delete ignored!\n");
return;
}
}
dump("tree is valid\n");
//get the selected elements
var compositeDataSource = GetCompositeDataSource("DeleteMessages");
var messages = GetSelectedMessages();
var compositeDataSource = GetCompositeDataSource("DeleteMessages");
var messages = GetSelectedMessages();
SetNextMessageAfterDelete(null, true);
DeleteMessages(compositeDataSource, srcFolder, messages, reallyDelete);
SetNextMessageAfterDelete(null, true);
DeleteMessages(compositeDataSource, srcFolder, messages, reallyDelete);
}
function MsgCopyMessage(destFolder)
{
// Get the id for the folder we're copying into
// Get the id for the folder we're copying into
destUri = destFolder.getAttribute('id');
destResource = RDF.GetResource(destUri);
destMsgFolder = destResource.QueryInterface(Components.interfaces.nsIMsgFolder);
destResource = RDF.GetResource(destUri);
destMsgFolder = destResource.QueryInterface(Components.interfaces.nsIMsgFolder);
var srcFolder = GetLoadedMsgFolder();
if(srcFolder)
{
var compositeDataSource = GetCompositeDataSource("Copy");
var messages = GetSelectedMessages();
var srcFolder = GetLoadedMsgFolder();
if(srcFolder)
{
var compositeDataSource = GetCompositeDataSource("Copy");
var messages = GetSelectedMessages();
CopyMessages(compositeDataSource, srcFolder, destMsgFolder, messages, false);
}
CopyMessages(compositeDataSource, srcFolder, destMsgFolder, messages, false);
}
}
function MsgMoveMessage(destFolder)
{
// Get the id for the folder we're copying into
// Get the id for the folder we're copying into
destUri = destFolder.getAttribute('id');
destResource = RDF.GetResource(destUri);
destMsgFolder = destResource.QueryInterface(Components.interfaces.nsIMsgFolder);
var srcFolder = GetLoadedMsgFolder();
if(srcFolder)
{
var compositeDataSource = GetCompositeDataSource("Move");
var messages = GetSelectedMessages();
destResource = RDF.GetResource(destUri);
destMsgFolder = destResource.QueryInterface(Components.interfaces.nsIMsgFolder);
var srcFolder = GetLoadedMsgFolder();
if(srcFolder)
{
var compositeDataSource = GetCompositeDataSource("Move");
var messages = GetSelectedMessages();
var srcResource = srcFolder.QueryInterface(Components.interfaces.nsIRDFResource);
var srcUri = srcResource.Value;
if (srcUri.substring(0,6) == "news:/")
{
CopyMessages(compositeDataSource, srcFolder, destMsgFolder, messages, false);
}
else
{
SetNextMessageAfterDelete(null, true);
var srcResource = srcFolder.QueryInterface(Components.interfaces.nsIRDFResource);
var srcUri = srcResource.Value;
if (srcUri.substring(0,6) == "news:/")
{
CopyMessages(compositeDataSource, srcFolder, destMsgFolder, messages, false);
}
else
{
SetNextMessageAfterDelete(null, true);
CopyMessages(compositeDataSource, srcFolder, destMsgFolder, messages, true);
}
}
CopyMessages(compositeDataSource, srcFolder, destMsgFolder, messages, true);
}
}
}
function MsgNewMessage(event)
@ -285,9 +317,9 @@ function MsgReplyMessage(event)
var server = loadedFolder.server;
if(server && server.type == "nntp")
MsgReplyGroup(event);
MsgReplyGroup(event);
else
MsgReplySender(event);
MsgReplySender(event);
}
@ -332,13 +364,13 @@ function MsgForwardMessage(event)
dump("\nMsgForwardMessage from XUL\n");
var forwardType = 0;
try {
forwardType = pref.GetIntPref("mail.forward_message_mode");
forwardType = pref.GetIntPref("mail.forward_message_mode");
} catch (e) {dump ("failed to retrieve pref mail.forward_message_mode");}
if (forwardType == 0)
MsgForwardAsAttachment(event);
MsgForwardAsAttachment(event);
else
MsgForwardAsInline(event);
MsgForwardAsInline(event);
}
function MsgForwardAsAttachment(event)
@ -370,8 +402,8 @@ function MsgForwardAsInline(event)
function MsgEditMessageAsNew()
{
var loadedFolder = GetLoadedMsgFolder();
var messageArray = GetSelectedMessages();
var loadedFolder = GetLoadedMsgFolder();
var messageArray = GetSelectedMessages();
ComposeMessage(msgComposeType.Template, msgComposeFormat.Default, loadedFolder, messageArray);
}
@ -382,8 +414,8 @@ function MsgHome(url)
function MsgNewFolder()
{
var windowTitle = Bundle.GetStringFromName("newFolderDialogTitle");
var preselectedFolder = GetFirstSelectedMsgFolder();
var windowTitle = Bundle.GetStringFromName("newFolderDialogTitle");
var preselectedFolder = GetFirstSelectedMsgFolder();
var dualUseFolders = true;
var server = null;
if (preselectedFolder)
@ -401,149 +433,149 @@ function MsgNewFolder()
dump ("Exception: dualUseFolders = true\n");
}
}
CreateNewSubfolder("chrome://messenger/content/newFolderNameDialog.xul",windowTitle, preselectedFolder, dualUseFolders);
CreateNewSubfolder("chrome://messenger/content/newFolderNameDialog.xul",windowTitle, preselectedFolder, dualUseFolders);
}
function MsgSubscribe()
{
var windowTitle = Bundle.GetStringFromName("subscribeDialogTitle");
var preselectedFolder = GetFirstSelectedMsgFolder();
Subscribe(windowTitle, preselectedFolder);
var windowTitle = Bundle.GetStringFromName("subscribeDialogTitle");
var preselectedFolder = GetFirstSelectedMsgFolder();
Subscribe(windowTitle, preselectedFolder);
}
function MsgSaveAsFile()
{
dump("\MsgSaveAsFile from XUL\n");
var messages = GetSelectedMessages();
if (messages && messages.length == 1)
{
SaveAsFile(messages[0]);
}
dump("\MsgSaveAsFile from XUL\n");
var messages = GetSelectedMessages();
if (messages && messages.length == 1)
{
SaveAsFile(messages[0]);
}
}
function MsgSaveAsTemplate()
{
dump("\MsgSaveAsTemplate from XUL\n");
var folder = GetLoadedMsgFolder();
var messages = GetSelectedMessages();
if (messages && messages.length == 1)
{
SaveAsTemplate(messages[0], folder);
}
dump("\MsgSaveAsTemplate from XUL\n");
var folder = GetLoadedMsgFolder();
var messages = GetSelectedMessages();
if (messages && messages.length == 1)
{
SaveAsTemplate(messages[0], folder);
}
}
function MsgOpenNewWindowForFolder(folderUri)
{
if(!folderUri)
{
var folder = GetLoadedMsgFolder();
var folderResource = folder.QueryInterface(Components.interfaces.nsIRDFResource);
folderUri = folderResource.Value;
}
if(!folderUri)
{
var folder = GetLoadedMsgFolder();
var folderResource = folder.QueryInterface(Components.interfaces.nsIRDFResource);
folderUri = folderResource.Value;
}
if(folderUri)
{
var layoutType = pref.GetIntPref("mail.pane_config");
if(layoutType == 0)
window.openDialog( "chrome://messenger/content/messenger.xul", "_blank", "chrome,all,dialog=no", folderUri );
else
window.openDialog("chrome://messenger/content/mail3PaneWindowVertLayout.xul", "_blank", "chrome,all,dialog=no", folderUri );
}
if(folderUri)
{
var layoutType = pref.GetIntPref("mail.pane_config");
if(layoutType == 0)
window.openDialog( "chrome://messenger/content/messenger.xul", "_blank", "chrome,all,dialog=no", folderUri );
else
window.openDialog("chrome://messenger/content/mail3PaneWindowVertLayout.xul", "_blank", "chrome,all,dialog=no", folderUri );
}
}
function MsgOpenNewWindowForMessage(messageUri, folderUri)
{
var message;
var message;
if(!messageUri)
{
message = GetLoadedMessage();
var messageResource = message.QueryInterface(Components.interfaces.nsIRDFResource);
messageUri = messageResource.Value;
}
if(!messageUri)
{
message = GetLoadedMessage();
var messageResource = message.QueryInterface(Components.interfaces.nsIRDFResource);
messageUri = messageResource.Value;
}
if(!folderUri)
{
if(!folderUri)
{
message = RDF.GetResource(messageUri);
message = message.QueryInterface(Components.interfaces.nsIMessage);
var folder = message.msgFolder;
var folderResource = folder.QueryInterface(Components.interfaces.nsIRDFResource);
folderUri = folderResource.Value;
}
var folderResource = folder.QueryInterface(Components.interfaces.nsIRDFResource);
folderUri = folderResource.Value;
}
if(messageUri && folderUri)
{
window.openDialog( "chrome://messenger/content/messageWindow.xul", "_blank", "chrome,all,dialog=no", messageUri, folderUri );
}
if(messageUri && folderUri)
{
window.openDialog( "chrome://messenger/content/messageWindow.xul", "_blank", "chrome,all,dialog=no", messageUri, folderUri );
}
}
function CloseMailWindow()
{
dump("\nClose from XUL\nDo something...\n");
window.close();
dump("\nClose from XUL\nDo something...\n");
window.close();
}
function MsgMarkMsgAsRead(markRead)
{
if(markRead == null)
{
markRead= !SelectedMessagesAreRead();
}
var selectedMessages = GetSelectedMessages();
var compositeDataSource = GetCompositeDataSource("MarkMessageRead");
if(markRead == null)
{
markRead= !SelectedMessagesAreRead();
}
var selectedMessages = GetSelectedMessages();
var compositeDataSource = GetCompositeDataSource("MarkMessageRead");
MarkMessagesRead(compositeDataSource, selectedMessages, markRead);
MarkMessagesRead(compositeDataSource, selectedMessages, markRead);
}
function MsgMarkAsFlagged(markFlagged)
{
if(markFlagged == null)
{
markFlagged= !SelectedMessagesAreFlagged();
}
if(markFlagged == null)
{
markFlagged= !SelectedMessagesAreFlagged();
}
var selectedMessages = GetSelectedMessages();
var compositeDataSource = GetCompositeDataSource("MarkMessageFlagged");
var selectedMessages = GetSelectedMessages();
var compositeDataSource = GetCompositeDataSource("MarkMessageFlagged");
MarkMessagesFlagged(compositeDataSource, selectedMessages, markFlagged);
MarkMessagesFlagged(compositeDataSource, selectedMessages, markFlagged);
}
function MsgMarkAllRead()
{
var compositeDataSource = GetCompositeDataSource("MarkAllMessagesRead");
var folder = GetLoadedMsgFolder();
var compositeDataSource = GetCompositeDataSource("MarkAllMessagesRead");
var folder = GetLoadedMsgFolder();
if(folder)
MarkAllMessagesRead(compositeDataSource, folder);
if(folder)
MarkAllMessagesRead(compositeDataSource, folder);
}
function MsgMarkThreadAsRead()
{
var messageList = GetSelectedMessages();
if(messageList.length == 1)
{
var message = messageList[0];
var compositeDataSource = GetCompositeDataSource("MarkThreadAsRead");
var messageList = GetSelectedMessages();
if(messageList.length == 1)
{
var message = messageList[0];
var compositeDataSource = GetCompositeDataSource("MarkThreadAsRead");
MarkThreadAsRead(compositeDataSource, message);
}
MarkThreadAsRead(compositeDataSource, message);
}
}
function MsgViewPageSource()
{
dump("MsgViewPageSource(); \n ");
var messages = GetSelectedMessages();
ViewPageSource(messages);
dump("MsgViewPageSource(); \n ");
var messages = GetSelectedMessages();
ViewPageSource(messages);
}
function MsgFind() {
@ -554,7 +586,7 @@ function MsgFindAgain() {
}
function MsgSearchMessages() {
var preselectedFolder = GetFirstSelectedMsgFolder();
var preselectedFolder = GetFirstSelectedMsgFolder();
window.openDialog("chrome://messenger/content/SearchDialog.xul", "SearchMail", "chrome,resizable", { folder: preselectedFolder });
}
@ -564,115 +596,115 @@ function MsgFilters() {
function MsgViewAllHeaders()
{
pref.SetIntPref("mail.show_headers",2);
MsgReload();
return true;
pref.SetIntPref("mail.show_headers",2);
MsgReload();
return true;
}
function MsgViewNormalHeaders()
{
pref.SetIntPref("mail.show_headers",1);
MsgReload();
return true;
pref.SetIntPref("mail.show_headers",1);
MsgReload();
return true;
}
function MsgViewBriefHeaders()
{
pref.SetIntPref("mail.show_headers",0);
MsgReload();
return true;
pref.SetIntPref("mail.show_headers",0);
MsgReload();
return true;
}
function MsgReload()
{
ReloadMessage();
ReloadMessage();
}
function MsgStop()
{
StopUrls();
StopUrls();
}
function MsgSendUnsentMsg()
{
var folder = GetFirstSelectedMsgFolder();
if(folder)
{
SendUnsentMessages(folder);
}
var folder = GetFirstSelectedMsgFolder();
if(folder)
{
SendUnsentMessages(folder);
}
}
function PrintEnginePrint()
{
var messageList = GetSelectedMessages();
numMessages = messageList.length;
var messageList = GetSelectedMessages();
numMessages = messageList.length;
if (numMessages == 0)
{
dump("PrintEnginePrint(): No messages selected.\n");
return false;
}
if (numMessages == 0)
{
dump("PrintEnginePrint(): No messages selected.\n");
return false;
}
var selectionArray = new Array(numMessages);
var selectionArray = new Array(numMessages);
for(var i = 0; i < numMessages; i++)
{
var messageResource = messageList[i].QueryInterface(Components.interfaces.nsIRDFResource);
selectionArray[i] = messageResource.Value;
}
for(var i = 0; i < numMessages; i++)
{
var messageResource = messageList[i].QueryInterface(Components.interfaces.nsIRDFResource);
selectionArray[i] = messageResource.Value;
}
printEngineWindow = window.openDialog("chrome://messenger/content/msgPrintEngine.xul",
"",
"chrome,dialog=no,all",
numMessages, selectionArray, statusFeedback);
return true;
printEngineWindow = window.openDialog("chrome://messenger/content/msgPrintEngine.xul",
"",
"chrome,dialog=no,all",
numMessages, selectionArray, statusFeedback);
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;
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;
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 IsGetNextNMessagesEnabled()
{
var selectedFolders = GetSelectedMsgFolders();
var selectedFolders = GetSelectedMsgFolders();
var numFolders = selectedFolders.length;
if(numFolders !=1)
return false;
@ -684,29 +716,29 @@ function IsGetNextNMessagesEnabled()
var server = folder.server;
var serverType = server.type;
var menuItem = document.getElementById("menu_getnextnmsg");
var menuItem = document.getElementById("menu_getnextnmsg");
if((serverType == "nntp")) {
var newsServer = server.QueryInterface(Components.interfaces.nsINntpIncomingServer);
var menuValue = Bundle.formatStringFromName("getNextNMessages",
var newsServer = server.QueryInterface(Components.interfaces.nsINntpIncomingServer);
var menuValue = Bundle.formatStringFromName("getNextNMessages",
[ newsServer.maxArticles], 1);
menuItem.setAttribute("value",menuValue);
menuItem.setAttribute("hidden","false");
menuItem.setAttribute("value",menuValue);
menuItem.setAttribute("hidden","false");
return true;
}
}
else {
menuItem.setAttribute("hidden","true");
return false;
}
menuItem.setAttribute("hidden","true");
return false;
}
}
function IsEmptyTrashEnabled()
{
return IsMailFolderSelected();
return IsMailFolderSelected();
}
function IsCompactFolderEnabled()
{
return IsMailFolderSelected();
return IsMailFolderSelected();
}
function MsgMarkByDate() {}

Просмотреть файл

@ -535,7 +535,7 @@ Rights Reserved.
<menubar id="mailMenubar">
<menu id="menu_File">
<menupopup id="menu_FilePopup">
<menupopup id="menu_FilePopup" oncreate="file_init();">
<menuitem value="&newMsgCmd.label;"
accesskey="&newMsgCmd.accesskey;"
key="key_newMessage"
@ -557,6 +557,7 @@ Rights Reserved.
observes="cmd_openMessage"
accesskey="&openMessageWindowCmd.accesskey;"
key="key_openMessage"/>
<menu id="fileAttachmentMenu" value="&openAttachmentCmd.label;"/>
<menuseparator/>
<menuitem id="menu_close"/>
<menu value="&saveAsMenu.label;" accesskey="&saveAsMenu.accesskey;">

Просмотреть файл

@ -31,7 +31,10 @@ Rights Reserved.
<!ENTITY newFolderCmd.accesskey "f">
<!ENTITY newAccountCmd.label "Account...">
<!ENTITY newAccountCmd.accesskey "a">
<!ENTITY openAttachmentCmd.label ".Open Attachment">
<!ENTITY openMessageCmd.label "Open Message">
<!ENTITY openMessageCmd.accesskey "o">
<!ENTITY openMessageCmd.key "o">
<!ENTITY openAttachmentCmd.label "Attachments">
<!ENTITY openAttachmentCmd.accesskey "a">
<!ENTITY saveAsMenu.label "Save As">
<!ENTITY saveAsMenu.accesskey "s">