Annotation of hatari/src/gui-sdl/dlgRom.c, revision 1.1.1.1

1.1       root        1: /*
                      2:   Hatari - dlgRom.c
                      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: char DlgRom_rcsid[] = "Hatari $Id: dlgRom.c,v 1.2 2004/12/09 21:06:40 thothy Exp $";
                      8: 
                      9: #include "main.h"
                     10: #include "configuration.h"
                     11: #include "dialog.h"
                     12: #include "sdlgui.h"
                     13: #include "file.h"
                     14: 
                     15: 
                     16: #define DLGROM_TOSBROWSE  4
                     17: #define DLGROM_TOSNAME    5
                     18: #define DLGROM_CARTEJECT  9
                     19: #define DLGROM_CARTBROWSE 10
                     20: #define DLGROM_CARTNAME   11
                     21: #define DLGROM_EXIT       13
                     22: 
                     23: 
                     24: /* The ROM dialog: */
                     25: static SGOBJ romdlg[] =
                     26: {
                     27:        { SGBOX, 0, 0, 0,0, 52,23, NULL },
                     28:        { SGBOX, 0, 0, 1,1, 50,8, NULL },
                     29:        { SGTEXT, 0, 0, 22,2, 9,1, "TOS setup" },
                     30:        { SGTEXT, 0, 0, 2,5, 25,1, "TOS image:" },
                     31:        { SGBUTTON, 0, 0, 42,5, 8,1, "Browse" },
                     32:        { SGTEXT, 0, 0, 2,7, 46,1, NULL },
                     33:        { SGBOX, 0, 0, 1,10, 50,8, NULL },
                     34:        { SGTEXT, 0, 0, 18,11, 15,1, "Cartridge setup" },
                     35:        { SGTEXT, 0, 0, 2,14, 25,1, "Cartridge image:" },
                     36:        { SGBUTTON, 0, 0, 32,14, 8,1, "Eject" },
                     37:        { SGBUTTON, 0, 0, 42,14, 8,1, "Browse" },
                     38:        { SGTEXT, 0, 0, 2,16, 46,1, NULL },
                     39:        { SGTEXT, 0, 0, 2,19, 25,1, "A reset is needed after changing these options." },
                     40:        { SGBUTTON, 0, 0, 16,21, 20,1, "Back to main menu" },
                     41:        { -1, 0, 0, 0,0, 0,0, NULL }
                     42: };
                     43: 
                     44: 
                     45: /*-----------------------------------------------------------------------*/
                     46: /*
                     47:   Show and process the ROM dialog.
                     48: */
                     49: void DlgRom_Main(void)
                     50: {
                     51:        char *tmpname;
                     52:        char szDlgTosName[47];
                     53:        char szDlgCartName[47];
                     54:        int but;
                     55: 
                     56:        tmpname = malloc(FILENAME_MAX);
                     57:        if (tmpname == NULL)
                     58:                return;
                     59: 
                     60:        SDLGui_CenterDlg(romdlg);
                     61: 
                     62:        File_ShrinkName(szDlgTosName, DialogParams.Rom.szTosImageFileName, sizeof(szDlgTosName)-1);
                     63:        romdlg[DLGROM_TOSNAME].txt = szDlgTosName;
                     64: 
                     65:        File_ShrinkName(szDlgCartName, DialogParams.Rom.szCartridgeImageFileName, sizeof(szDlgCartName)-1);
                     66:        romdlg[DLGROM_CARTNAME].txt = szDlgCartName;
                     67: 
                     68:        do
                     69:        {
                     70:                but = SDLGui_DoDialog(romdlg);
                     71:                switch (but)
                     72:                {
                     73:                 case DLGROM_TOSBROWSE:
                     74:                        strcpy(tmpname, DialogParams.Rom.szTosImageFileName);
                     75:                        File_MakeAbsoluteName(tmpname);
                     76:                        if (SDLGui_FileSelect(tmpname, NULL, FALSE))   /* Show and process the file selection dlg */
                     77:                        {
                     78:                                strcpy(DialogParams.Rom.szTosImageFileName, tmpname);
                     79:                                File_ShrinkName(szDlgTosName, DialogParams.Rom.szTosImageFileName, sizeof(szDlgTosName)-1);
                     80:                        }
                     81:                        break;
                     82: 
                     83:                 case DLGROM_CARTEJECT:
                     84:                        szDlgCartName[0] = 0;
                     85:                        DialogParams.Rom.szCartridgeImageFileName[0] = 0;
                     86:                        break;
                     87: 
                     88:                 case DLGROM_CARTBROWSE:
                     89:                        strcpy(tmpname, DialogParams.Rom.szCartridgeImageFileName);
                     90:                        File_MakeAbsoluteName(tmpname);
                     91:                        if (SDLGui_FileSelect(tmpname, NULL, FALSE))   /* Show and process the file selection dlg */
                     92:                        {
                     93:                                strcpy(DialogParams.Rom.szCartridgeImageFileName, tmpname);
                     94:                                File_ShrinkName(szDlgCartName, DialogParams.Rom.szCartridgeImageFileName, sizeof(szDlgCartName)-1);
                     95:                        }
                     96:                        break;
                     97:                }
                     98:        }
                     99:        while (but!=DLGROM_EXIT && !bQuitProgram);
                    100: 
                    101:        free(tmpname);
                    102: }

unix.superglobalmegacorp.com

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