On Jul 11, 2008, at 11:49 AM, glenn andreas wrote:


On Jul 11, 2008, at 10:44 AM, Gregory Weston wrote:

Ruotger Skupin wrote:

my app trashes files with -[NSWorkspace
performFileOperation:source:destination:files:tag:] and
NSWorkspaceRecycleOperation. This works flawlessly but users want undo.

NSWorkspace does not seem to allow undoing said file operation (or any
file operation for that matter). Correct me if I'm wrong.

So I might have to figure out where the trash directory for a given
volume/user/file etc is and move it myself. Is there an easy way to
find that out?

Drop-dead simple. FSFindFolder is your friend. Give it a volume reference number and tell it you're looking for the user's trash and it'll hand it back to you (creating it if necessary and you asked for that behavior).

I think possibly a bigger issue here is going to be that moving files to the trash can cause them to be renamed. At least doing so in Finder can; I'm not sure if the NSWorkspace routine does the same. You'll need a reliable way to track the file and map that back to the original location and name. You'll want to look at aliases for that.

If you use aliases (and due to the renaming issues, you really should), you won't need to worry about where the trash is located, since you'd just resolve where the file currently is (which just happens to be the correct trash folder for that volume/user).

An excellent point. I think I had somehow got it in my head that the OP might want to handle the move *to* the trash as well, but I have no justification for that belief. Just the excuse that I'm operating on 2 hours' sleep for the 3rd day this week.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to