Bug 45715 - ""Reply to List" [button/(context) menu item]" [r=mkmelin,sr=bienvenu,ui-review=clarkbw]
This commit is contained in:
Родитель
e23a7d2077
Коммит
782c85af11
|
@ -53,7 +53,7 @@ function hiddenWindowStartup()
|
|||
'goNextMenu', 'menu_nextMsg', 'menu_nextUnreadMsg', 'menu_nextUnreadThread',
|
||||
'goPreviousMenu', 'menu_prevMsg', 'menu_prevUnreadMsg', 'menu_goForward', 'menu_goBack',
|
||||
'goStartPage', 'newMsgCmd', 'replyMainMenu', 'replySenderMainMenu', 'replyNewsgroupMainMenu',
|
||||
'menu_replyToAll', 'menu_forwardMsg', 'forwardAsMenu', 'menu_editMsgAsNew', 'openMessageWindowMenuitem',
|
||||
'menu_replyToAll', 'menu_replyToList', 'menu_forwardMsg', 'forwardAsMenu', 'menu_editMsgAsNew', 'openMessageWindowMenuitem',
|
||||
'moveMenu', 'copyMenu', 'moveToFolderAgain', 'tagMenu', 'markMenu',
|
||||
'markReadMenuItem', 'menu_markThreadAsRead', 'menu_markReadByDate', 'menu_markAllRead',
|
||||
'markFlaggedMenuItem', 'menu_markAsJunk', 'menu_markAsNotJunk', 'createFilter',
|
||||
|
|
|
@ -148,6 +148,8 @@ var DefaultController =
|
|||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_replylist":
|
||||
case "button_replylist":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
|
@ -300,6 +302,8 @@ var DefaultController =
|
|||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_replylist":
|
||||
case "button_replylist":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
|
@ -531,6 +535,9 @@ var DefaultController =
|
|||
case "cmd_replyall":
|
||||
MsgReplyToAllMessage(null);
|
||||
break;
|
||||
case "cmd_replylist":
|
||||
MsgReplyToListMessage(null);
|
||||
break;
|
||||
case "cmd_forward":
|
||||
MsgForwardMessage(null);
|
||||
break;
|
||||
|
|
|
@ -195,6 +195,7 @@ function fillMailContextMenu(event)
|
|||
setSingleSelection("mailContext-editAsNew");
|
||||
setSingleSelection("mailContext-replyNewsgroup", isNewsgroup);
|
||||
setSingleSelection("mailContext-replyAll");
|
||||
setSingleSelection("mailContext-replyList");
|
||||
setSingleSelection("mailContext-forward");
|
||||
ShowMenuItem("mailContext-forwardAsAttachment",
|
||||
numSelected > 1 && inThreadPane && !hideMailItems);
|
||||
|
|
|
@ -2120,7 +2120,12 @@
|
|||
class="msgHeaderView-button hdrReplyButton"
|
||||
type="menu-button">
|
||||
<xul:menupopup anonid="hdrReplyDropdown">
|
||||
<xul:menuitem anonid="hdrReplyAllButton"
|
||||
<xul:menuitem anonid="hdrReplySubButton"
|
||||
label="&hdrReplyButton.label;"
|
||||
tooltiptext="&replyButton.tooltip;"
|
||||
observes="button_reply"/>
|
||||
<xul:menuseparator anonid="hdrReplyAllSubButtonSep"/>
|
||||
<xul:menuitem anonid="hdrReplyAllSubButton"
|
||||
label="&hdrReplyAllButton.label;"
|
||||
tooltiptext="&replyAllButton.tooltip;"
|
||||
observes="button_replyall"
|
||||
|
@ -2128,6 +2133,52 @@
|
|||
RestoreFocusAfterHdrButton();"/>
|
||||
</xul:menupopup>
|
||||
</xul:button>
|
||||
<xul:button anonid="hdrReplyAllButton" label="&hdrReplyAllButton.label;"
|
||||
oncommand="MsgReplyToAllMessage(event);RestoreFocusAfterHdrButton();"
|
||||
observes="button_replyall"
|
||||
class="msgHeaderView-button hdrReplyButton"
|
||||
type="menu-button"
|
||||
hidden="true">
|
||||
<xul:menupopup anonid="hdrReplyAllDropdown">
|
||||
<xul:menuitem anonid="hdrReplyAllSubButton"
|
||||
label="&hdrReplyAllButton.label;"
|
||||
tooltiptext="&replyAllButton.tooltip;"
|
||||
observes="button_replyall"/>
|
||||
<xul:menuseparator/>
|
||||
<xul:menuitem anonid="hdrReplySubButton"
|
||||
label="&hdrReplyButton.label;"
|
||||
tooltiptext="&replyButton.tooltip;"
|
||||
observes="button_reply"
|
||||
oncommand="MsgReplyMessage(event); event.stopPropagation();
|
||||
RestoreFocusAfterHdrButton();"/>
|
||||
</xul:menupopup>
|
||||
</xul:button>
|
||||
<xul:button anonid="hdrReplyListButton" label="&hdrReplyListButton.label;"
|
||||
oncommand="MsgReplyToListMessage(event);RestoreFocusAfterHdrButton();"
|
||||
observes="button_replylist"
|
||||
class="msgHeaderView-button hdrReplyButton"
|
||||
type="menu-button"
|
||||
hidden="true">
|
||||
<xul:menupopup anonid="hdrReplyListDropdown">
|
||||
<xul:menuitem anonid="hdrReplyListSubButton"
|
||||
label="&hdrReplyListButton.label;"
|
||||
tooltiptext="&replyListButton.tooltip;"
|
||||
observes="button_replylist"/>
|
||||
<xul:menuseparator/>
|
||||
<xul:menuitem anonid="hdrReplyAllSubButton"
|
||||
label="&hdrReplyAllButton.label;"
|
||||
tooltiptext="&replyAllButton.tooltip;"
|
||||
observes="button_replyall"
|
||||
oncommand="MsgReplyToAllMessage(event); event.stopPropagation();
|
||||
RestoreFocusAfterHdrButton();"/>
|
||||
<xul:menuitem anonid="hdrReplySubButton"
|
||||
label="&hdrReplyButton.label;"
|
||||
tooltiptext="&replyButton.tooltip;"
|
||||
observes="button_reply"
|
||||
oncommand="MsgReplyMessage(event); event.stopPropagation();
|
||||
RestoreFocusAfterHdrButton();"/>
|
||||
</xul:menupopup>
|
||||
</xul:button>
|
||||
<xul:button anonid="hdrForwardButton" label="&hdrForwardButton.label;"
|
||||
oncommand="MsgForwardMessage(event);RestoreFocusAfterHdrButton();"
|
||||
observes="button_forward" class="msgHeaderView-button hdrForwardButton"/>
|
||||
|
|
|
@ -807,6 +807,99 @@ function UpdateJunkToolbarButton()
|
|||
junkButtonDeck.selectedIndex = SelectedMessagesAreJunk() ? 1 : 0;
|
||||
}
|
||||
|
||||
function UpdateReplyButtons()
|
||||
{
|
||||
let msgHdr = messenger.msgHdrFromURI(GetLoadedMessage());
|
||||
|
||||
let myEmail = getIdentityForHeader(msgHdr).email;
|
||||
let recipients = msgHdr.recipients + "," + msgHdr.ccList;
|
||||
|
||||
// If my email address isn't in the to or cc list, then I've been bcc-ed.
|
||||
let imBcced = recipients.indexOf(myEmail) == -1;
|
||||
|
||||
// Now, let's get the number of unique recipients
|
||||
let hdrParser = Components.classes["@mozilla.org/messenger/headerparser;1"]
|
||||
.getService(Components.interfaces.nsIMsgHeaderParser);
|
||||
let uniqueRecipients = hdrParser.removeDuplicateAddresses(recipients, {});
|
||||
let numAddresses = hdrParser.parseHeadersWithArray(uniqueRecipients, {}, {}, {});
|
||||
|
||||
// If I've been bcc-ed, then add 1 to the number of addresses to compensate.
|
||||
if (imBcced)
|
||||
numAddresses++
|
||||
|
||||
// By default, ReplyAll if there is more than 1 person to reply to.
|
||||
let showReplyAll = numAddresses > 1;
|
||||
|
||||
// And ReplyToList if there is a List-Post header.
|
||||
let showReplyList = currentHeaderData["list-post"];
|
||||
|
||||
// Get the server type.
|
||||
let serverType = null;
|
||||
try
|
||||
{
|
||||
serverType = msgHdr.folder.server.type;
|
||||
}
|
||||
catch (ex)
|
||||
{
|
||||
// This empty catch block needs to be here because msgHdr.folder will
|
||||
// throw an exception when you try to access it on a .eml file.
|
||||
}
|
||||
|
||||
// But, if we're in a news item, we should default to Reply.
|
||||
if (serverType == "nntp")
|
||||
{
|
||||
showReplyAll = false;
|
||||
showReplyList = false;
|
||||
}
|
||||
|
||||
let buttonToShow = "reply";
|
||||
if (showReplyList)
|
||||
buttonToShow = "replyList";
|
||||
else if (showReplyAll)
|
||||
buttonToShow = "replyAll";
|
||||
|
||||
let buttonBox = document.getElementById(gCollapsedHeaderViewMode ?
|
||||
"collapsedButtonBox" : "expandedButtonBox");
|
||||
|
||||
let replyButton = buttonBox.getButton("hdrReplyButton");
|
||||
let replyAllButton = buttonBox.getButton("hdrReplyAllButton");
|
||||
let replyAllSubButton = buttonBox.getButton("hdrReplyAllSubButton");
|
||||
let replyAllSubButtonSep = buttonBox.getButton("hdrReplyAllSubButtonSep");
|
||||
let replyListButton = buttonBox.getButton("hdrReplyListButton");
|
||||
|
||||
replyButton.hidden = (buttonToShow != "reply");
|
||||
replyAllButton.hidden = (buttonToShow != "replyAll");
|
||||
replyListButton.hidden = (buttonToShow != "replyList");
|
||||
|
||||
let replyListMenu = document.getElementById("menu_replyToList");
|
||||
replyListMenu.hidden = !showReplyList;
|
||||
|
||||
let replyListCommand = document.getElementById("cmd_replylist");
|
||||
replyListCommand.disabled = !showReplyList;
|
||||
|
||||
if (serverType == "nntp")
|
||||
{
|
||||
// If it's a news item, show the ReplyAll sub-button and separator.
|
||||
replyAllSubButton.hidden = false;
|
||||
replyAllSubButtonSep.hidden = false;
|
||||
}
|
||||
else if (serverType == "rss")
|
||||
{
|
||||
// otherwise, if it's an rss item, hide all the Reply buttons.
|
||||
replyButton.hidden = true;
|
||||
replyAllButton.hidden = true;
|
||||
replyListButton.hidden = true;
|
||||
replyAllSubButton.hidden = true;
|
||||
replyAllSubButtonSep.hidden = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// otherwise, hide the ReplyAll sub-buttons.
|
||||
replyAllSubButton.hidden = true;
|
||||
replyAllSubButtonSep.hidden = true;
|
||||
}
|
||||
}
|
||||
|
||||
function UpdateDeleteToolbarButton()
|
||||
{
|
||||
var deleteButtonDeck = document.getElementById("delete-deck");
|
||||
|
@ -1097,6 +1190,10 @@ function MsgReplyToAllMessage(event)
|
|||
composeMsgByType(Components.interfaces.nsIMsgCompType.ReplyAll, event);
|
||||
}
|
||||
|
||||
function MsgReplyToListMessage(event)
|
||||
{
|
||||
composeMsgByType(Components.interfaces.nsIMsgCompType.ReplyToList, event);
|
||||
}
|
||||
|
||||
// Message Archive function
|
||||
|
||||
|
|
|
@ -232,6 +232,7 @@
|
|||
<command id="cmd_replySender" oncommand="goDoCommand('cmd_replySender')"/>
|
||||
<command id="cmd_replyGroup" oncommand="goDoCommand('cmd_replyGroup')"/>
|
||||
<command id="cmd_replyall" oncommand="goDoCommand('cmd_replyall')"/>
|
||||
<command id="cmd_replylist" oncommand="goDoCommand('cmd_replylist')"/>
|
||||
<command id="cmd_forward" oncommand="goDoCommand('cmd_forward')"/>
|
||||
<command id="cmd_forwardInline" oncommand="goDoCommand('cmd_forwardInline')"/>
|
||||
<command id="cmd_forwardAttachment" oncommand="goDoCommand('cmd_forwardAttachment')"/>
|
||||
|
@ -251,6 +252,7 @@
|
|||
|
||||
<command id="button_reply"/>
|
||||
<command id="button_replyall"/>
|
||||
<command id="button_replylist"/>
|
||||
<command id="button_archive"/>
|
||||
<command id="button_forward"/>
|
||||
<command id="button_delete"/>
|
||||
|
@ -376,6 +378,7 @@
|
|||
<key id="key_goStartPage" keycode="VK_HOME" oncommand="goDoCommand('cmd_goStartPage')" modifiers="alt"/>
|
||||
<key id="key_reply" key="&replyMsgCmd.key;" oncommand="goDoCommand('cmd_reply')" modifiers="accel"/>
|
||||
<key id="key_replyall" key="&replyToAllMsgCmd.key;" oncommand="goDoCommand('cmd_replyall')" modifiers="accel, shift"/>
|
||||
<key id="key_replylist" key="&replyToListMsgCmd.key;" oncommand="goDoCommand('cmd_replylist')" modifiers="accel, shift"/>
|
||||
<key id="key_forward" key="&forwardMsgCmd.key;" oncommand="goDoCommand('cmd_forward')" modifiers="accel"/>
|
||||
<key id="key_editAsNew" key="&editMsgAsNewCmd.key;" oncommand="goDoCommand('cmd_editAsNew')" modifiers="accel"/>
|
||||
<key id="key_watchThread" key="&watchThreadMenu.key;" oncommand="goDoCommand('cmd_watchThread')" />
|
||||
|
@ -536,6 +539,10 @@
|
|||
label="&contextReplyAll.label;"
|
||||
accesskey="&contextReplyAll.accesskey;"
|
||||
oncommand="MsgReplyToAllMessage(event);"/>
|
||||
<menuitem id="mailContext-replyList"
|
||||
label="&contextReplyList.label;"
|
||||
accesskey="&contextReplyList.accesskey;"
|
||||
oncommand="MsgReplyToListMessage(event);"/>
|
||||
<menuitem id="mailContext-forward"
|
||||
label="&contextForward.label;"
|
||||
accesskey="&contextForward.accesskey;"
|
||||
|
@ -1252,6 +1259,10 @@
|
|||
accesskey="&replyToAllMsgCmd.accesskey;"
|
||||
key="key_replyall"
|
||||
command="cmd_replyall"/>
|
||||
<menuitem id="menu_replyToList" label="&replyToListMsgCmd.label;"
|
||||
accesskey="&replyToListMsgCmd.accesskey;"
|
||||
key="key_replylist"
|
||||
command="cmd_replylist"/>
|
||||
<menuitem id="menu_forwardMsg" label="&forwardMsgCmd.label;"
|
||||
accesskey="&forwardMsgCmd.accesskey;"
|
||||
key="key_forward"
|
||||
|
@ -1497,6 +1508,12 @@
|
|||
tooltiptext="&replyAllButton.tooltip;"
|
||||
observes="button_replyall"
|
||||
oncommand="MsgReplyToAllMessage(event)"/>
|
||||
<toolbarbutton id="button-replylist"
|
||||
class="toolbarbutton-1"
|
||||
label="&replyListButton.label;"
|
||||
tooltiptext="&replyListButton.tooltip;"
|
||||
observes="button_replylist"
|
||||
oncommand="MsgReplyToListMessage(event)"/>
|
||||
<toolbarbutton id="button-forward"
|
||||
class="toolbarbutton-1"
|
||||
label="&forwardButton.label;"
|
||||
|
@ -1703,9 +1720,9 @@
|
|||
customizable="true"
|
||||
context="toolbar-context-menu"
|
||||
#ifdef XP_MACOSX
|
||||
defaultset="button-getmsg,button-newmsg,button-address,spacer,button-reply,button-replyall,button-forward,spacer,button-tag,button-delete,button-junk,button-print,spacer,button-goback,button-goforward,spring,search-container,throbber-box">
|
||||
defaultset="button-getmsg,button-newmsg,button-address,spacer,button-reply,button-replyall,button-replylist,button-forward,spacer,button-tag,button-delete,button-junk,button-print,spacer,button-goback,button-goforward,spring,search-container,throbber-box">
|
||||
#else
|
||||
defaultset="button-getmsg,button-newmsg,button-address,separator,button-reply,button-replyall,button-forward,separator,button-tag,button-delete,button-junk,button-print,separator,button-goback,button-goforward,spring,search-container">
|
||||
defaultset="button-getmsg,button-newmsg,button-address,separator,button-reply,button-replyall,button-replylist,button-forward,separator,button-tag,button-delete,button-junk,button-print,separator,button-goback,button-goforward,spring,search-container">
|
||||
#endif
|
||||
</toolbar>
|
||||
<toolbarset id="customToolbars" context="toolbar-context-menu"/>
|
||||
|
|
|
@ -178,6 +178,9 @@ nsMsgDBViewCommandUpdater.prototype =
|
|||
goUpdateCommand("button_junk");
|
||||
goUpdateCommand("button_goBack");
|
||||
goUpdateCommand("button_goForward");
|
||||
goUpdateCommand("button_reply");
|
||||
goUpdateCommand("button_replyall");
|
||||
goUpdateCommand("button_replylist");
|
||||
},
|
||||
|
||||
updateNextMessageAfterDelete : function()
|
||||
|
@ -778,6 +781,8 @@ var MessageWindowController =
|
|||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_replylist":
|
||||
case "button_replylist":
|
||||
case "cmd_archive":
|
||||
case "button_archive":
|
||||
case "cmd_forward":
|
||||
|
@ -849,6 +854,8 @@ var MessageWindowController =
|
|||
case "cmd_replyGroup":
|
||||
case "cmd_replyall":
|
||||
case "button_replyall":
|
||||
case "cmd_replylist":
|
||||
case "button_replylist":
|
||||
case "cmd_forward":
|
||||
case "button_forward":
|
||||
case "cmd_forwardInline":
|
||||
|
@ -974,6 +981,9 @@ var MessageWindowController =
|
|||
case "cmd_replyall":
|
||||
MsgReplyToAllMessage(null);
|
||||
break;
|
||||
case "cmd_replylist":
|
||||
MsgReplyToListMessage(null);
|
||||
break;
|
||||
case "cmd_forward":
|
||||
MsgForwardMessage(null);
|
||||
break;
|
||||
|
|
|
@ -415,6 +415,7 @@ var messageHeaderSink = {
|
|||
UpdateMessageHeaders();
|
||||
ShowEditMessageBox();
|
||||
UpdateJunkButton();
|
||||
UpdateReplyButtons();
|
||||
|
||||
for (index in gMessageListeners)
|
||||
gMessageListeners[index].onEndHeaders();
|
||||
|
@ -455,6 +456,8 @@ var messageHeaderSink = {
|
|||
this.mDummyMsgHeader.replyTo = header.headerValue;
|
||||
else if (lowerCaseHeaderName == "message-id")
|
||||
this.mDummyMsgHeader.messageId = header.headerValue;
|
||||
else if (lowerCaseHeaderName == "list-post")
|
||||
this.mDummyMsgHeader.listPost = header.headerValue;
|
||||
|
||||
}
|
||||
// according to RFC 2822, certain headers
|
||||
|
@ -786,6 +789,7 @@ function updateHeaderViews()
|
|||
showHeaderView(gExpandedHeaderView);
|
||||
}
|
||||
UpdateJunkButton();
|
||||
UpdateReplyButtons();
|
||||
displayAttachmentsForExpandedView();
|
||||
}
|
||||
|
||||
|
@ -1996,6 +2000,7 @@ nsDummyMsgHeader.prototype =
|
|||
from : null,
|
||||
subject : null,
|
||||
ccList : null,
|
||||
listPost : null,
|
||||
messageId : null,
|
||||
accountKey : "",
|
||||
folder : null
|
||||
|
|
|
@ -332,6 +332,9 @@ you can use these alternative items. Otherwise, their values should be empty. -
|
|||
<!ENTITY replyToAllMsgCmd.label "Reply to All">
|
||||
<!ENTITY replyToAllMsgCmd.accesskey "p">
|
||||
<!ENTITY replyToAllMsgCmd.key "r">
|
||||
<!ENTITY replyToListMsgCmd.label "Reply to List">
|
||||
<!ENTITY replyToListMsgCmd.accesskey "L">
|
||||
<!ENTITY replyToListMsgCmd.key "l">
|
||||
<!ENTITY forwardMsgCmd.label "Forward">
|
||||
<!ENTITY forwardMsgCmd.accesskey "F">
|
||||
<!ENTITY forwardMsgCmd.key "l">
|
||||
|
@ -461,6 +464,7 @@ you can use these alternative items. Otherwise, their values should be empty. -
|
|||
<!ENTITY newMsgButton.label "Write">
|
||||
<!ENTITY replyButton.label "Reply">
|
||||
<!ENTITY replyAllButton.label "Reply All">
|
||||
<!ENTITY replyListButton.label "Reply to List">
|
||||
<!ENTITY forwardButton.label "Forward">
|
||||
<!ENTITY fileButton.label "File">
|
||||
<!ENTITY nextButton.label "Next">
|
||||
|
@ -492,6 +496,7 @@ you can use these alternative items. Otherwise, their values should be empty. -
|
|||
<!ENTITY newMsgButton.tooltip "Create a new message">
|
||||
<!ENTITY replyButton.tooltip "Reply to the message">
|
||||
<!ENTITY replyAllButton.tooltip "Reply to sender and all recipients">
|
||||
<!ENTITY replyListButton.tooltip "Reply to mailing list">
|
||||
<!ENTITY forwardButton.tooltip "Forward selected message">
|
||||
<!ENTITY fileButton.tooltip "File selected message">
|
||||
<!ENTITY nextButton.tooltip "Move to the next unread message">
|
||||
|
@ -654,6 +659,8 @@ you can use these alternative items. Otherwise, their values should be empty. -
|
|||
<!ENTITY contextReplyNewsgroup.accesskey "y">
|
||||
<!ENTITY contextReplyAll.label "Reply to All">
|
||||
<!ENTITY contextReplyAll.accesskey "A">
|
||||
<!ENTITY contextReplyList.label "Reply to List">
|
||||
<!ENTITY contextReplyList.accesskey "L">
|
||||
<!ENTITY contextForward.label "Forward">
|
||||
<!ENTITY contextForward.accesskey "F">
|
||||
<!ENTITY contextForwardAsAttachment.label "Forward as Attachments">
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
<!ENTITY archiveButton.label "archive">
|
||||
<!ENTITY hdrReplyButton.label "reply">
|
||||
<!ENTITY hdrReplyAllButton.label "reply all">
|
||||
<!ENTITY hdrReplyListButton.label "reply list">
|
||||
<!ENTITY hdrForwardButton.label "forward">
|
||||
<!ENTITY hdrJunkButton.label "junk">
|
||||
<!ENTITY trashButton.tooltiptext "delete">
|
||||
|
|
|
@ -108,6 +108,18 @@
|
|||
-moz-image-region: rect(48px 120px 72px 96px) !important;
|
||||
}
|
||||
|
||||
#button-replylist {
|
||||
-moz-image-region: rect(0px 120px 24px 96px);
|
||||
}
|
||||
|
||||
#button-replylist:hover {
|
||||
-moz-image-region: rect(24px 120px 48px 96px);
|
||||
}
|
||||
|
||||
#button-replylist[disabled] {
|
||||
-moz-image-region: rect(48px 120px 72px 96px) !important;
|
||||
}
|
||||
|
||||
#button-forward {
|
||||
-moz-image-region: rect(0px 144px 24px 120px);
|
||||
}
|
||||
|
@ -327,6 +339,18 @@ toolbar[iconsize="small"] #button-replyall[disabled] {
|
|||
-moz-image-region: rect(32px 80px 48px 64px) !important;
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist {
|
||||
-moz-image-region: rect(0px 80px 16px 64px);
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist:hover {
|
||||
-moz-image-region: rect(16px 80px 32px 64px);
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist[disabled] {
|
||||
-moz-image-region: rect(32px 80px 48px 64px) !important;
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-forward {
|
||||
-moz-image-region: rect(0px 96px 16px 80px);
|
||||
}
|
||||
|
|
|
@ -139,6 +139,18 @@ toolbar[mode="text"] .toolbarbutton-menubutton-button > .toolbarbutton-text {
|
|||
-moz-image-region: rect(64px 160px 96px 128px) !important;
|
||||
}
|
||||
|
||||
#button-replylist {
|
||||
-moz-image-region: rect(0px 160px 32px 128px);
|
||||
}
|
||||
|
||||
#button-replylist:hover:active {
|
||||
-moz-image-region: rect(32px 160px 64px 128px);
|
||||
}
|
||||
|
||||
#button-replylist[disabled] {
|
||||
-moz-image-region: rect(64px 160px 96px 128px) !important;
|
||||
}
|
||||
|
||||
#button-forward {
|
||||
-moz-image-region: rect(0px 192px 32px 160px);
|
||||
}
|
||||
|
@ -369,6 +381,18 @@ toolbar[iconsize="small"] #button-replyall[disabled] {
|
|||
-moz-image-region: rect(48px 120px 72px 96px) !important;
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist {
|
||||
-moz-image-region: rect(0px 120px 24px 96px);
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist:hover:active {
|
||||
-moz-image-region: rect(24px 120px 48px 96px);
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist[disabled] {
|
||||
-moz-image-region: rect(48px 120px 72px 96px) !important;
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-forward {
|
||||
-moz-image-region: rect(0px 144px 24px 120px);
|
||||
}
|
||||
|
|
|
@ -112,6 +112,18 @@
|
|||
-moz-image-region: rect(48px 120px 72px 96px) !important;
|
||||
}
|
||||
|
||||
#button-replylist {
|
||||
-moz-image-region: rect(0px 120px 24px 96px);
|
||||
}
|
||||
|
||||
#button-replylist:hover {
|
||||
-moz-image-region: rect(24px 120px 48px 96px);
|
||||
}
|
||||
|
||||
#button-replylist[disabled] {
|
||||
-moz-image-region: rect(48px 120px 72px 96px) !important;
|
||||
}
|
||||
|
||||
#button-forward {
|
||||
-moz-image-region: rect(0px 144px 24px 120px);
|
||||
}
|
||||
|
@ -335,6 +347,18 @@ toolbar[iconsize="small"] #button-replyall[disabled] {
|
|||
-moz-image-region: rect(32px 80px 48px 64px) !important;
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist {
|
||||
-moz-image-region: rect(0px 80px 16px 64px);
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist:hover {
|
||||
-moz-image-region: rect(16px 80px 32px 64px);
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-replylist[disabled] {
|
||||
-moz-image-region: rect(32px 80px 48px 64px) !important;
|
||||
}
|
||||
|
||||
toolbar[iconsize="small"] #button-forward {
|
||||
-moz-image-region: rect(0px 96px 16px 80px);
|
||||
}
|
||||
|
|
|
@ -241,6 +241,7 @@ nsresult nsMimeHtmlDisplayEmitter::BroadcastHeaders(nsIMsgHeaderSink * aHeaderSi
|
|||
PL_strcasecmp("content-type", headerInfo->name) && PL_strcasecmp("message-id", headerInfo->name) &&
|
||||
PL_strcasecmp("x-newsreader", headerInfo->name) && PL_strcasecmp("x-mimeole", headerInfo->name) &&
|
||||
PL_strcasecmp("references", headerInfo->name) && PL_strcasecmp("in-reply-to", headerInfo->name) &&
|
||||
PL_strcasecmp("list-post", headerInfo->name) &&
|
||||
// make headerStr lower case because IndexOf is case-sensitive
|
||||
(!extraExpandedHeadersArray.Length() || (ToLowerCase(headerStr),
|
||||
extraExpandedHeadersArray.IndexOf(headerStr) ==
|
||||
|
|
Загрузка…
Ссылка в новой задаче