--- previous/src/gui-sdl/dlgMain.c 2018/04/24 19:25:10 1.1 +++ previous/src/gui-sdl/dlgMain.c 2018/04/24 19:30:51 1.1.1.3 @@ -13,24 +13,26 @@ const char DlgMain_fileid[] = "Hatari dl #include "dialog.h" #include "sdlgui.h" #include "screen.h" +#include "dimension.h" -#define MAINDLG_ABOUT 2 -#define MAINDLG_SYSTEM 3 -#define MAINDLG_ROM 4 -#define MAINDLG_MEMORY 5 -#define MAINDLG_FLOPPYS 6 -#define MAINDLG_HARDDISK 7 -#define MAINDLG_MONITOR 8 -#define MAINDLG_WINDOW 9 -#define MAINDLG_JOY 10 -#define MAINDLG_KEYBD 11 -#define MAINDLG_DEVICES 12 -#define MAINDLG_SOUND 13 +#define MAINDLG_ABOUT 0 +#define MAINDLG_SYSTEM 2 +#define MAINDLG_ROM 3 +#define MAINDLG_GRAPH 4 +#define MAINDLG_ENET 5 +#define MAINDLG_BOOT 6 +#define MAINDLG_SCSI 7 +#define MAINDLG_MO 8 +#define MAINDLG_FLOPPY 9 +#define MAINDLG_KEYBD 10 +#define MAINDLG_MOUSE 11 +#define MAINDLG_SOUND 12 +#define MAINDLG_PRINTER 13 #define MAINDLG_LOADCFG 14 #define MAINDLG_SAVECFG 15 -#define MAINDLG_NORESET 16 -#define MAINDLG_RESET 17 +#define MAINDLG_RESET 16 +#define MAINDLG_SHOW 17 #define MAINDLG_OK 18 #define MAINDLG_QUIT 19 #define MAINDLG_CANCEL 20 @@ -40,23 +42,27 @@ const char DlgMain_fileid[] = "Hatari dl static SGOBJ maindlg[] = { { SGBOX, 0, 0, 0,0, 50,19, NULL }, - { SGTEXT, 0, 0, 5,1, 16,1, "Previous powered by Hatari - main menu" }, - { SGBUTTON, 0, 0, 2,4, 13,1, "About" }, - { SGBUTTON, 0, 0, 2,6, 13,1, "System" }, - { SGBUTTON, 0, 0, 2,8, 13,1, "ROM" }, - { SGBUTTON, 0, 0, 2,10, 13,1, "Memory" }, - { SGBUTTON, 0, 0, 17,4, 16,1, "(not yet)" }, - { SGBUTTON, 0, 0, 17,6, 16,1, "(not yet)" }, - { SGBUTTON, 0, 0, 17,8, 16,1, "(not yet)" }, - { SGBUTTON, 0, 0, 17,10, 16,1, "(not yet)" }, - { SGBUTTON, 0, 0, 35,4, 13,1, "(not yet)" }, - { SGBUTTON, 0, 0, 35,6, 13,1, "Keyboard" }, - { SGBUTTON, 0, 0, 35,8, 13,1, "(not yet)" }, - { SGBUTTON, 0, 0, 35,10, 13,1, "(not yet)" }, + { SGTEXT, 0, 0, 15,1, 20,1, "Previous - Main menu" }, + { SGBUTTON, 0, 0, 2,4, 13,1, "System" }, + { SGBUTTON, 0, 0, 2,6, 13,1, "ROM" }, +#if ENABLE_DIMENSION + { SGBUTTON, 0, 0, 2,8, 13,1, "Graphics" }, +#else + { SGBUTTON, 0, 0, 2,8, 13,1, " " }, +#endif + { SGBUTTON, 0, 0, 2,10, 13,1, "Ethernet" }, + { SGBUTTON, 0, 0, 17,4, 16,1, "Boot options" }, + { SGBUTTON, 0, 0, 17,6, 16,1, "SCSI disks" }, + { SGBUTTON, 0, 0, 17,8, 16,1, "MO disks" }, + { SGBUTTON, 0, 0, 17,10, 16,1, "Floppy disks" }, + { SGBUTTON, 0, 0, 35,4, 13,1, "Keyboard" }, + { SGBUTTON, 0, 0, 35,6, 13,1, "Mouse" }, + { SGBUTTON, 0, 0, 35,8, 13,1, "Sound" }, + { SGBUTTON, 0, 0, 35,10, 13,1, "Printer" }, { SGBUTTON, 0, 0, 7,13, 16,1, "Load config." }, { SGBUTTON, 0, 0, 27,13, 16,1, "Save config." }, - { SGRADIOBUT, 0, 0, 3,15, 15,1, "No Reset" }, - { SGRADIOBUT, 0, 0, 3,17, 15,1, "Reset machine" }, + { SGCHECKBOX, 0, 0, 3,15, 15,1, "Reset machine" }, + { SGCHECKBOX, 0, 0, 3,17, 15,1, "Show at startup" }, { SGBUTTON, SG_DEFAULT, 0, 21,15, 8,3, "OK" }, { SGBUTTON, 0, 0, 36,15, 10,1, "Quit" }, { SGBUTTON, SG_CANCEL, 0, 36,17, 10,1, "Cancel" }, @@ -86,8 +92,12 @@ int Dialog_MainDlg(bool *bReset, bool *b SDLGui_CenterDlg(maindlg); - maindlg[MAINDLG_NORESET].state |= SG_SELECTED; maindlg[MAINDLG_RESET].state &= ~SG_SELECTED; + + if(ConfigureParams.ConfigDialog.bShowConfigDialogAtStartup) + maindlg[MAINDLG_SHOW].state |= SG_SELECTED; + else + maindlg[MAINDLG_SHOW].state &= ~SG_SELECTED; do { @@ -97,43 +107,43 @@ int Dialog_MainDlg(bool *bReset, bool *b case MAINDLG_ABOUT: Dialog_AboutDlg(); break; - case MAINDLG_FLOPPYS: -// DlgFloppy_Main(); + case MAINDLG_GRAPH: +#if ENABLE_DIMENSION + Dialog_DimensionDlg(); +#endif break; - case MAINDLG_HARDDISK: -// DlgHardDisk_Main(); + case MAINDLG_ENET: + DlgEthernet_Main(); + break; + case MAINDLG_SCSI: + DlgSCSI_Main(); break; case MAINDLG_ROM: DlgRom_Main(); break; - case MAINDLG_MONITOR: - Dialog_MonitorDlg(); + case MAINDLG_MO: + DlgOptical_Main(); break; - case MAINDLG_WINDOW: - Dialog_WindowDlg(); + case MAINDLG_FLOPPY: + DlgFloppy_Main(); break; case MAINDLG_SYSTEM: Dialog_SystemDlg(); break; - case MAINDLG_MEMORY: - if (Dialog_MemDlg()) - { - /* Memory snapshot has been loaded - leave GUI immediately */ - *bLoadedSnapshot = true; - return true; - } + case MAINDLG_PRINTER: + DlgPrinter_Main(); break; - case MAINDLG_JOY: -// Dialog_JoyDlg(); + case MAINDLG_BOOT: + DlgBoot_Main(); break; case MAINDLG_KEYBD: -// Dialog_KeyboardDlg(); + Dialog_KeyboardDlg(); break; - case MAINDLG_DEVICES: - Dialog_DeviceDlg(); + case MAINDLG_MOUSE: + Dialog_MouseDlg(); break; case MAINDLG_SOUND: -// Dialog_SoundDlg(); + DlgSound_Main(); break; case MAINDLG_LOADCFG: psNewCfg = SDLGui_FileSelect(sConfigFileName, NULL, false); @@ -153,6 +163,12 @@ int Dialog_MainDlg(bool *bReset, bool *b free(psNewCfg); } break; + case MAINDLG_SHOW: + if (maindlg[MAINDLG_SHOW].state & SG_SELECTED) + ConfigureParams.ConfigDialog.bShowConfigDialogAtStartup = true; + else + ConfigureParams.ConfigDialog.bShowConfigDialogAtStartup = false; + break; case MAINDLG_QUIT: bQuitProgram = true; break; @@ -161,7 +177,7 @@ int Dialog_MainDlg(bool *bReset, bool *b while (retbut != MAINDLG_OK && retbut != MAINDLG_CANCEL && retbut != SDLGUI_QUIT && retbut != SDLGUI_ERROR && !bQuitProgram); - + if (maindlg[MAINDLG_RESET].state & SG_SELECTED) *bReset = true;