--- hatari/src/gui-sdl/dlgRom.c 2019/04/01 07:13:17 1.1.1.3 +++ hatari/src/gui-sdl/dlgRom.c 2019/04/09 08:48:53 1.1.1.8 @@ -4,7 +4,7 @@ This file is distributed under the GNU Public License, version 2 or at your option any later version. Read the file gpl.txt for details. */ -const char DlgRom_rcsid[] = "Hatari $Id: dlgRom.c,v 1.1.1.3 2019/04/01 07:13:17 root Exp $"; +const char DlgRom_fileid[] = "Hatari dlgRom.c : " __DATE__ " " __TIME__; #include "main.h" #include "configuration.h" @@ -37,32 +37,27 @@ static SGOBJ romdlg[] = { SGBUTTON, 0, 0, 42,14, 8,1, "Browse" }, { SGTEXT, 0, 0, 2,16, 46,1, NULL }, { SGTEXT, 0, 0, 2,19, 25,1, "A reset is needed after changing these options." }, - { SGBUTTON, 0, 0, 16,21, 20,1, "Back to main menu" }, + { SGBUTTON, SG_DEFAULT, 0, 16,21, 20,1, "Back to main menu" }, { -1, 0, 0, 0,0, 0,0, NULL } }; /*-----------------------------------------------------------------------*/ -/* - Show and process the ROM dialog. -*/ +/** + * Show and process the ROM dialog. + */ void DlgRom_Main(void) { - char *tmpname; char szDlgTosName[47]; char szDlgCartName[47]; int but; - tmpname = malloc(FILENAME_MAX); - if (tmpname == NULL) - return; - SDLGui_CenterDlg(romdlg); - File_ShrinkName(szDlgTosName, DialogParams.Rom.szTosImageFileName, sizeof(szDlgTosName)-1); + File_ShrinkName(szDlgTosName, ConfigureParams.Rom.szTosImageFileName, sizeof(szDlgTosName)-1); romdlg[DLGROM_TOSNAME].txt = szDlgTosName; - File_ShrinkName(szDlgCartName, DialogParams.Rom.szCartridgeImageFileName, sizeof(szDlgCartName)-1); + File_ShrinkName(szDlgCartName, ConfigureParams.Rom.szCartridgeImageFileName, sizeof(szDlgCartName)-1); romdlg[DLGROM_CARTNAME].txt = szDlgCartName; do @@ -71,42 +66,27 @@ void DlgRom_Main(void) switch (but) { case DLGROM_TOSBROWSE: - strcpy(tmpname, DialogParams.Rom.szTosImageFileName); - if (SDLGui_FileSelect(tmpname, NULL, FALSE)) /* Show and process the file selection dlg */ - { - if (!File_DoesFileNameEndWithSlash(tmpname) && File_Exists(tmpname)) - { - strcpy(DialogParams.Rom.szTosImageFileName, tmpname); - File_ShrinkName(szDlgTosName, DialogParams.Rom.szTosImageFileName, sizeof(szDlgTosName)-1); - } - } + /* Show and process the file selection dlg */ + SDLGui_FileConfSelect(szDlgTosName, + ConfigureParams.Rom.szTosImageFileName, + sizeof(szDlgTosName)-1, + false); break; case DLGROM_CARTEJECT: szDlgCartName[0] = 0; - DialogParams.Rom.szCartridgeImageFileName[0] = 0; + ConfigureParams.Rom.szCartridgeImageFileName[0] = 0; break; case DLGROM_CARTBROWSE: - strcpy(tmpname, DialogParams.Rom.szCartridgeImageFileName); - File_MakeAbsoluteName(tmpname); - if (SDLGui_FileSelect(tmpname, NULL, FALSE)) /* Show and process the file selection dlg */ - { - if (!File_DoesFileNameEndWithSlash(tmpname) && File_Exists(tmpname)) - { - strcpy(DialogParams.Rom.szCartridgeImageFileName, tmpname); - File_ShrinkName(szDlgCartName, DialogParams.Rom.szCartridgeImageFileName, sizeof(szDlgCartName)-1); - } - else - { - szDlgCartName[0] = 0; - DialogParams.Rom.szCartridgeImageFileName[0] = 0; - } - } + /* Show and process the file selection dlg */ + SDLGui_FileConfSelect(szDlgCartName, + ConfigureParams.Rom.szCartridgeImageFileName, + sizeof(szDlgCartName)-1, + false); break; } } - while (but != DLGROM_EXIT && but != SDLGUI_QUIT && !bQuitProgram); - - free(tmpname); + while (but != DLGROM_EXIT && but != SDLGUI_QUIT + && but != SDLGUI_ERROR && !bQuitProgram); }