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