mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-02-03 12:35:58 +00:00
Show "mark" toolbar button and hide the "delete" toolbar button when reading news. When reading mail, hide "mark" and show "delete". (#63635)
When reading news, turn "Edit | Delete Message" into "Edit | Cancel Message" (#8293) When reading news, turn "Edit | Delete Folder" into "Edit | Unsubscribe" (#64205) this checkin exposes a few UI bugs. logging then now. sr=bienvenu
This commit is contained in:
parent
a198b1c7fa
commit
86157e730f
@ -223,11 +223,11 @@ function ChangeFolderByURI(uri, isThreaded, sortID, sortDirection, viewType)
|
||||
|
||||
function isNewsURI(uri)
|
||||
{
|
||||
if (uri[0] != 'n') {
|
||||
if (!uri || uri[0] != 'n') {
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return (uri.substring(0,6) == "news:/");
|
||||
return ((uri.substring(0,6) == "news:/") || (uri.substring(0,14) == "news_message:/"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -64,6 +64,11 @@ var FolderPaneController =
|
||||
specialFolder = selectedFolder.getAttribute('SpecialFolder');
|
||||
isServer = selectedFolder.getAttribute('IsServer');
|
||||
serverType = selectedFolder.getAttribute('ServerType');
|
||||
|
||||
if (serverType == "nntp") {
|
||||
if ( command == "cmd_delete" )
|
||||
goSetMenuValue(command, 'valueNewsgroup');
|
||||
}
|
||||
}
|
||||
catch (ex) {
|
||||
//dump("specialFolder failure: " + ex + "\n");
|
||||
@ -255,10 +260,25 @@ var DefaultController =
|
||||
|
||||
if ( command == "cmd_delete")
|
||||
{
|
||||
if ( numSelected < 2 )
|
||||
goSetMenuValue(command, 'valueMessage');
|
||||
else
|
||||
goSetMenuValue(command, 'valueMessages');
|
||||
var uri = GetUriForFirstSelectedMessage();
|
||||
|
||||
if ( numSelected < 2 ) {
|
||||
if (isNewsURI(uri)) {
|
||||
goSetMenuValue(command, 'valueNewsMessage');
|
||||
}
|
||||
else {
|
||||
goSetMenuValue(command, 'valueMessage');
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (isNewsURI(uri)) {
|
||||
goSetMenuValue(command, 'valueNewsMessage');
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
goSetMenuValue(command, 'valueMessages');
|
||||
}
|
||||
}
|
||||
}
|
||||
return ( numSelected > 0 );
|
||||
case "cmd_nextMsg":
|
||||
@ -479,6 +499,17 @@ function MailAreaHasFocus()
|
||||
return true;
|
||||
}
|
||||
|
||||
function GetUriForFirstSelectedMessage()
|
||||
{
|
||||
try {
|
||||
var threadTree = GetThreadTree();
|
||||
return threadTree.selectedItems[0].getAttribute('id');
|
||||
}
|
||||
catch (ex) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
function GetNumSelectedMessages()
|
||||
{
|
||||
var threadTree = GetThreadTree();
|
||||
|
@ -117,7 +117,6 @@ function InitMessageMenu()
|
||||
var copyMenu = document.getElementById("copyMenu");
|
||||
if(copyMenu)
|
||||
copyMenu.setAttribute("disabled", !aMessage);
|
||||
|
||||
}
|
||||
|
||||
function GetMessageType(message)
|
||||
@ -131,23 +130,31 @@ function GetMessageType(message)
|
||||
|
||||
}
|
||||
|
||||
function InitMessageMarkMenu()
|
||||
function InitMessageMark()
|
||||
{
|
||||
InitMarkReadMenuItem();
|
||||
InitMarkFlaggedMenuItem();
|
||||
|
||||
InitMarkReadItem("markReadMenuItem");
|
||||
InitMarkReadItem("markReadToolbarItem");
|
||||
InitMarkFlaggedItem("markFlaggedMenuItem");
|
||||
InitMarkFlaggedItem("markFlaggedToolbarItem");
|
||||
}
|
||||
|
||||
function InitMarkReadMenuItem()
|
||||
function InitMarkReadItem(id)
|
||||
{
|
||||
|
||||
areMessagesRead = SelectedMessagesAreRead();
|
||||
|
||||
var markReadMenuItem = document.getElementById("markReadMenuItem");
|
||||
if(markReadMenuItem)
|
||||
markReadMenuItem.setAttribute("checked", areMessagesRead);
|
||||
var areMessagesRead = SelectedMessagesAreRead();
|
||||
var item = document.getElementById(id);
|
||||
if(item)
|
||||
item.setAttribute("checked", areMessagesRead);
|
||||
}
|
||||
|
||||
function InitMarkFlaggedItem(id)
|
||||
{
|
||||
var areMessagesFlagged = SelectedMessagesAreFlagged();
|
||||
var item = document.getElementById(id);
|
||||
if(item)
|
||||
item.setAttribute("checked", areMessagesFlagged);
|
||||
}
|
||||
|
||||
|
||||
function SelectedMessagesAreRead()
|
||||
{
|
||||
var aMessage = GetSelectedMessage(0);
|
||||
@ -169,15 +176,6 @@ function SelectedMessagesAreRead()
|
||||
return areMessagesRead;
|
||||
}
|
||||
|
||||
function InitMarkFlaggedMenuItem()
|
||||
{
|
||||
areMessagesFlagged = SelectedMessagesAreFlagged();
|
||||
|
||||
var markFlaggedMenuItem = document.getElementById("markFlaggedMenuItem");
|
||||
if(markFlaggedMenuItem)
|
||||
markFlaggedMenuItem.setAttribute("checked", areMessagesFlagged);
|
||||
}
|
||||
|
||||
function SelectedMessagesAreFlagged()
|
||||
{
|
||||
var aMessage = GetSelectedMessage(0);
|
||||
@ -804,6 +802,40 @@ function IsCompactFolderEnabled()
|
||||
return IsMailFolderSelected();
|
||||
}
|
||||
|
||||
var gDeleteButton = null;
|
||||
var gMarkButton = null;
|
||||
|
||||
function SetUpToolbarButtons(uri)
|
||||
{
|
||||
// dump("SetUpToolbarButtons("+uri+")\n");
|
||||
|
||||
// eventually, we might want to set up the toolbar differently for imap,
|
||||
// pop, and news. for now, just tweak it based on if it is news or not.
|
||||
var forNews = isNewsURI(uri);
|
||||
|
||||
if(!gMarkButton) gMarkButton = document.getElementById("button-mark");
|
||||
if(!gDeleteButton) gDeleteButton = document.getElementById("button-delete");
|
||||
|
||||
var buttonToHide = null;
|
||||
var buttonToShow = null;
|
||||
|
||||
if (forNews) {
|
||||
buttonToHide = gDeleteButton;
|
||||
buttonToShow = gMarkButton;
|
||||
}
|
||||
else {
|
||||
buttonToHide = gMarkButton;
|
||||
buttonToShow = gDeleteButton;
|
||||
}
|
||||
|
||||
if (buttonToHide) {
|
||||
buttonToHide.setAttribute('hidden',true);
|
||||
}
|
||||
if (buttonToShow) {
|
||||
buttonToShow.removeAttribute('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
function MsgMarkByDate() {}
|
||||
function MsgOpenAttachment() {}
|
||||
function MsgUpdateMsgCount() {}
|
||||
|
@ -64,7 +64,9 @@ Rights Reserved.
|
||||
<broadcaster id="cmd_paste"/>
|
||||
<broadcaster id="cmd_delete"
|
||||
valueFolder="&deleteFolderCmd.label;"
|
||||
valueNewsgroup="&unsubscribeNewsgroupCmd.label;"
|
||||
valueMessage="&deleteMsgCmd.label;"
|
||||
valueNewsMessage="&cancelNewsMsgCmd.label;"
|
||||
valueMessages="&deleteMsgsCmd.label;"/>
|
||||
<broadcaster id="button_delete"/>
|
||||
<broadcaster id="cmd_selectAll"/>
|
||||
@ -983,7 +985,7 @@ Rights Reserved.
|
||||
</template>
|
||||
</menu>
|
||||
<menuseparator/>
|
||||
<menu value="&markMenu.label;" accesskey="&markMenu.accesskey;" oncreate="InitMessageMarkMenu()">
|
||||
<menu value="&markMenu.label;" accesskey="&markMenu.accesskey;" oncreate="InitMessageMark()">
|
||||
<menupopup>
|
||||
<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"/>
|
||||
@ -1076,6 +1078,16 @@ Rights Reserved.
|
||||
</menu>
|
||||
<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" oncommand="goDoCommand('button_delete')"/>
|
||||
<menubutton class="menubutton-dual toolbar top" id="button-mark" value="&markButton.label;" hidden="true"
|
||||
crop="right" observes="cmd_markAsRead" tooltip="aTooltip" buttontooltiptext="&markButton.tooltip;">
|
||||
<menupopup oncreate="InitMessageMark()">
|
||||
<menuitem type="checkbox" key="key_toggleRead" id="markReadToolbarItem" value="&markAsReadCmd.label;" accesskey="&markAsReadCmd.accesskey;" observes="cmd_markAsRead" default="true" />
|
||||
<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="markFlaggedToolbarItem" value="&markFlaggedCmd.label;" accesskey="&markFlaggedCmd.accesskey;" observes="cmd_markAsFlagged"/>
|
||||
</menupopup>
|
||||
</menubutton>
|
||||
<menubutton class="menubutton-dual toolbar top" id="button-print" value="&printButton.label;"
|
||||
crop="right" observes="cmd_print" tooltip="aTooltip" buttontooltiptext="&printButton.tooltip;">
|
||||
<menupopup id="printMenu">
|
||||
|
@ -416,7 +416,12 @@ var MessageWindowController =
|
||||
case "cmd_file":
|
||||
if ( command == "cmd_delete")
|
||||
{
|
||||
goSetMenuValue(command, 'valueMessage');
|
||||
if (isNewsURI(gCurrentMessageUri)) {
|
||||
goSetMenuValue(command, 'valueNewsMessage');
|
||||
}
|
||||
else {
|
||||
goSetMenuValue(command, 'valueMessage');
|
||||
}
|
||||
}
|
||||
return ( gCurrentMessageUri != null);
|
||||
case "cmd_getNewMessages":
|
||||
|
@ -104,6 +104,9 @@ var folderListener = {
|
||||
{
|
||||
var uri = resource.Value;
|
||||
dump("In OnFolderLoaded for " + uri +"\n");
|
||||
|
||||
SetUpToolbarButtons(uri);
|
||||
|
||||
if(uri == gCurrentFolderToReroot)
|
||||
{
|
||||
gCurrentFolderToReroot="";
|
||||
|
@ -78,8 +78,10 @@ Rights Reserved.
|
||||
|
||||
<!-- Edit Menu -->
|
||||
<!ENTITY deleteMsgCmd.label "Delete Message">
|
||||
<!ENTITY cancelNewsMsgCmd.label "Cancel Message">
|
||||
<!ENTITY deleteMsgsCmd.label "Delete Selected Messages">
|
||||
<!ENTITY deleteFolderCmd.label "Delete Folder">
|
||||
<!ENTITY unsubscribeNewsgroupCmd.label "Unsubscribe">
|
||||
<!ENTITY selectMenu.label "Select">
|
||||
<!ENTITY selectMenu.accesskey "l">
|
||||
<!ENTITY selectThreadCmd.label ".Thread">
|
||||
@ -333,7 +335,7 @@ Rights Reserved.
|
||||
<!ENTITY markAsUnreadCmd.accesskey "u">
|
||||
<!ENTITY markThreadAsReadCmd.label "Thread As Read">
|
||||
<!ENTITY markThreadAsReadCmd.accesskey "t">
|
||||
<!ENTITY markByDateCmd.label ".by Date...">
|
||||
<!ENTITY markByDateCmd.label "by Date...">
|
||||
<!ENTITY markByDateCmd.accesskey "d">
|
||||
<!ENTITY markAllReadCmd.label "All Read">
|
||||
<!ENTITY markAllReadCmd.accesskey "a">
|
||||
@ -356,6 +358,7 @@ Rights Reserved.
|
||||
<!ENTITY fileButton.label "File">
|
||||
<!ENTITY nextButton.label "Next">
|
||||
<!ENTITY deleteButton.label "Delete">
|
||||
<!ENTITY markButton.label "As Read">
|
||||
<!ENTITY printButton.label "Print">
|
||||
<!ENTITY stopButton.label "Stop">
|
||||
|
||||
@ -368,6 +371,7 @@ Rights Reserved.
|
||||
<!ENTITY fileButton.tooltip "File selected message">
|
||||
<!ENTITY nextButton.tooltip "Move to the next unread message">
|
||||
<!ENTITY deleteButton.tooltip "Delete selected message or folder">
|
||||
<!ENTITY markButton.tooltip "Mark messages">
|
||||
<!ENTITY printButton.tooltip "Print this message">
|
||||
<!ENTITY stopButton.tooltip "Stop the current transfer">
|
||||
|
||||
|
@ -362,6 +362,10 @@ classic.jar:
|
||||
skin/classic/messenger/local-mailhost.gif (messenger/local-mailhost.gif)
|
||||
skin/classic/messenger/mailfolder.gif (messenger/mailfolder.gif)
|
||||
skin/classic/messenger/mailheader.css (messenger/mailheader.css)
|
||||
skin/classic/messenger/mark-clicked.gif (messenger/mark-clicked.gif)
|
||||
skin/classic/messenger/mark-disabled.gif (messenger/mark-disabled.gif)
|
||||
skin/classic/messenger/mark-hover.gif (messenger/mark-hover.gif)
|
||||
skin/classic/messenger/mark.gif (messenger/mark.gif)
|
||||
skin/classic/messenger/message-mail-attach.gif (messenger/message-mail-attach.gif)
|
||||
skin/classic/messenger/message-mail-imapdelete.gif (messenger/message-mail-imapdelete.gif)
|
||||
skin/classic/messenger/message-mail-new.gif (messenger/message-mail-new.gif)
|
||||
|
@ -76,6 +76,27 @@
|
||||
list-style-image : url("chrome://messenger/skin/newmsg-hover-active.gif");
|
||||
}
|
||||
|
||||
#button-mark {
|
||||
list-style-image : url("chrome://messenger/skin/mark.gif");
|
||||
}
|
||||
|
||||
#button-mark[disabled="true"],
|
||||
#button-mark[disabled="true"]:hover,
|
||||
#button-mark[disabled="true"]:hover:active
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-disabled.gif");
|
||||
}
|
||||
|
||||
#button-mark:hover
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-hover.gif");
|
||||
}
|
||||
|
||||
#button-mark:hover:active
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-clicked.gif");
|
||||
}
|
||||
|
||||
#button-reply
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/reply.gif");
|
||||
|
Before Width: | Height: | Size: 979 B After Width: | Height: | Size: 979 B |
@ -54,6 +54,27 @@
|
||||
list-style-image : url("chrome://messenger/skin/getmsg-hover-active.gif");
|
||||
}
|
||||
|
||||
#button-mark {
|
||||
list-style-image : url("chrome://messenger/skin/mark.gif");
|
||||
}
|
||||
|
||||
#button-mark[disabled="true"],
|
||||
#button-mark[disabled="true"]:hover,
|
||||
#button-mark[disabled="true"]:hover:active
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-disabled.gif");
|
||||
}
|
||||
|
||||
#button-mark:hover
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-hover.gif");
|
||||
}
|
||||
|
||||
#button-mark:hover:active
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-clicked.gif");
|
||||
}
|
||||
|
||||
#button-newmsg
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/newmsg.gif");
|
||||
|
@ -425,6 +425,10 @@ modern.jar:
|
||||
skin/modern/messenger/local-mailhost.gif (messenger/local-mailhost.gif)
|
||||
skin/modern/messenger/mailfolder.gif (messenger/mailfolder.gif)
|
||||
skin/modern/messenger/mailheader.css (messenger/mailheader.css)
|
||||
skin/modern/messenger/mark-clicked.gif (messenger/mark-clicked.gif)
|
||||
skin/modern/messenger/mark-disabled.gif (messenger/mark-disabled.gif)
|
||||
skin/modern/messenger/mark-hover.gif (messenger/mark-hover.gif)
|
||||
skin/modern/messenger/mark.gif (messenger/mark.gif)
|
||||
skin/modern/messenger/message-mail-attach.gif (messenger/message-mail-attach.gif)
|
||||
skin/modern/messenger/message-mail-imapdelete.gif (messenger/message-mail-imapdelete.gif)
|
||||
skin/modern/messenger/message-mail-new.gif (messenger/message-mail-new.gif)
|
||||
|
BIN
themes/modern/messenger/mark-clicked.gif
Normal file
BIN
themes/modern/messenger/mark-clicked.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 KiB |
BIN
themes/modern/messenger/mark-disabled.gif
Normal file
BIN
themes/modern/messenger/mark-disabled.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
BIN
themes/modern/messenger/mark-hover.gif
Normal file
BIN
themes/modern/messenger/mark-hover.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
themes/modern/messenger/mark.gif
Normal file
BIN
themes/modern/messenger/mark.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
@ -75,7 +75,7 @@ iframe {
|
||||
* toolbar button images
|
||||
*/
|
||||
|
||||
#button-getmsg, #button-newmsg, #button-reply, #button-replyall, #button-forward, #button-file, #button-next,
|
||||
#button-getmsg, #button-newmsg, #button-reply, #button-replyall, #button-forward, #button-file, #button-next, #button-mark
|
||||
#button-delete, #button-print, #button-stop {
|
||||
min-width : 52px;
|
||||
}
|
||||
@ -102,6 +102,28 @@ iframe {
|
||||
list-style-image : url("chrome://messenger/skin/getmsg-clicked.gif");
|
||||
}
|
||||
|
||||
#button-mark {
|
||||
margin-left : 0px;
|
||||
list-style-image : url("chrome://messenger/skin/mark.gif");
|
||||
}
|
||||
|
||||
#button-mark[disabled="true"],
|
||||
#button-mark[disabled="true"]:hover,
|
||||
#button-mark[disabled="true"]:hover:active
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-disabled.gif");
|
||||
}
|
||||
|
||||
#button-mark:hover
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-hover.gif");
|
||||
}
|
||||
|
||||
#button-mark:hover:active
|
||||
{
|
||||
list-style-image : url("chrome://messenger/skin/mark-clicked.gif");
|
||||
}
|
||||
|
||||
#button-newmsg {
|
||||
list-style-image:url("chrome://messenger/skin/newmsg.gif");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user