Revision: 12582
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=12582&view=rev
Author:   hofman
Date:     2008-01-19 09:13:11 -0800 (Sat, 19 Jan 2008)

Log Message:
-----------
Add trash contextual menu item.

Modified Paths:
--------------
    trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.h
    trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m

Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.h
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.h        2008-01-19 
16:29:51 UTC (rev 12581)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.h        2008-01-19 
17:13:11 UTC (rev 12582)
@@ -69,7 +69,8 @@
     FVOpenMenuItemTag = 1004,
     FVRevealMenuItemTag = 1005,
     FVChangeLabelMenuItemTag = 1006,
-    FVRemoveMenuItemTag = 1007
+    FVRemoveMenuItemTag = 1007,
+    FVTrashMenuItemTag = 1008
 };
 
 @interface FileView : NSView 
@@ -128,6 +129,7 @@
 // sender must implement -tag to return a valid Finder label integer (0-6); 
non-file URLs are ignored
 - (IBAction)changeFinderLabel:(id)sender;
 - (IBAction)openSelectedURLs:(id)sender;
+- (IBAction)trashSelectedURLs:(id)sender;
 
 - (BOOL)isEditable;
 - (void)setEditable:(BOOL)flag;

Modified: trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m
===================================================================
--- trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m        2008-01-19 
16:29:51 UTC (rev 12581)
+++ trunk/bibdesk_vendorsrc/amaxwell/FileView/FileView.m        2008-01-19 
17:13:11 UTC (rev 12582)
@@ -2171,6 +2171,26 @@
         [self reloadIcons];
 }
 
+- (IBAction)trashSelectedURLs:(id)sender;
+{
+    NSArray *selectedURLs = [self _selectedURLs];
+    if (NO == [self isEditable] || NO == [[self dataSource] fileView:self 
deleteURLsAtIndexes:_selectedIndexes]) {
+        NSBeep();
+    } else {
+        NSEnumerator *urlEnum = [selectedURLs objectEnumerator];
+        NSURL *url;
+        while (url = [urlEnum nextObject]) {
+            if ([url isFileURL] == NO || [url isEqual:[FVIcon 
missingFileURL]]) continue;
+            NSString *path = [url path];
+            NSString *folderPath = [path stringByDeletingLastPathComponent];
+            NSString *fileName = [path lastPathComponent];
+            int tag = 0;
+            [[NSWorkspace sharedWorkspace] 
performFileOperation:NSWorkspaceRecycleOperation source:folderPath 
destination:nil files:[NSArray arrayWithObjects:fileName, nil] tag:&tag];
+        }
+        [self reloadIcons];
+    }
+}
+
 - (IBAction)selectAll:(id)sender;
 {
     [self setSelectionIndexes:[NSIndexSet 
indexSetWithIndexesInRange:NSMakeRange(0, [self numberOfIcons])]];
@@ -2217,6 +2237,8 @@
         return YES;
     else if (action == @selector(delete:) || action == @selector(copy:) || 
action == @selector(cut:))
         return [self isEditable] && [_selectedIndexes count] > 0;
+    else if (action == @selector(trashSelectedURLs:))
+        return [self isEditable] && [[[self _selectedURLs] 
valueForKey:@"isFileURL"] containsObject:[NSNumber numberWithInt:1]];
     else if (action == @selector(selectAll:))
         return ([self numberOfIcons] > 0);
     else if (action == @selector(previewAction:))
@@ -2323,6 +2345,8 @@
         [anItem setTag:FVRevealMenuItemTag];
         anItem = [sharedMenu 
addItemWithTitle:NSLocalizedStringFromTableInBundle(@"Remove", @"FileView", 
bundle, @"context menu title") action:@selector(delete:) keyEquivalent:@""];
         [anItem setTag:FVRemoveMenuItemTag];
+        anItem = [sharedMenu 
addItemWithTitle:NSLocalizedStringFromTableInBundle(@"Move To Trash", 
@"FileView", bundle, @"context menu title") 
action:@selector(trashSelectedURLs:) keyEquivalent:@""];
+        [anItem setTag:FVTrashMenuItemTag];
         
         // Finder label submenu
         anItem = [sharedMenu 
addItemWithTitle:NSLocalizedStringFromTableInBundle(@"Set Finder Label", 
@"FileView", bundle, @"context menu title") action:NULL keyEquivalent:@""];


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to