diff --git a/mozilla/mail/components/compose/content/MsgComposeCommands.js b/mozilla/mail/components/compose/content/MsgComposeCommands.js
index c774ea5c5eb..101e2595760 100644
--- a/mozilla/mail/components/compose/content/MsgComposeCommands.js
+++ b/mozilla/mail/components/compose/content/MsgComposeCommands.js
@@ -1367,9 +1367,7 @@ function ComposeStartup(recycled, aParams)
if (attachments.Count())
{
- var attachmentBox = document.getElementById("attachments-box");
- attachmentBox.hidden = false;
- document.getElementById("attachmentbucket-sizer").hidden=false;
+ ChangeAttachmentBucketVisibility(false);
}
}
@@ -2456,14 +2454,12 @@ function AttachFile()
var fileHandler = ioService.getProtocolHandler("file").QueryInterface(Components.interfaces.nsIFileProtocolHandler);
var currentAttachment = fileHandler.getURLSpecFromFile(currentFile);
+
if (!DuplicateFileCheck(currentAttachment)) {
var attachment = Components.classes["@mozilla.org/messengercompose/attachment;1"].createInstance(Components.interfaces.nsIMsgAttachment);
attachment.url = currentAttachment;
AddAttachment(attachment);
- var attachmentBox = document.getElementById("attachments-box");
- attachmentBox.hidden = false;
- document.getElementById("attachmentbucket-sizer").hidden=false;
-
+ ChangeAttachmentBucketVisibility(false);
gContentChanged = true;
}
}
@@ -2474,7 +2470,6 @@ function AddAttachment(attachment)
if (attachment && attachment.url)
{
var bucket = document.getElementById("attachmentBucket");
- var item = document.createElement("listitem");
if (!attachment.name)
attachment.name = gMsgCompose.AttachmentPrettyName(attachment.url, null);
@@ -2492,7 +2487,7 @@ function AddAttachment(attachment)
attachment.name = sComposeMsgsBundle.getString("partAttachmentSafeName");
}
- item.setAttribute("label", attachment.name); //use for display only
+ var item = bucket.appendItem(attachment.name, "");
item.attachment = attachment; //full attachment object stored here
try {
item.setAttribute("tooltiptext", decodeURI(attachment.url));
@@ -2522,8 +2517,6 @@ function AddAttachment(attachment)
item.setAttribute("image", "moz-icon://" + url.fileName);
else
item.setAttribute("image", "moz-icon:" + attachment.url);
-
- bucket.appendChild(item);
}
}
@@ -2538,7 +2531,7 @@ function MessageHasAttachments()
{
var bucketList = document.getElementById("attachmentBucket");
if (bucketList) {
- return (bucketList && bucketList.hasChildNodes() && (bucketList == top.document.commandDispatcher.focusedElement));
+ return (bucketList && bucketList.getRowCount() && (bucketList == top.document.commandDispatcher.focusedElement));
}
return false;
}
@@ -2569,18 +2562,16 @@ function AttachPage()
var attachment = Components.classes["@mozilla.org/messengercompose/attachment;1"].createInstance(Components.interfaces.nsIMsgAttachment);
attachment.url = result.value;
AddAttachment(attachment);
- var attachmentBox = document.getElementById("attachments-box");
- attachmentBox.hidden = false;
- document.getElementById("attachmentbucket-sizer").hidden=false;
+ ChangeAttachmentBucketVisibility(false);
}
}
}
function DuplicateFileCheck(FileUrl)
{
var bucket = document.getElementById('attachmentBucket');
- for (var index = 0; index < bucket.childNodes.length; index++)
+ for (var index = 0; index < bucket.getRowCount(); index++)
{
- var item = bucket.childNodes[index];
+ var item = bucket.getItemAtIndex(index);
var attachment = item.attachment;
if (attachment)
{
@@ -2599,9 +2590,9 @@ function Attachments2CompFields(compFields)
//First, we need to clear all attachment in the compose fields
compFields.removeAttachments();
- for (var index = 0; index < bucket.childNodes.length; index++)
+ for (var index = 0; index < bucket.getRowCount(); index++)
{
- var item = bucket.childNodes[index];
+ var item = bucket.getItemAtIndex(index);
var attachment = item.attachment;
if (attachment)
compFields.addAttachment(attachment);
@@ -2612,15 +2603,20 @@ function RemoveAllAttachments()
{
var child;
var bucket = document.getElementById("attachmentBucket");
- while (bucket.hasChildNodes())
+ while (bucket.getRowCount())
{
- child = bucket.removeChild(bucket.lastChild);
+ child = bucket.removeItemAt(bucket.getRowCount() - 1);
// Let's release the attachment object hold by the node else it won't go away until the window is destroyed
child.attachment = null;
}
- document.getElementById("attachments-box").setAttribute("hidden", "true");
- document.getElementById("attachmentbucket-sizer").setAttribute("hidden", "true");
+ ChangeAttachmentBucketVisibility(true);
+}
+
+function ChangeAttachmentBucketVisibility(aHideBucket)
+{
+ document.getElementById("attachments-box").collapsed = aHideBucket;
+ document.getElementById("attachmentbucket-sizer").collapsed = aHideBucket;
}
function RemoveSelectedAttachment()
@@ -2628,35 +2624,31 @@ function RemoveSelectedAttachment()
var child;
var bucket = document.getElementById("attachmentBucket");
if (bucket.selectedItems.length > 0) {
- for (var item = bucket.selectedItems.length - 1; item >= 0; item-- )
+ for (var index = bucket.selectedCount - 1; index >= 0; index-- )
{
- child = bucket.removeChild(bucket.selectedItems[item]);
- // Let's release the attachment object hold by the node else it won't go away until the window is destroyed
+ child = bucket.removeItemAt(bucket.getIndexOfItem(bucket.getSelectedItem(index)));
+ // Let's release the attachment object held by the node else it won't go away until the window is destroyed
child.attachment = null;
}
gContentChanged = true;
}
if (!MessageHasAttachments())
- {
- document.getElementById("attachments-box").setAttribute("hidden", "true");
- document.getElementById("attachmentbucket-sizer").setAttribute("hidden", "true");
- }
+ ChangeAttachmentBucketVisibility(true);
}
function FocusOnFirstAttachment()
{
var bucketList = document.getElementById("attachmentBucket");
- if (bucketList && bucketList.hasChildNodes())
- bucketTree.selectItem(bucketList.firstChild);
+ if (bucketList && bucketList.getRowCount())
+ bucketTree.selectedIndex(0);
}
function AttachmentElementHasItems()
{
var element = document.getElementById("attachmentBucket");
-
- return element ? element.childNodes.length : 0;
+ return element ? element.getRowCount() : 0;
}
function OpenSelectedAttachment()
@@ -3091,10 +3083,7 @@ var envelopeDragObserver = {
attachment.url = rawData;
attachment.name = prettyName;
AddAttachment(attachment);
-
- var attachmentBox = document.getElementById("attachments-box");
- attachmentBox.hidden = false;
- document.getElementById("attachmentbucket-sizer").hidden=false;
+ ChangeAttachmentBucketVisibility(false);
}
}
}
@@ -3113,11 +3102,8 @@ var envelopeDragObserver = {
{
// make sure the attachment box is visible during drag over
var attachmentBox = document.getElementById("attachments-box");
- if (attachmentBox.hidden)
- {
- attachmentBox.hidden = false;
- document.getElementById("attachmentbucket-sizer").hidden=false;
- }
+ if (attachmentBox.collapsed)
+ ChangeAttachmentBucketVisibility(false);
}
else
{
diff --git a/mozilla/mail/components/compose/content/messengercompose.xul b/mozilla/mail/components/compose/content/messengercompose.xul
index 94a7f346889..594d5d5b0dd 100644
--- a/mozilla/mail/components/compose/content/messengercompose.xul
+++ b/mozilla/mail/components/compose/content/messengercompose.xul
@@ -737,8 +737,8 @@
onkeypress="subjectKeyPress(event);" />
-
-
+
+