summaryrefslogtreecommitdiffstats
path: root/video/out/cocoa/view.m
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2014-01-04 17:17:33 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2014-01-04 17:29:53 +0100
commit1e988c595bd4eb46c4df19cc33faf5d69a7d2ef1 (patch)
treea874ac727ca29dacca184a83f31cb26a7e822aa0 /video/out/cocoa/view.m
parent69d44d992c685fd2e0a795448371d209d4522f44 (diff)
downloadmpv-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.m21
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