summaryrefslogtreecommitdiffstats
path: root/video/out/cocoa/view.m
diff options
context:
space:
mode:
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