Closed Bug 500917 Opened 15 years ago Closed 15 years ago

drag & drop an .eml file into a mailbox folder via thread pane drop

Categories

(SeaMonkey :: MailNews: Message Display, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
seamonkey2.0

People

(Reporter: philbaseless-firefox, Assigned: philbaseless-firefox)

References

Details

(Keywords: fixed-seamonkey2.0.1)

Attachments

(1 file, 8 obsolete files)

+++ This bug was initially created as a clone of Bug #500564 +++ drag and drop external message files into the thread pane
Attached patch drag and drop external files to threadpane (obsolete) (deleted) — Splinter Review
not sure about the naming of functions. these are same as shredder patch.
Attachment #385594 - Flags: review?(mnyromyr)
Attached patch drag and drop external files to threadpane (obsolete) (deleted) — Splinter Review
see other description. Last was a bad patch.
Attachment #385594 - Attachment is obsolete: true
Attachment #385596 - Flags: review?(mnyromyr)
Attachment #385594 - Flags: review?(mnyromyr)
Comment on attachment 385596 [details] [diff] [review] drag and drop external files to threadpane >+ if (extFile.isFile()){ need space before {
No longer depends on: 500564
Attachment #385596 - Attachment is obsolete: true
Attachment #386172 - Flags: review?(mnyromyr)
Attachment #385596 - Flags: review?(mnyromyr)
Comment on attachment 386172 [details] [diff] [review] fix nits and add test for ".eml" before drop and changed func name Works great, "even" with Linux and IMAP. Just some nits, mostly similar to those in 499878... First of all, please follow the prevalent bracing style in messengerdnd.js, which is "{ go on their own line, vertically aligned with }". >diff --git a/mailnews/base/resources/content/messengerdnd.js b/mailnews/base/resources/content/messengerdnd.js >+function DragOverThreadPane(aEvent) { >+ let ds = Components.classes["@mozilla.org/widget/dragservice;1"] >+ .getService(Components.interfaces.nsIDragService) >+ .getCurrentSession(); >+ ds.canDrop = false; >+ let dt = aEvent.dataTransfer; >+ if (Array.indexOf(dt.mozTypesAt(0), "application/x-moz-file") != -1) { MIME type should be "message/rfc822". >+ cs.CopyFileMessage(extFile, gMsgFolderSelected, null, false, 1, "", null, >+ msgWindow); This looks odd, just put the msgWindow one line up, despite the line length. Thanks for tackling this!
Attachment #386172 - Flags: review?(mnyromyr) → review-
thanks for review. we need the x-moz-file flavor for transfer if files per our nsiTransferable.idl. for some reason I thought I needed nsILocalFile functionality but nsIFile is official transfer flavor data so I changed it to that.
Attachment #386172 - Attachment is obsolete: true
Attachment #387373 - Flags: review?(mnyromyr)
Comment on attachment 387373 [details] [diff] [review] fix per review and changed flavor data interface > we need the x-moz-file flavor for transfer if files per our > nsiTransferable.idl. Yeah, I realized that after commenting. Sorry about that. :(
Attachment #387373 - Flags: review?(mnyromyr) → review+
Keywords: checkin-needed
Keywords: checkin-needed
Comment on attachment 387373 [details] [diff] [review] fix per review and changed flavor data interface You need SR for shared code in /mailnews.
Attachment #387373 - Flags: superreview?(bienvenu)
Comment on attachment 387373 [details] [diff] [review] fix per review and changed flavor data interface Karsten can you look at the problems with this patch on TB before sr. Bug 500564
Attachment #387373 - Flags: superreview?(bienvenu)
Attached patch forbid drop on certain folders (obsolete) (deleted) — Splinter Review
this patch prevents or forbids drop of the file on 'rss' feed folder thread panes and also those that canfilemessage is false. Also patched to new location in c-c hg tree.
Attachment #387373 - Attachment is obsolete: true
Attachment #389418 - Flags: review?(mnyromyr)
Attachment #389418 - Flags: review?(mnyromyr) → review+
Attachment #389418 - Flags: superreview?(bienvenu)
Status: NEW → ASSIGNED
Comment on attachment 389418 [details] [diff] [review] forbid drop on certain folders I feel like I reviewed this before, but in any case, you should be able to drop into rss folders since they're just local folders.
Attachment #389418 - Flags: superreview?(bienvenu) → superreview-
Attached patch drop file on rss folder is ok (obsolete) (deleted) — Splinter Review
this is the SeaMonkey version of a similiar patch reviewed and checked-in in TB.
Attachment #389418 - Attachment is obsolete: true
Attachment #393112 - Flags: superreview?(bienvenu)
I set this to depend on Bug 499878 hoping that gets check in first and avoid the bit rot if this had been a diff to the tip. Hope that's kosher
Blocks: 499878
No longer blocks: 499878
Depends on: 499878
Comment on attachment 393112 [details] [diff] [review] drop file on rss folder is ok I'm not the right person for SM reviews.
Attachment #393112 - Flags: superreview?(bienvenu) → superreview?(neil)
Comment on attachment 393112 [details] [diff] [review] drop file on rss folder is ok >+ let ds = Components.classes["@mozilla.org/widget/dragservice;1"] >+ .getService(Components.interfaces.nsIDragService) >+ .getCurrentSession(); >+ ds.canDrop = false; Isn't this the default? Anyway, I understand we should be using the new API for this where possible (see below). >+ let dt = aEvent.dataTransfer; Nit: should set the .effectAllowed to "copy" >+ if (!gMsgFolderSelected.canFileMessages) >+ return; Should do this check earlier. >+ let len = extFile.leafName.length; >+ if (len > 4 && extFile.leafName.substr(len - 4).toLowerCase() == ".eml") if (/\.eml$/.test(extFile.leafName)) [both times of course] >+ ds.canDrop = true; dev.m.o says event.preventDefault(); is the new API for this. Note: it's slightly confusing that you can drop a group of files if the first one is a .eml file but other files get imported too, but if the first one is not a .eml file then the drop is not permitted. Check all the files maybe?
Attachment #393112 - Flags: superreview?(neil) → superreview+
Attached patch change per review with exceptions (obsolete) (deleted) — Splinter Review
rerequest review due to following >Nit: should set the .effectAllowed to "copy" didn't add this for a few reasons. TB2 doesn't and our patch in TB3 doesn't bar move symbol (copy still occurs either way). But more important, due to some other defect, user can ctrl-drag for copy but once in pane it has no effect and releasing or pressing ctrl just cycles '+' symbol and it drops/copies source either way.
Attachment #393112 - Attachment is obsolete: true
Attachment #405784 - Flags: review?(neil)
Comment on attachment 405784 [details] [diff] [review] change per review with exceptions >+ if (extFile.isFile()) >+ if (/\.eml$/.test(extFile.leafName)) >+ if (extFile.isFile()) >+ if (/\.eml$/.test(extFile.leafName)) Nit: These could be combined into a single test using && if (/\.eml$/.test(extFile.leafName) && extFile.isFile())
Attachment #405784 - Flags: review?(neil) → review+
Attached patch combined tests (obsolete) (deleted) — Splinter Review
Attachment #405784 - Attachment is obsolete: true
I added effectAllowed="copy". In windows it doesn't do anything. Maybe it works in mac or unix so added per our api docs for future implementation on windows.
Attachment #405787 - Attachment is obsolete: true
Keywords: checkin-needed
Need approval-sm2.0 before checkin.
Keywords: checkin-needed
Target Milestone: --- → seamonkey2.0
Attachment #406798 - Flags: approval-seamonkey2.0?
Comment on attachment 406798 [details] [diff] [review] for checkin [Checkin: Comment 22] 1) Please "forward" the review/superreview flags in the future, by setting them yourself on patches that were changed according to review comments, and noting e.g. "forward r+sr=Neil" so that someone like me, who is only coming in here for approval, can easily see what's up. 2) Please land on comm-central before landing on 1.9.1, comm-central doesn't need approval now. 3) 2.0 final is done, approving for 2.0.1, which is what current comm-1.9.1 is headed for.
Attachment #406798 - Flags: approval-seamonkey2.0?
Attachment #406798 - Flags: approval-seamonkey2.0.1+
Attachment #406798 - Flags: approval-seamonkey2.0-
Keywords: checkin-needed
Attachment #406798 - Attachment description: for checkin → for checkin [Checkin: Comment 22]
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: