Changeset 6350

Show
Ignore:
Timestamp:
11/15/08 16:26:07 (2 months ago)
Author:
morris
Message:

Allow copy when dragging/dropping within playlist by holding down option key

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/Spiral/SPPlaylistController.m

    r6329 r6350  
    11421142        NSString                        *path; 
    11431143        id                                      item, parentItem; 
     1144        NSDragOperation         operation; 
    11441145 
    11451146        if(childItem && ![childItem isKindOfClass:[SPPlaylistGroup class]]) 
     
    11491150        types = [pasteboard types]; 
    11501151 
    1151         if([types containsObject:SPPlaylistItemPboardType] && childItem) { 
     1152        if([types containsObject:SPPlaylistItemPboardType]) { 
     1153                operation = [[NSApp currentEvent] alternateKeyModifier] ? NSDragOperationCopy : NSDragOperationMove; 
     1154                 
    11521155                for(item in [NSKeyedUnarchiver unarchiveObjectWithData:[pasteboard dataForType:SPPlaylistItemPboardType]]) { 
    11531156                        parentItem = childItem; 
     
    11571160                                        return NSDragOperationNone; 
    11581161                        } while((parentItem = [parentItem parentItem])); 
     1162                         
     1163                        if([item isKindOfClass:[SPPlaylistRepresentedFile class]]) 
     1164                                operation = NSDragOperationCopy; 
    11591165                } 
     1166 
     1167                return operation; 
    11601168        } 
    11611169        else if([types containsObject:NSFilenamesPboardType]) { 
     
    11661174                        } 
    11671175                } 
    1168         } 
    1169  
    1170         return NSDragOperationCopy; 
     1176 
     1177                return NSDragOperationCopy; 
     1178        } 
     1179 
     1180        return NSDragOperationNone; 
    11711181} 
    11721182 
     
    11961206                                        newItem = item; 
    11971207                                 
    1198                                 [(SPPlaylistGroup *) [newItem parentItem] removeItem:newItem]; 
     1208                                if([[newItem parentItem] isKindOfClass:[SPPlaylistGroup class]] && ![[NSApp currentEvent] alternateKeyModifier]) 
     1209                                        [(SPPlaylistGroup *) [newItem parentItem] removeItem:newItem]; 
    11991210                                 
    12001211                                if(index >= 0 && (NSUInteger) index < [group numberOfItems])