Annotation of hatari/src/gui-osx/CreateFloppyController.m, revision 1.1.1.1

1.1       root        1: /*
                      2:   Hatari - CreateFloppyController.m
                      3: 
                      4:   This file is distributed under the GNU Public License, version 2 or at
                      5:   your option any later version. Read the file gpl.txt for details.
                      6: 
                      7:   Create floppy image window controller implementation file
                      8: 
                      9:   Feb-Mar 2006, Sébastien Molines - Created
                     10: */
                     11: 
                     12: #import "CreateFloppyController.h"
                     13: #import "Shared.h"
                     14: 
                     15: #include "main.h"
                     16: #include "configuration.h"
                     17: #include "createBlankImage.h"
                     18: 
                     19: @implementation CreateFloppyController
                     20: 
                     21: - (IBAction)createFloppyImage:(id)sender
                     22: {
                     23:        // Create a SavePanel
                     24:        NSSavePanel *savePanel = [NSSavePanel savePanel];
                     25: 
                     26:        // Set its allowed file types
                     27:        NSArray* allowedFileTypes = [NSArray arrayWithObjects: @"st", @"msa", @"dim", @"gz", nil];
                     28:        [savePanel setAllowedFileTypes:allowedFileTypes];
                     29:        
                     30:        // Get the default images directory
                     31:        NSString* defaultDir = [NSString stringWithCString:ConfigureParams.DiskImage.szDiskImageDirectory];
                     32: 
                     33:        // Run the SavePanel, then check if the user clicked OK
                     34:     if ( NSOKButton == [savePanel runModalForDirectory:defaultDir file:nil] )
                     35:        {
                     36:                // Get the path to the chosen file
                     37:                NSString *path = [savePanel filename];
                     38:        
                     39:                // Make a non-const C string out of it
                     40:                const char* constSzPath = [path cString];
                     41:                size_t cbPath = strlen(constSzPath) + 1;
                     42:                char szPath[cbPath];
                     43:                strncpy(szPath, constSzPath, cbPath);
                     44:                                        
                     45:                // Get the tracks, sectors and sides values
                     46:                int cTracks = [[tracks selectedCell] tag];
                     47:                int cSectors = [[sectors selectedCell] tag];
                     48:                int cSides = [[sides selectedCell] tag];
                     49:                                        
                     50:                // Create the image
                     51:                CreateBlankImage_CreateFile(szPath, cTracks, cSectors, cSides);
                     52:        }
                     53: }
                     54: 
                     55: - (void)awakeFromNib
                     56: {
                     57:        // Fill the "Tracks" dropdown
                     58:     [tracks removeAllItems];
                     59:        int i;
                     60:        for (i = 40; i <= 85; i++)
                     61:        {
                     62:                [tracks addItemWithTitle:[NSString stringWithFormat:@"%d", i]]; 
                     63:                [[tracks lastItem] setTag:i];
                     64:        }
                     65:        
                     66:        // Select the default value of 80 tracks
                     67:        [tracks selectItemAtIndex:[tracks indexOfItemWithTag:80]]; // Equivalent to Tiger-only [tracks selectItemWithTag:80];
                     68: 
                     69: 
                     70: }
                     71: 
                     72: - (IBAction)runModal:(id)sender
                     73: {
                     74:        [[ModalWrapper alloc] runModal:window];
                     75: }
                     76: 
                     77: 
                     78: @end

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.