win32 compile fix
[qemu] / cocoa.m
diff --git a/cocoa.m b/cocoa.m
index 38b4760..d41517b 100644 (file)
--- a/cocoa.m
+++ b/cocoa.m
@@ -416,8 +416,11 @@ static void QZ_SetPortAlphaOpaque ()
 /* Called when the internal event loop has just started running */
 - (void)applicationDidFinishLaunching: (NSNotification *) note
 {
-    
-    /* Do whatever we want here : set up a pc list... */
+
+    /* Display an open dialog box if no argument were passed or
+       if qemu was launched from the finder ( the Finder passes "-psn" ) */
+
+    if( gArgc <= 1 || strncmp (gArgv[1], "-psn", 4) == 0)
     {
         NSOpenPanel *op = [[NSOpenPanel alloc] init];
         
@@ -427,13 +430,15 @@ static void QZ_SetPortAlphaOpaque ()
         
         [op setMessage:@"Select the disk image you want to boot.\n\nHit the \"Cancel\" button to quit"];
         
-        [op beginSheetForDirectory:nil file:nil types:[NSArray arrayWithObjects:@"img",@"iso",nil]
+        [op beginSheetForDirectory:nil file:nil types:[NSArray arrayWithObjects:@"img",@"iso",@"dmg",@"qcow",@"cow",@"cloop",@"vmdk",nil]
               modalForWindow:window modalDelegate:self
               didEndSelector:@selector(openPanelDidEnd:returnCode:contextInfo:) contextInfo:NULL];
     }
-    
-    /* or Launch Qemu, with the global args */
-    //[self startEmulationWithArgc:gArgc argv:gArgv];
+    else
+    {
+        /* or Launch Qemu, with the global args */
+        [self startEmulationWithArgc:gArgc argv:gArgv];
+    }
 }
 
 - (void)applicationWillTerminate:(NSNotification *)aNotification