--- hatari/src/gui-osx/CreateFloppyController.m 2019/04/01 07:13:04 1.1 +++ hatari/src/gui-osx/CreateFloppyController.m 2019/04/09 08:51:50 1.1.1.3 @@ -15,11 +15,14 @@ #include "main.h" #include "configuration.h" #include "createBlankImage.h" +#include "floppy.h" @implementation CreateFloppyController - (IBAction)createFloppyImage:(id)sender { + BOOL cRet; + // Create a SavePanel NSSavePanel *savePanel = [NSSavePanel savePanel]; @@ -28,7 +31,7 @@ [savePanel setAllowedFileTypes:allowedFileTypes]; // Get the default images directory - NSString* defaultDir = [NSString stringWithCString:ConfigureParams.DiskImage.szDiskImageDirectory]; + NSString* defaultDir = [NSString stringWithCString:ConfigureParams.DiskImage.szDiskImageDirectory encoding:NSASCIIStringEncoding]; // Run the SavePanel, then check if the user clicked OK if ( NSOKButton == [savePanel runModalForDirectory:defaultDir file:nil] ) @@ -37,7 +40,7 @@ NSString *path = [savePanel filename]; // Make a non-const C string out of it - const char* constSzPath = [path cString]; + const char* constSzPath = [path cStringUsingEncoding:NSASCIIStringEncoding]; size_t cbPath = strlen(constSzPath) + 1; char szPath[cbPath]; strncpy(szPath, constSzPath, cbPath); @@ -48,7 +51,20 @@ int cSides = [[sides selectedCell] tag]; // Create the image - CreateBlankImage_CreateFile(szPath, cTracks, cSectors, cSides); + cRet=CreateBlankImage_CreateFile(szPath, cTracks, cSectors, cSides); + if(cRet==TRUE) + { + int ret = NSRunAlertPanel(@"Hatari", @"Insert newly created disk in", @"Ignore", @"A:", @"B:"); + if (ret != NSAlertDefaultReturn) + { + printf("%d\n",ret); + if(ret==-1) ret=1; //0=>Drive 0, -1=>Drive 1 + + Floppy_SetDiskFileName(ret, szPath, NULL); + Floppy_InsertDiskIntoDrive(ret); + } + } + } } @@ -71,7 +87,9 @@ - (IBAction)runModal:(id)sender { - [[ModalWrapper alloc] runModal:window]; + ModalWrapper *mw=[[ModalWrapper alloc] init]; + [mw runModal:window]; + [mw release]; }