Annotation of previous/src/gui-sdl/dlgMissingFile.c, revision 1.1.1.1

1.1       root        1: /*
                      2:   Hatari - dlgMissingFile.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: const char DlgMissingFile_fileid[] = "Hatari dlgMissingFile.c : " __DATE__ " " __TIME__;
                      8: 
                      9: #include "main.h"
                     10: #include "configuration.h"
                     11: #include "dialog.h"
                     12: #include "sdlgui.h"
                     13: #include "file.h"
                     14: #include "paths.h"
                     15: 
                     16: 
                     17: /* Missing ROM dialog */
                     18: #define DLGMISSINGROM_MACHINE   3
                     19: 
                     20: #define DLGMISSINGROM_BROWSE    6
                     21: #define DLGMISSINGROM_DEFAULT   7
                     22: #define DLGMISSINGROM_NAME      8
                     23: 
                     24: #define DLGMISSINGROM_SELECT    9
                     25: #define DLGMISSINGROM_QUIT      10
                     26: 
                     27: 
                     28: static SGOBJ missingromdlg[] =
                     29: {
                     30:     { SGBOX, 0, 0, 0,0, 52,15, NULL },
                     31:     { SGTEXT, 0, 0, 16,1, 9,1, "ROM file not found!" },
                     32:     { SGTEXT, 0, 0, 2,4, 9,1, "Please select a compatible ROM for machine type" },
                     33:     { SGTEXT, 0, 0, 2,5, 9,1, NULL },
                     34:     
                     35:     { SGBOX, 0, 0, 1,7, 50,4, NULL },
                     36:     { SGTEXT, 0, 0, 2,8, 46,1, "Filename:" },
                     37:     { SGBUTTON, 0, 0, 13,8, 8,1, "Browse" },
                     38:     { SGBUTTON, 0, 0, 22,8, 9,1, "Default" },
                     39:     { SGTEXT, 0, 0, 2,9, 46,1, NULL },
                     40:     
                     41:     { SGBUTTON, SG_DEFAULT, 0, 9,13, 14,1, "Select" },
                     42:     { SGBUTTON, 0, 0, 29,13, 14,1, "Quit" },
                     43:     { -1, 0, 0, 0,0, 0,0, NULL }
                     44: };
                     45: 
                     46: 
                     47: /* Missing SCSI dialog */
                     48: #define DLGMISSINGSCSI_ALERT     1
                     49: #define DLGMISSINGSCSI_TARGET    3
                     50: 
                     51: #define DLGMISSINGSCSI_BROWSE    5
                     52: #define DLGMISSINGSCSI_CDROM     6
                     53: #define DLGMISSINGSCSI_NAME      7
                     54: 
                     55: #define DLGMISSINGSCSI_SELECT    8
                     56: #define DLGMISSINGSCSI_EJECT     9
                     57: #define DLGMISSINGSCSI_QUIT      10
                     58: 
                     59: 
                     60: static SGOBJ missingscsidlg[] =
                     61: {
                     62:     { SGBOX, 0, 0, 0,0, 52,15, NULL },
                     63:     { SGTEXT, 0, 0, 9,1, 9,1, NULL },
                     64:     { SGTEXT, 0, 0, 2,4, 9,1, "Please eject or select a valid disk image for" },
                     65:     { SGTEXT, 0, 0, 2,5, 9,1, NULL },
                     66:     
                     67:     { SGBOX, 0, 0, 1,7, 50,4, NULL },
                     68:     { SGBUTTON, 0, 0, 2,8, 10,1, "Browse" },
                     69:     { SGCHECKBOX, 0, 0, 15,8, 8,1, "CD-ROM" },
                     70:     { SGTEXT, 0, 0, 2,9, 46,1, NULL },
                     71:     
                     72:     { SGBUTTON, SG_DEFAULT, 0, 4,13, 10,1, "Select" },
                     73:     { SGBUTTON, 0, 0, 18,13, 9,1, "Eject" },
                     74:     { SGBUTTON, 0, 0, 38,13, 10,1, "Quit" },
                     75:     { -1, 0, 0, 0,0, 0,0, NULL }
                     76: };
                     77: 
                     78: 
                     79: 
                     80: 
                     81: 
                     82: 
                     83: /*-----------------------------------------------------------------------*/
                     84: /**
                     85:  * Show and process the Missing ROM dialog.
                     86:  */
                     87: void DlgMissing_Rom(void) {
                     88:     int but;
                     89:     char szDlgMissingRom[47];
                     90:     
                     91:     SDLGui_CenterDlg(missingromdlg);
                     92:     
                     93:     switch (ConfigureParams.System.nMachineType) {
                     94:         case NEXT_CUBE030:
                     95:             missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXT Computer (68030):";
                     96:             break;
                     97:         case NEXT_CUBE040:
                     98:             if (ConfigureParams.System.bTurbo)
                     99:                 missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXTcube Turbo:";
                    100:             else
                    101:                 missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXTcube:";
                    102:             break;
                    103:         case NEXT_STATION:
                    104:             if (ConfigureParams.System.bColor) {
                    105:                 if (ConfigureParams.System.bTurbo)
                    106:                     missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXTstation Turbo Color:";
                    107:                 else
                    108:                     missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXTstation Color:";
                    109:             } else {
                    110:                 if (ConfigureParams.System.bTurbo)
                    111:                     missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXTstation Turbo:";
                    112:                 else
                    113:                     missingromdlg[DLGMISSINGROM_MACHINE].txt = "NeXTstation:";
                    114:             }
                    115:             break;
                    116:         default:
                    117:             break;
                    118:     }
                    119:     
                    120:     szDlgMissingRom[0] = '\0';
                    121:     missingromdlg[DLGMISSINGROM_NAME].txt = szDlgMissingRom;
                    122:     
                    123:     do
                    124:        {
                    125:                but = SDLGui_DoDialog(missingromdlg, NULL);
                    126:                switch (but)
                    127:                {
                    128:             case DLGMISSINGROM_DEFAULT:
                    129:                 switch (ConfigureParams.System.nMachineType) {
                    130:                     case NEXT_CUBE030:
                    131:                         sprintf(ConfigureParams.Rom.szRom030FileName, "%s%cRev_1.0_v41.BIN",
                    132:                                 Paths_GetWorkingDir(), PATHSEP);
                    133:                         File_ShrinkName(szDlgMissingRom, ConfigureParams.Rom.szRom030FileName, sizeof(szDlgMissingRom)-1);
                    134:                         break;
                    135:                         
                    136:                     case NEXT_CUBE040:
                    137:                     case NEXT_STATION:
                    138:                         if (ConfigureParams.System.bTurbo) {
                    139:                             sprintf(ConfigureParams.Rom.szRomTurboFileName, "%s%cRev_3.3_v74.BIN",
                    140:                                     Paths_GetWorkingDir(), PATHSEP);
                    141:                             File_ShrinkName(szDlgMissingRom, ConfigureParams.Rom.szRomTurboFileName, sizeof(szDlgMissingRom)-1);
                    142:                         } else {
                    143:                             sprintf(ConfigureParams.Rom.szRom040FileName, "%s%cRev_2.5_v66.BIN",
                    144:                                     Paths_GetWorkingDir(), PATHSEP);
                    145:                             File_ShrinkName(szDlgMissingRom, ConfigureParams.Rom.szRom040FileName, sizeof(szDlgMissingRom)-1);
                    146:                         }
                    147:                         break;
                    148:                         
                    149:                     default:
                    150:                         break;
                    151:                 }
                    152:                 break;
                    153:                 
                    154:             case DLGMISSINGROM_BROWSE:
                    155:                 /* Show and process the file selection dlg */
                    156:                 switch (ConfigureParams.System.nMachineType) {
                    157:                     case NEXT_CUBE030:
                    158:                         SDLGui_FileConfSelect(szDlgMissingRom,
                    159:                                               ConfigureParams.Rom.szRom030FileName,
                    160:                                               sizeof(szDlgMissingRom)-1,
                    161:                                               false);
                    162:                         break;
                    163:                         
                    164:                     case NEXT_CUBE040:
                    165:                     case NEXT_STATION:
                    166:                         if (ConfigureParams.System.bTurbo) {
                    167:                             SDLGui_FileConfSelect(szDlgMissingRom,
                    168:                                                   ConfigureParams.Rom.szRomTurboFileName,
                    169:                                                   sizeof(szDlgMissingRom)-1,
                    170:                                                   false);
                    171:                         } else {
                    172:                             SDLGui_FileConfSelect(szDlgMissingRom,
                    173:                                                   ConfigureParams.Rom.szRom040FileName,
                    174:                                                   sizeof(szDlgMissingRom)-1,
                    175:                                                   false);
                    176:                         }
                    177:                         break;
                    178:                         
                    179:                     default:
                    180:                         break;
                    181:                 }
                    182:                 break;
                    183:             case DLGMISSINGROM_QUIT:
                    184:                 bQuitProgram = true;
                    185:                 break;
                    186:                }
                    187:        }
                    188:        while (but != DLGMISSINGROM_SELECT && but != SDLGUI_QUIT
                    189:               && but != SDLGUI_ERROR && !bQuitProgram);
                    190: }
                    191: 
                    192: 
                    193: /*-----------------------------------------------------------------------*/
                    194: /**
                    195:  * Show and process the Missing SCSI disk dialog.
                    196:  */
                    197: void DlgMissing_SCSIdisk(int target)
                    198: {
                    199:     int but;
                    200: 
                    201:     char dlgname_missingscsi[47];
                    202:     char missingscsi_alert[64];
                    203:     char missingscsi_target[64];
                    204:     
                    205:        SDLGui_CenterDlg(missingscsidlg);
                    206:     
                    207:        /* Set up dialog to actual values: */
                    208:     sprintf(missingscsi_alert, "SCSI disk %i: disk image not found!", target);
                    209:     missingscsidlg[DLGMISSINGSCSI_ALERT].txt = missingscsi_alert;
                    210:     
                    211:     sprintf(missingscsi_target, "SCSI disk %i:", target);
                    212:     missingscsidlg[DLGMISSINGSCSI_TARGET].txt = missingscsi_target;
                    213:     
                    214:     File_ShrinkName(dlgname_missingscsi, ConfigureParams.SCSI.target[target].szImageName, missingscsidlg[DLGMISSINGSCSI_NAME].w);
                    215:     if (ConfigureParams.SCSI.target[target].bCDROM)
                    216:         missingscsidlg[DLGMISSINGSCSI_CDROM].state |= SG_SELECTED;
                    217:     else
                    218:         missingscsidlg[DLGMISSINGSCSI_CDROM].state &= ~SG_SELECTED;
                    219:     
                    220:        missingscsidlg[DLGMISSINGSCSI_NAME].txt = dlgname_missingscsi;
                    221:         
                    222:     
                    223:        /* Draw and process the dialog */
                    224:        do
                    225:        {
                    226:                but = SDLGui_DoDialog(missingscsidlg, NULL);
                    227:                switch (but)
                    228:                {
                    229:             case DLGMISSINGSCSI_EJECT:
                    230:                 ConfigureParams.SCSI.target[target].bAttached = false;
                    231:                 ConfigureParams.SCSI.target[target].szImageName[0] = '\0';
                    232:                 dlgname_missingscsi[0] = '\0';
                    233:                 break;
                    234:             case DLGMISSINGSCSI_BROWSE:
                    235:                 if (SDLGui_FileConfSelect(dlgname_missingscsi,
                    236:                                           ConfigureParams.SCSI.target[target].szImageName,
                    237:                                           missingscsidlg[DLGMISSINGSCSI_NAME].w, false))
                    238:                     ConfigureParams.SCSI.target[target].bAttached = true;
                    239:                 break;
                    240:             case DLGMISSINGSCSI_QUIT:
                    241:                 bQuitProgram = true;
                    242:                 break;
                    243:                }
                    244:        }
                    245:        while (but != DLGMISSINGSCSI_SELECT && but != DLGMISSINGSCSI_EJECT && but != SDLGUI_QUIT
                    246:            && but != SDLGUI_ERROR && !bQuitProgram);
                    247:     
                    248:     /* Read values from dialog: */
                    249:     ConfigureParams.SCSI.target[target].bCDROM = (missingscsidlg[DLGMISSINGSCSI_CDROM].state & SG_SELECTED);
                    250: }

unix.superglobalmegacorp.com

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