mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-20 16:55:40 +00:00
fix for #91662 (long strings in headers can cause scroll barfs and attachment window to disappear) and bug #61497 (can't select text in message headers).
r=ben, sr=bienvenu.
This commit is contained in:
parent
3a78c9b53c
commit
59c316ce53
@ -20,11 +20,11 @@
|
||||
<xul:spacer flex="1"/>
|
||||
<xul:label class="headerName" xbl:inherits="value=label"/>
|
||||
</xul:hbox>
|
||||
<xul:label class="headerValue" anonid="headerValue" flex="1">*</xul:label>
|
||||
<xul:textbox originalclass="headerValue plain" appendoriginalclass="true" keywordrelated="true" class="headerValue plain" anonid="headerValue" flex="1" readonly="true"/>
|
||||
</content>
|
||||
|
||||
<implementation>
|
||||
<property name="headerValue" onset="return document.getAnonymousElementByAttribute(this, 'anonid', 'headerValue').firstChild.nodeValue = val;"/>
|
||||
<property name="headerValue" onset="return document.getAnonymousElementByAttribute(this, 'anonid', 'headerValue').value = val;"/>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
@ -36,11 +36,11 @@
|
||||
<xul:hbox class="headerNameBox" align="start">
|
||||
<xul:label class="headerName" xbl:inherits="value=label" flex="1"/>
|
||||
</xul:hbox>
|
||||
<xul:label class="headerValue" anonid="headerValue" flex="1">*</xul:label>
|
||||
<xul:textbox originalclass="headerValue plain" appendoriginalclass="true" keywordrelated="true" class="headerValue plain" anonid="headerValue" flex="1" readonly="true"/>
|
||||
</content>
|
||||
|
||||
<implementation>
|
||||
<property name="headerValue" onset="return document.getAnonymousElementByAttribute(this, 'anonid', 'headerValue').firstChild.nodeValue = val;" />
|
||||
<property name="headerValue" onset="return document.getAnonymousElementByAttribute(this, 'anonid', 'headerValue').value = val;"/>
|
||||
</implementation>
|
||||
</binding>
|
||||
|
||||
|
@ -585,16 +585,30 @@ function SetKeywords(aKeywords)
|
||||
return;
|
||||
|
||||
// these are the UI elements who care about keywords
|
||||
var ids = ["expandedKeywordImage","expandedHeaderView","msgHeaderView","collapsedHeaderView","collapsedKeywordImage","editMessageBox","expandedAttachmentBox"];
|
||||
for (i in ids) {
|
||||
var element = document.getElementById(ids[i]);
|
||||
if (element) {
|
||||
if (aKeywords)
|
||||
var elements = document.getElementsByAttribute("keywordrelated","true");
|
||||
var len = elements.length;
|
||||
for (var i=0; i<len; i++) {
|
||||
var element = elements[i];
|
||||
var originalclass = element.getAttribute("originalclass");
|
||||
|
||||
// we use XBL for certain headers.
|
||||
// if the element has keywordrelated="true"
|
||||
// but no original class, it's an XBL widget
|
||||
// so to get the real element, use getAnonymousElementByAttribute()
|
||||
if (!originalclass) {
|
||||
element = document.getAnonymousElementByAttribute(element, "keywordrelated", "true");
|
||||
originalclass = element.getAttribute("originalclass");
|
||||
}
|
||||
|
||||
if (aKeywords) {
|
||||
if (element.getAttribute("appendoriginalclass") == "true") {
|
||||
aKeywords += " " + originalclass;
|
||||
}
|
||||
element.setAttribute("class", aKeywords);
|
||||
}
|
||||
else {
|
||||
// if no keywords, reset class to the original class
|
||||
element.setAttribute("class", element.getAttribute("originalclass"));
|
||||
}
|
||||
element.setAttribute("class", originalclass);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -501,7 +501,7 @@ function updateHeaderValue(headerEntry, headerValue)
|
||||
|
||||
function updateHeaderValueInTextNode(headerEntry, headerValue)
|
||||
{
|
||||
headerEntry.textNode.setAttribute("value", headerValue);
|
||||
headerEntry.textNode.value = headerValue;
|
||||
}
|
||||
|
||||
function createNewHeaderView(headerName)
|
||||
@ -510,9 +510,10 @@ function createNewHeaderView(headerName)
|
||||
var newHeader = document.createElement("mail-headerfield");
|
||||
newHeader.setAttribute('id', idName);
|
||||
newHeader.setAttribute('label', currentHeaderData[headerName].headerName + ':');
|
||||
// all mail-headerfield elements are keyword related
|
||||
newHeader.setAttribute('keywordrelated','true');
|
||||
newHeader.collapsed = true;
|
||||
|
||||
|
||||
// this new element needs to be inserted into the view...
|
||||
var topViewNode = document.getElementById('expandedHeaders');
|
||||
|
||||
|
@ -55,9 +55,9 @@ Rights Reserved.
|
||||
<tooltip id="attachmentListTooltip"
|
||||
onpopupshowing="return FillInAttachmentTooltip(document.tooltipNode);"/>
|
||||
|
||||
<hbox id="msgHeaderView" originalclass="none" persist="state">
|
||||
<hbox id="msgHeaderView" keywordrelated="true" originalclass="none" persist="state">
|
||||
|
||||
<grid id="collapsedHeaderView" class="header-part1" originalclass="header-part1" flex="1" collapsed="true">
|
||||
<grid id="collapsedHeaderView" class="header-part1" keywordrelated="true" originalclass="header-part1" flex="1" collapsed="true">
|
||||
<rows>
|
||||
<row flex="1"/>
|
||||
</rows>
|
||||
@ -70,9 +70,9 @@ Rights Reserved.
|
||||
</column>
|
||||
|
||||
<column id="collapsedsubjectBox" collapsed="true" flex="1">
|
||||
<hbox align="start">
|
||||
<hbox>
|
||||
<label class="collapsedHeaderDisplayName" value="&subjectField.label;"/>
|
||||
<label id="collapsedsubjectValue" class="collapsedHeaderValue" crop="right" flex="1"/>
|
||||
<textbox id="collapsedsubjectValue" keywordrelated="true" class="collapsedHeaderValue plain" originalclass="collapsedHeaderValue plain" readonly="true" crop="right" appendoriginalclass="true" flex="1"/>
|
||||
</hbox>
|
||||
</column>
|
||||
|
||||
@ -85,13 +85,13 @@ Rights Reserved.
|
||||
|
||||
<column id = "collapseddateBox" collapsed="true">
|
||||
<hbox align="start">
|
||||
<label id="collapseddateValue" class="collapsedHeaderValue"/>
|
||||
<textbox id="collapseddateValue" keywordrelated="true" class="collapsedHeaderValue plain" originalclass="collapsedHeaderValue plain" appendoriginalclass="true" readonly="true"/>
|
||||
</hbox>
|
||||
</column>
|
||||
|
||||
<column id="collapsedKeywordBox">
|
||||
<hbox align="start">
|
||||
<image id="collapsedKeywordImage" originalclass="none"/>
|
||||
<image id="collapsedKeywordImage" keywordrelated="true" originalclass="none"/>
|
||||
</hbox>
|
||||
</column>
|
||||
|
||||
@ -103,38 +103,38 @@ Rights Reserved.
|
||||
</columns>
|
||||
</grid>
|
||||
|
||||
<hbox id="expandedHeaderView" class="header-part1" originalclass="header-part1" flex="1" collapsed="true">
|
||||
<hbox id="expandedHeaderView" class="header-part1" keywordrelated="true" originalclass="header-part1" flex="1" collapsed="true">
|
||||
<vbox id="expandedHeaders" flex="1">
|
||||
<mail-toggle-headerfield id="expandedsubjectBox" class="subjectvalue" label="&subjectField.label;" ontwistyclick="ToggleHeaderView();" collapsed="true"/>
|
||||
<mail-toggle-headerfield keywordrelated="true" id="expandedsubjectBox" class="subjectvalue" label="&subjectField.label;" ontwistyclick="ToggleHeaderView();" collapsed="true"/>
|
||||
|
||||
<mail-emailheaderfield id="expandedfromBox" label="&fromField.label;" collapsed="true"/>
|
||||
<mail-emailheaderfield id="expandedreply-toBox" label="&replyToField.label;" collapsed="true"/>
|
||||
|
||||
<mail-headerfield id="expandeddateBox" label="&dateField.label;" collapsed="true"/>
|
||||
<mail-headerfield keywordrelated="true" id="expandeddateBox" label="&dateField.label;" collapsed="true"/>
|
||||
|
||||
<mail-multi-emailHeaderField id="expandedtoBox" label="&toField.label;" collapsed="true"/>
|
||||
<mail-multi-emailHeaderField id="expandedccBox" label="&ccField.label;" collapsed="true"/>
|
||||
<mail-multi-emailHeaderField id="expandedbccBox" label="&bccField.label;" collapsed="true"/>
|
||||
|
||||
<mail-headerfield id="expandednewsgroupsBox" label="&newsgroupsField.label;" collapsed="true"/>
|
||||
<mail-headerfield id="expandedfollowup-toBox" label="&followupToField.label;" collapsed="true"/>
|
||||
<mail-headerfield id="expandeduser-agentBox" label="&userAgentField.label;" collapsed="true"/>
|
||||
<mail-headerfield keywordrelated="true" id="expandednewsgroupsBox" label="&newsgroupsField.label;" collapsed="true"/>
|
||||
<mail-headerfield keywordrelated="true" id="expandedfollowup-toBox" label="&followupToField.label;" collapsed="true"/>
|
||||
<mail-headerfield keywordrelated="true" id="expandeduser-agentBox" label="&userAgentField.label;" collapsed="true"/>
|
||||
|
||||
</vbox>
|
||||
|
||||
<vbox id="expandedKeywordBox">
|
||||
<spacer flex="1"/>
|
||||
<image id="expandedKeywordImage" originalclass="none" />
|
||||
<image id="expandedKeywordImage" keywordrelated="true" originalclass="none" />
|
||||
<spacer flex="1"/>
|
||||
</vbox>
|
||||
|
||||
<vbox id="editMessageBox" class="header-part1" originalclass="header-part1" collapsed="true">
|
||||
<vbox id="editMessageBox" class="header-part1" keywordrelated="true" originalclass="header-part1" collapsed="true">
|
||||
<spacer flex="1"/>
|
||||
<button id="editMessageButton" label="&editMessage.label;" oncommand="MsgComposeDraftMessage()"/>
|
||||
<spacer flex="1"/>
|
||||
</vbox>
|
||||
|
||||
<vbox id="expandedAttachmentBox" class="header-part1" originalclass="header-part1" collapsed="true">
|
||||
<vbox id="expandedAttachmentBox" class="header-part1" keywordrelated="true" originalclass="header-part1" collapsed="true">
|
||||
<label id="attachmentText" value="&attachmentsTree.label;" crop="right"/>
|
||||
<listbox id="attachmentList" flex="2"
|
||||
onclick="attachmentListClick(event);" ondraggesture="nsDragAndDrop.startDrag(event,attachmentAreaDNDObserver);" ondragover="nsDragAndDrop.dragOver(event, attachmentAreaDNDObserver);" context="attachmentListContext"/>
|
||||
|
Loading…
Reference in New Issue
Block a user