diff options
Diffstat (limited to 'video/out/cocoa/view.m')
-rw-r--r-- | video/out/cocoa/view.m | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/video/out/cocoa/view.m b/video/out/cocoa/view.m index 45f0f17b06..9fc7506fc6 100644 --- a/video/out/cocoa/view.m +++ b/video/out/cocoa/view.m @@ -30,6 +30,14 @@ @synthesize adapter = _adapter; @synthesize tracker = _tracker; +- (id)initWithFrame:(NSRect)frame { + self = [super initWithFrame:frame]; + if (self) { + [self registerForDraggedTypes:@[NSFilenamesPboardType]]; + } + return self; +} + - (void)setFullScreen:(BOOL)willBeFullscreen { if (willBeFullscreen && ![self isInFullScreenMode]) { @@ -223,4 +231,17 @@ [self.adapter performAsyncResize:[self frameInPixels].size]; [self.adapter setNeedsResize]; } + +- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender +{ + return NSDragOperationEvery; +} + +- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender +{ + NSPasteboard *pboard = [sender draggingPasteboard]; + NSArray *pbitems = [pboard propertyListForType:NSFilenamesPboardType]; + [self.adapter handleFilesArray:pbitems]; + return YES; +} @end |