Bug44668 Confusion as to how to edit/send a Draft message, sr=sspitzer+mscott

This commit is contained in:
chuang%netscape.com 2001-02-07 04:35:37 +00:00
Родитель ee693a2614
Коммит e8aaead9af
8 изменённых файлов: 63 добавлений и 6 удалений

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

@ -189,6 +189,7 @@ var DefaultController =
case "cmd_delete":
case "button_delete":
case "cmd_shiftDelete":
case "cmd_editDraft":
case "cmd_nextMsg":
case "cmd_nextUnreadMsg":
case "cmd_nextFlaggedMsg":
@ -257,6 +258,7 @@ var DefaultController =
case "cmd_markThreadAsRead":
case "cmd_markAsFlagged":
case "cmd_file":
case "cmd_editDraft":
var numSelected = GetNumSelectedMessages();
if ( command == "cmd_delete")
@ -281,6 +283,10 @@ var DefaultController =
}
}
}
else if (command == "cmd_editDraft")
{
return (gIsEditableMsgFolder && numSelected > 0);
}
return ( numSelected > 0 );
case "cmd_nextMsg":
case "cmd_nextUnreadMsg":
@ -379,6 +385,11 @@ var DefaultController =
case "button_delete":
MsgDeleteMessage(false, true);
break;
case "cmd_editDraft":
var threadTree = GetThreadTree();
if (threadTree && threadTree.selectedItems)
MsgComposeDraftMessage();
break;
case "cmd_nextUnreadMsg":
MsgNextUnreadMessage();
break;
@ -529,6 +540,7 @@ function CommandUpdate_Mail()
{
goUpdateCommand('button_delete');
goUpdateCommand('cmd_delete');
goUpdateCommand('cmd_editDraft');
goUpdateCommand('cmd_nextMsg');
goUpdateCommand('cmd_nextUnreadMsg');
goUpdateCommand('cmd_nextUnreadThread');

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

@ -72,6 +72,7 @@ Rights Reserved.
valueNewsMessage="&cancelNewsMsgCmd.label;"
valueMessages="&deleteMsgsCmd.label;"/>
<broadcaster id="button_delete"/>
<broadcaster id="cmd_editDraft" oncommand="goDoCommand('cmd_editDraft')" disabled="true"/>
<broadcaster id="cmd_selectAll"/>
<broadcaster id="cmd_preferences"/>
@ -712,6 +713,9 @@ Rights Reserved.
<menuitem id="menu_copy"/>
<menuitem id="menu_paste"/>
<menuitem id="menu_delete"/>
<menuitem value="&editDraftCmd.label;"
accesskey="&editDraftCmd.accesskey;"
observes="cmd_editDraft"/>
<menuseparator/>
<menuitem id="menu_selectAll"/>
<menuseparator/>

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

@ -95,6 +95,9 @@ function OnLoadMsgHeaderPane()
msgPaneData.AttachmentPopup = document.getElementById("attachmentPopup");
msgPaneData.AttachmentButton = document.getElementById("attachmentButton");
// Edit Draft button
msgPaneData.EditMessageButton = document.getElementById("editMessageButton");
// Second toolbar
msgPaneData.ToBox = document.getElementById("ToBox");
@ -147,6 +150,7 @@ var messageHeaderSink = {
ClearCurrentHeaders();
gGeneratedViewAllHeaderInfo = false;
ClearAttachmentMenu();
ClearEditMessageButton();
},
onEndHeaders: function()
@ -175,6 +179,8 @@ var messageHeaderSink = {
ShowMessageHeaderPane();
UpdateMessageHeaders();
if (gIsEditableMsgFolder)
ShowEditMessageButton();
},
handleHeader: function(headerName, headerValue, dontCollectAddress)
@ -338,6 +344,20 @@ function ClearAttachmentMenu()
attachmentMessageUriArray.length = 0;
}
function ShowEditMessageButton()
{
var editBox = document.getElementById("editMessageBox");
if (editBox)
editBox.removeAttribute("collapsed");
}
function ClearEditMessageButton()
{
var editBox = document.getElementById("editMessageBox");
if (editBox)
editBox.setAttribute("collapsed", "true");
}
// Assumes that all the child nodes of the parent div need removed..leaving
// an empty parent div...This is used to clear the To/From/cc lines where
// we had to insert email addresses one at a time into their parent divs...

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

@ -69,6 +69,12 @@ Rights Reserved.
</box>
</box>
<box id="editMessageBox" class="header-part1" orient="vertical" collapsed="true">
<spring class="buttonSpacer"/>
<button id="editMessageButton" value="&editMessage.label;" orient="right" onclick="MsgComposeDraftMessage()"/>
<spring class="buttonSpacer"/>
</box>
<box id="attachmentBox" class="header-part1" orient="horizontal" collapsed="true">
<spring class="buttonSpacer"/>
<vbox>

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

@ -51,6 +51,10 @@ var gHaveLoadedMessage;
var gBatching = false;
// for checking if the folder loaded is Draft or Unsent which msg is editable
var gIsEditableMsgFolder = false;
// the folderListener object
var folderListener = {
OnItemAdded: function(parentItem, item, view) {},
@ -112,6 +116,8 @@ var folderListener = {
{
msgFolder.endFolderLoading();
RerootFolder(uri, msgFolder, gCurrentLoadingFolderIsThreaded, gCurrentLoadingFolderSortID, gCurrentLoadingFolderSortDirection, gCurrentLoadingFolderViewType);
gIsEditableMsgFolder = IsSpecialFolder(msgFolder, [ "Drafts" ]);
gCurrentLoadingFolderIsThreaded = false;
gCurrentLoadingFolderSortID = "";
gCurrentLoadingFolderSortDirection = null;

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

@ -72,6 +72,15 @@ function ThreadPaneOnClick(event)
}
}
function MsgComposeDraftMessage()
{
var loadedFolder = GetLoadedMsgFolder();
var messageArray = GetSelectedMessages();
ComposeMessage(msgComposeType.Draft, msgComposeFormat.Default, loadedFolder, messageArray);
}
function ThreadPaneDoubleClick()
{
var loadedFolder;
@ -80,10 +89,7 @@ function ThreadPaneDoubleClick()
if(IsSpecialFolderSelected("Drafts"))
{
loadedFolder = GetLoadedMsgFolder();
messageArray = GetSelectedMessages();
ComposeMessage(msgComposeType.Draft, msgComposeFormat.Default, loadedFolder, messageArray);
MsgComposeDraftMessage();
}
else if(IsSpecialFolderSelected("Templates"))
{

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

@ -108,6 +108,8 @@ Rights Reserved.
<!ENTITY undoDefaultCmd.accesskey "u">
<!ENTITY redoDefaultCmd.label "Redo">
<!ENTITY redoDefaultCmd.accesskey "r">
<!ENTITY editDraftCmd.label "Edit Draft">
<!ENTITY editDraftCmd.accesskey "f">
<!-- View Menu -->
<!-- LOCALIZATION NOTE (showSidebarMenu) : Do not translate line. -->

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

@ -32,3 +32,4 @@ Rights Reserved.
<!ENTITY userAgentField.label "User-Agent: ">
<!ENTITY saveAll.label "Save All..">
<!ENTITY editMessage.label "Edit Draft...">