HatariWii/src/gui-osx/CreateFloppyController.m
2018-05-25 20:45:09 +02:00

86 lines
2.2 KiB
Objective-C

/*
Hatari - CreateFloppyController.m
This file is distributed under the GNU General Public License, version 2
or at your option any later version. Read the file gpl.txt for details.
Create floppy image window controller implementation file
Feb-Mar 2006, Sébastien Molines - Created
*/
#import "CreateFloppyController.h"
#import "Shared.h"
#include "main.h"
#include "configuration.h"
#include "createBlankImage.h"
#include "floppy.h"
@implementation CreateFloppyController
char szPath[FILENAME_MAX] ;
- (IBAction)createFloppyImage:(id)sender
{
BOOL cRet;
int ret, cTracks, cSectors, cSides ;
NSString *defaultDir ;
NSString *newCnf ;
// Get the default images directory
defaultDir = [NSString stringWithCString:ConfigureParams.DiskImage.szDiskImageDirectory encoding:NSASCIIStringEncoding];
// Run the SavePanel, then check if the user clicked OK
newCnf = [NSApp hsavefile:YES defoDir:defaultDir defoFile:nil types:[NSArray arrayWithObjects: allF, nil] ] ;
if ([newCnf length] != 0)
{
[newCnf getCString:szPath maxLength:FILENAME_MAX-1 encoding:NSASCIIStringEncoding] ;
// Get the tracks, sectors and sides values
cTracks = [[tracks selectedCell] tag];
cSectors = [[sectors selectedCell] tag];
cSides = [[sides selectedCell] tag];
// Create the image
cRet=CreateBlankImage_CreateFile(szPath, cTracks, cSectors, cSides);
if(cRet==TRUE)
{ ret = [NSApp myAlerte:NSInformationalAlertStyle Txt:nil firstB:localize(@"Ignore") alternateB:@" A: "
otherB:@" B: " informativeTxt:@""] ;
if (ret == NSAlertDefaultReturn)
return ;
printf("%d\n",ret);
ret = ret == NSAlertAlternateReturn ? 0 : 1 ;
Floppy_SetDiskFileName(ret, szPath, NULL);
Floppy_InsertDiskIntoDrive(ret);
} ;
} ;
}
- (void)awakeFromNib
{
// Fill the "Tracks" dropdown
[tracks removeAllItems];
int i;
for (i = 40; i <= 85; i++)
{
[tracks addItemWithTitle:[NSString stringWithFormat:@"%d", i]];
[[tracks lastItem] setTag:i];
}
// Select the default value of 80 tracks
[tracks selectItemAtIndex:[tracks indexOfItemWithTag:80]]; // Equivalent to Tiger-only [tracks selectItemWithTag:80];
}
- (IBAction)runModal:(id)sender
{
ModalWrapper *mw=[[ModalWrapper alloc] init];
[mw runModal:window];
[mw release];
}
@end