From ccb402cde6ac352ab506c3fe80a62339d8a578db Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 8 Sep 2017 11:43:37 +0200 Subject: [PATCH] Accepting drops on IconSelectionView --- MacPass/MPIconSelectViewController.m | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m index 9d85fa6d..04d978a0 100644 --- a/MacPass/MPIconSelectViewController.m +++ b/MacPass/MPIconSelectViewController.m @@ -29,7 +29,7 @@ typedef NS_ENUM(NSUInteger, MPIconeSelectionType) { MPIconSelectionCustom }; -@interface MPIconSelectViewController () +@interface MPIconSelectViewController () /* UI properties */ @property (weak) IBOutlet NSCollectionView *iconCollectionView; @@ -58,6 +58,8 @@ typedef NS_ENUM(NSUInteger, MPIconeSelectionType) { self.iconCollectionView.backgroundColors = @[NSColor.clearColor]; self.iconCollectionView.selectable = YES; self.iconCollectionView.allowsMultipleSelection = NO; + self.iconCollectionView.delegate = self; + [self.iconCollectionView registerForDraggedTypes:@[(NSString *)kUTTypeURL, (NSString *)kUTTypeFileURL]]; [self _updateContent]; } @@ -117,5 +119,14 @@ typedef NS_ENUM(NSUInteger, MPIconeSelectionType) { [self.view.window performClose:nil]; } +- (NSDragOperation)collectionView:(NSCollectionView *)collectionView validateDrop:(id )draggingInfo proposedIndex:(NSInteger *)proposedDropIndex dropOperation:(NSCollectionViewDropOperation *)proposedDropOperation { + *proposedDropIndex = MAX(0,self.iconCollectionView.content.count - 1); + return NSDragOperationCopy; +} + +- (BOOL)collectionView:(NSCollectionView *)collectionView acceptDrop:(id )draggingInfo index:(NSInteger)index dropOperation:(NSCollectionViewDropOperation)dropOperation { + NSLog(@"Index:%ld", index); + return YES; +} @end