]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/intf.m
OS X intf work
[vlc] / modules / gui / macosx / intf.m
index 5132481cb2a72ceacf0aa6fc0a3bc843f0c19cef..80680ff95f59389347cebce1900807c716343023 100644 (file)
@@ -37,6 +37,7 @@
 #include "playlist.h"
 #include "controls.h"
 #include "about.h"
+#include "open.h"
 
 /*****************************************************************************
  * Local prototypes.
@@ -293,6 +294,7 @@ static VLCMain *_o_sharedMainInstance = nil;
     
     o_about = [[VLAboutBox alloc] init];
     o_prefs = [[VLCPrefs alloc] init];
+    o_open = [[VLCOpen alloc] init];
     
     return _o_sharedMainInstance;
 }
@@ -375,6 +377,7 @@ static VLCMain *_o_sharedMainInstance = nil;
 
     [self setSubmenusEnabled: FALSE];
     [self manageVolumeSlider];
+    [o_window setDelegate: self];
 
     p_playlist = (playlist_t *) vlc_object_find( p_intf, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
 
@@ -1283,6 +1286,54 @@ static VLCMain *_o_sharedMainInstance = nil;
     [self application: nil openFile: [sender title]];
 }
 
+- (IBAction)intfOpenFile:(id)sender
+{
+    if (!nib_open_loaded)
+    {
+        nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
+        [o_open awakeFromNib];
+        [o_open openFile];
+    } else {
+        [o_open openFile];
+    }
+}
+
+- (IBAction)intfOpenFileGeneric:(id)sender
+{
+    if (!nib_open_loaded)
+    {
+        nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
+        [o_open awakeFromNib];
+        [o_open openFileGeneric];
+    } else {
+        [o_open openFileGeneric];
+    }
+}
+
+- (IBAction)intfOpenDisc:(id)sender
+{
+    if (!nib_open_loaded)
+    {
+        nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
+        [o_open awakeFromNib];
+        [o_open openDisc];
+    } else {
+        [o_open openDisc];
+    }
+}
+
+- (IBAction)intfOpenNet:(id)sender
+{
+    if (!nib_open_loaded)
+    {
+        nib_open_loaded = [NSBundle loadNibNamed:@"Open" owner:self];
+        [o_open awakeFromNib];
+        [o_open openNet];
+    } else {
+        [o_open openNet];
+    }
+}
+
 - (IBAction)viewAbout:(id)sender
 {
     [o_about showPanel];
@@ -1387,6 +1438,33 @@ static VLCMain *_o_sharedMainInstance = nil;
     }
 }
 
+- (NSSize)windowWillResize:(NSWindow *)sender toSize:(NSSize)proposedFrameSize
+{
+    if( proposedFrameSize.height <= 200 )
+    {
+        if( [sender frame].size.height > 200 )
+        {
+            //rect_remember = [[o_playlist playlistView] frame];
+            o_document_view = [o_clip_view documentView];
+            [o_document_view retain];
+            [o_clip_view setDocumentView: NULL];
+        }
+        return NSMakeSize( proposedFrameSize.width, 95 );
+    }
+    else
+    {
+        if( [sender frame].size.height <= 200 )
+        {
+            [o_clip_view setDocumentView: o_document_view];
+            [o_document_view release];
+            [o_document_view setFrameSize: NSMakeSize( proposedFrameSize.width - 22, proposedFrameSize.height - 120 )];
+            //[[o_playlist playlistView] setFrame: rect_remember];
+        }
+        return proposedFrameSize;
+    }
+    return proposedFrameSize;
+}
+
 @end
 
 @implementation VLCMain (NSMenuValidation)