Annotation of previous/src/gui-sdl/dlgMissingFile.c, revision 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.