diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2014-01-04 17:17:33 +0100 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2014-01-04 17:29:53 +0100 |
commit | 1e988c595bd4eb46c4df19cc33faf5d69a7d2ef1 (patch) | |
tree | a874ac727ca29dacca184a83f31cb26a7e822aa0 /video/out/cocoa/view.m | |
parent | 69d44d992c685fd2e0a795448371d209d4522f44 (diff) | |
download | mpv-1e988c595bd4eb46c4df19cc33faf5d69a7d2ef1.tar.bz2 mpv-1e988c595bd4eb46c4df19cc33faf5d69a7d2ef1.tar.xz |
cocoa: handle files drag and drop on the player video view
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 |