Annotation of hatari/src/gui-osx/CreateFloppyController.m, revision 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.