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

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 */
1.1.1.2 ! root       18: #define DLGMISROM_ALERT     1
1.1       root       19: 
1.1.1.2 ! root       20: #define DLGMISROM_BROWSE    4
        !            21: #define DLGMISROM_DEFAULT   5
        !            22: #define DLGMISROM_NAME      6
        !            23: 
        !            24: #define DLGMISROM_SELECT    7
        !            25: #define DLGMISROM_REMOVE    8
        !            26: #define DLGMISROM_QUIT      9
1.1       root       27: 
                     28: 
                     29: static SGOBJ missingromdlg[] =
                     30: {
                     31:     { SGBOX, 0, 0, 0,0, 52,15, NULL },
1.1.1.2 ! root       32:     { SGTEXT, 0, 0, 2,1, 38,1, NULL },
        !            33:     { SGTEXT, 0, 0, 2,4, 43,1, "Please select a valid ROM file:" },
1.1       root       34:     
1.1.1.2 ! root       35:     { SGBOX, 0, 0, 1,6, 50,4, NULL },
        !            36:     { SGBUTTON, 0, 0, 2,7, 8,1, "Browse" },
        !            37:     { SGBUTTON, 0, 0, 11,7, 9,1, "Default" },
        !            38:     { SGTEXT, 0, 0, 2,8, 46,1, NULL },
        !            39:     
        !            40:     { SGBUTTON, SG_DEFAULT, 0, 4,12, 10,1, "Select" },
        !            41:     { SGBUTTON, 0, 0, 16,12, 10,1, "Remove" },
        !            42:     { SGBUTTON, 0, 0, 38,12, 10,1, "Quit" },
1.1       root       43:     { -1, 0, 0, 0,0, 0,0, NULL }
                     44: };
                     45: 
                     46: 
1.1.1.2 ! root       47: /* Missing Disk dialog */
        !            48: #define DLGMISDSK_ALERT     1
1.1       root       49: 
1.1.1.2 ! root       50: #define DLGMISDSK_DRIVE     4
        !            51: #define DLGMISDSK_BROWSE    5
        !            52: #define DLGMISDSK_PROTECT   6
        !            53: #define DLGMISDSK_NAME      7
1.1       root       54: 
1.1.1.2 ! root       55: #define DLGMISDSK_SELECT    8
        !            56: #define DLGMISDSK_REMOVE    9
        !            57: #define DLGMISDSK_QUIT      10
1.1       root       58: 
                     59: 
1.1.1.2 ! root       60: static SGOBJ missingdiskdlg[] =
1.1       root       61: {
                     62:     { SGBOX, 0, 0, 0,0, 52,15, NULL },
1.1.1.2 ! root       63:     { SGTEXT, 0, 0, 6,1, 38,1, NULL },
        !            64:     { SGTEXT, 0, 0, 2,4, 43,1, "Please remove or select a valid disk image:" },
        !            65:     
        !            66:     { SGBOX, 0, 0, 1,6, 50,4, NULL },
        !            67:     { SGTEXT, 0, 0, 2,7, 15,1, NULL },
        !            68:     { SGBUTTON, 0, 0, 39,7, 10,1, "Browse" },
        !            69:     { SGTEXT, 0, 0, 15,7, 10,1, NULL },
        !            70:     { SGTEXT, 0, 0, 2,8, 46,1, NULL },
        !            71:     
        !            72:     { SGBUTTON, SG_DEFAULT, 0, 4,12, 10,1, "Select" },
        !            73:     { SGBUTTON, 0, 0, 16,12, 10,1, "Remove" },
        !            74:     { SGBUTTON, 0, 0, 38,12, 10,1, "Quit" },
1.1       root       75:     { -1, 0, 0, 0,0, 0,0, NULL }
                     76: };
                     77: 
                     78: 
                     79: 
                     80: 
                     81: /*-----------------------------------------------------------------------*/
                     82: /**
                     83:  * Show and process the Missing ROM dialog.
                     84:  */
1.1.1.2 ! root       85: void DlgMissing_Rom(char type[], char *imgname, char *defname, bool *enabled) {
1.1       root       86:     int but;
1.1.1.2 ! root       87:     
        !            88:     char dlgname_missingrom[64];
        !            89:     char missingrom_alert[64];
        !            90:     
        !            91:     bool bOldMouseVisibility;
        !            92:     bOldMouseVisibility = SDL_ShowCursor(SDL_QUERY);
        !            93:     SDL_ShowCursor(SDL_ENABLE);
1.1       root       94:     
                     95:     SDLGui_CenterDlg(missingromdlg);
                     96:     
1.1.1.2 ! root       97:     /* Set up dialog to actual values: */
        !            98:     sprintf(missingrom_alert, "%s: ROM file not found!", type);
        !            99:     missingromdlg[DLGMISROM_ALERT].txt = missingrom_alert;
        !           100:     
        !           101:     File_ShrinkName(dlgname_missingrom, imgname, missingromdlg[DLGMISROM_NAME].w);
        !           102:     
        !           103:     missingromdlg[DLGMISROM_NAME].txt = dlgname_missingrom;
        !           104:     
        !           105:     if (*enabled) {
        !           106:         missingromdlg[DLGMISROM_REMOVE].type = SGBUTTON;
        !           107:         missingromdlg[DLGMISROM_REMOVE].txt = "Remove";
        !           108:     } else {
        !           109:         missingromdlg[DLGMISROM_REMOVE].type = SGTEXT;
        !           110:         missingromdlg[DLGMISROM_REMOVE].txt = "";
1.1       root      111:     }
                    112:     
                    113:     
1.1.1.2 ! root      114:     /* Draw and process the dialog */
1.1       root      115:     do
1.1.1.2 ! root      116:     {
        !           117:         but = SDLGui_DoDialog(missingromdlg, NULL);
        !           118:         switch (but)
        !           119:         {
1.1       root      120:                 
1.1.1.2 ! root      121:             case DLGMISROM_BROWSE:
        !           122:                 SDLGui_FileConfSelect(dlgname_missingrom, imgname,
        !           123:                                       missingromdlg[DLGMISROM_NAME].w,
        !           124:                                       false);
        !           125:                 break;
        !           126:             case DLGMISROM_DEFAULT:
        !           127:                 sprintf(imgname, "%s",defname);
        !           128:                 File_ShrinkName(dlgname_missingrom, imgname, missingromdlg[DLGMISROM_NAME].w);
        !           129:                 break;
        !           130:             case DLGMISROM_REMOVE:
        !           131:                 *enabled = false;
        !           132:                 *imgname = '\0';
1.1       root      133:                 break;
1.1.1.2 ! root      134:             case DLGMISROM_QUIT:
1.1       root      135:                 bQuitProgram = true;
                    136:                 break;
1.1.1.2 ! root      137:                 
        !           138:             default:
        !           139:                 break;
        !           140:         }
        !           141:     }
        !           142:     while (but != DLGMISROM_SELECT && but != DLGMISROM_REMOVE &&
        !           143:            but != SDLGUI_QUIT && but != SDLGUI_ERROR && !bQuitProgram);
        !           144:     
        !           145:     
        !           146:     SDL_ShowCursor(bOldMouseVisibility);
1.1       root      147: }
                    148: 
                    149: 
                    150: /*-----------------------------------------------------------------------*/
                    151: /**
1.1.1.2 ! root      152:  * Show and process the Missing Disk dialog.
1.1       root      153:  */
1.1.1.2 ! root      154: void DlgMissing_Disk(char type[], int num, char *imgname, bool *inserted, bool *wp)
1.1       root      155: {
                    156:     int but;
1.1.1.2 ! root      157:     
        !           158:     char dlgname_missingdisk[64];
        !           159:     char missingdisk_alert[64];
        !           160:     char missingdisk_disk[64];
        !           161:     
        !           162:     bool bOldMouseVisibility;
        !           163:     bOldMouseVisibility = SDL_ShowCursor(SDL_QUERY);
        !           164:     SDL_ShowCursor(SDL_ENABLE);
1.1       root      165: 
1.1.1.2 ! root      166:     SDLGui_CenterDlg(missingdiskdlg);
        !           167:     
        !           168:     /* Set up dialog to actual values: */
        !           169:     sprintf(missingdisk_alert, "%s drive %i: disk image not found!", type, num);
        !           170:     missingdiskdlg[DLGMISDSK_ALERT].txt = missingdisk_alert;
        !           171:     
        !           172:     sprintf(missingdisk_disk, "%s %i:", type, num);
        !           173:     missingdiskdlg[DLGMISDSK_DRIVE].txt = missingdisk_disk;
        !           174:     
        !           175:     File_ShrinkName(dlgname_missingdisk, imgname, missingdiskdlg[DLGMISDSK_NAME].w);
        !           176:     
        !           177:     missingdiskdlg[DLGMISDSK_NAME].txt = dlgname_missingdisk;
        !           178:     
        !           179:     
        !           180:     /* Draw and process the dialog */
        !           181:     do
        !           182:     {
        !           183:         if (*wp)
        !           184:             missingdiskdlg[DLGMISDSK_PROTECT].txt = "read-only";
        !           185:         else
        !           186:             missingdiskdlg[DLGMISDSK_PROTECT].txt = "";
        !           187: 
        !           188:         but = SDLGui_DoDialog(missingdiskdlg, NULL);
        !           189:         switch (but)
        !           190:         {
        !           191:                 
        !           192:             case DLGMISDSK_BROWSE:
        !           193:                 SDLGui_DiskSelect(dlgname_missingdisk, imgname, missingdiskdlg[DLGMISDSK_NAME].w, wp);
        !           194:                 break;
        !           195:             case DLGMISDSK_REMOVE:
        !           196:                 *inserted = false;
        !           197:                 *wp = false;
        !           198:                 *imgname = '\0';
1.1       root      199:                 break;
1.1.1.2 ! root      200:             case DLGMISDSK_QUIT:
1.1       root      201:                 bQuitProgram = true;
                    202:                 break;
1.1.1.2 ! root      203:                 
        !           204:             default:
        !           205:                 break;
        !           206:         }
        !           207:     }
        !           208:     while (but != DLGMISDSK_SELECT && but != DLGMISDSK_REMOVE &&
        !           209:            but != SDLGUI_QUIT && but != SDLGUI_ERROR && !bQuitProgram);
1.1       root      210:     
1.1.1.2 ! root      211:     SDL_ShowCursor(bOldMouseVisibility);
1.1       root      212: }

unix.superglobalmegacorp.com

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