зеркало из https://github.com/mozilla/pjs.git
Bug44668 Confusion as to how to edit/send a Draft message, sr=sspitzer+mscott
This commit is contained in:
Родитель
ee693a2614
Коммит
e8aaead9af
|
@ -80,7 +80,7 @@ var FolderPaneController =
|
|||
}
|
||||
else
|
||||
return false;
|
||||
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -137,7 +137,7 @@ var ThreadPaneController =
|
|||
case "cmd_copy":
|
||||
case "cmd_paste":
|
||||
return false;
|
||||
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
@ -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...">
|
||||
|
|
Загрузка…
Ссылка в новой задаче