Add missing file.

This commit is contained in:
SarahW 2017-05-04 20:44:05 +01:00
commit 4b176b8789
2 changed files with 130 additions and 1 deletions

View file

@ -18,7 +18,7 @@ OBJ = 386.o 386_dynarec.o 386_dynarec_ops.o 808x.o acer386sx.o ali1429.o amstrad
vid_olivetti_m24.o vid_oti067.o vid_paradise.o vid_pc1512.o vid_pc1640.o vid_pc200.o \
vid_pcjr.o vid_ps1_svga.o vid_s3.o vid_s3_virge.o vid_sdac_ramdac.o vid_stg_ramdac.o vid_svga.o \
vid_svga_render.o vid_tandy.o vid_tandysl.o vid_tgui9440.o vid_tkd8001_ramdac.o vid_tvga.o vid_unk_ramdac.o \
vid_vga.o vid_voodoo.o vid_wy700.o video.o wd76c10.o win.o win-config.o win-d3d.o win-d3d-fs.o win-ddraw.o \
vid_vga.o vid_voodoo.o vid_wy700.o video.o wd76c10.o win.o win-config.o win-config_sel.o win-d3d.o win-d3d-fs.o win-ddraw.o \
win-ddraw-fs.o win-deviceconfig.o win-hdconf.o win-joystick.o win-joystickconfig.o win-keyboard.o win-midi.o win-mouse.o \
win-status.o win-video.o x86seg.o x87.o xtide.o pc.res
DBOBJ = dbopl.o vid_cga_comp.o

129
src/win-config_sel.c Normal file
View file

@ -0,0 +1,129 @@
#define BITMAP WINDOWS_BITMAP
#include <windows.h>
#include <windowsx.h>
#undef BITMAP
#include <commctrl.h>
#include "ibm.h"
#include "config.h"
#include "resources.h"
#include "win.h"
static int has_been_inited = 0;
static void config_list_update(HWND hdlg)
{
char s[512];
int num, c;
HWND h;
strcpy(s, pcempath);
put_backslash(s);
strcat(s, "configs\\*.cfg");
pclog("Dir %s\n", s);
DlgDirList(hdlg, s, IDC_LIST, 0, 0);
h = GetDlgItem(hdlg, IDC_LIST);
num = SendMessage(h, LB_GETCOUNT, 0, 0);
for (c = 0; c < num; c++)
{
char *ext;
SendMessage(h, LB_GETTEXT, c, (LPARAM)s);
ext = get_extension(s);
if (ext && ext[0])
{
ext--;
*ext = 0;
}
SendMessage(h, LB_DELETESTRING, c, 0);
SendMessage(h, LB_INSERTSTRING, c, (LPARAM)s);
}
}
static BOOL CALLBACK config_selection_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
{
//HWND h;
switch (message)
{
case WM_INITDIALOG:
// pause = 1;
config_list_update(hdlg);
// h = GetDlgItem(hdlg, IDC_LIST);
// SendMessage(h, LB_ADDSTRING, 0, (LPARAM)(LPCSTR)"AAA");
// SendMessage(h, LB_ADDSTRING, 0, (LPARAM)(LPCSTR)"BBB");
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam))
{
case IDOK:
{
char s[512];
int ret = DlgDirSelectEx(hdlg, s, 512, IDC_LIST);
pclog("DlgDirSelectEx returned %i %s\n", ret, s);
if (s[0])
{
char cfg[512];
strcpy(cfg, pcempath);
put_backslash(cfg);
strcat(cfg, "configs\\");
strcat(cfg, s);
strcat(cfg, "cfg");
// sprintf(cfg, "%s\\configs\\%scfg", pcempath, s);
pclog("Config name %s\n", cfg);
strcpy(config_file_default, cfg);
EndDialog(hdlg, 1);
// pause = 0;
return TRUE;
}
}
return FALSE;
case IDCANCEL:
EndDialog(hdlg, 0);
// pause = 0;
return TRUE;
case IDC_NEW:
{
char s[512];
strcpy(s, pcempath);
put_backslash(s);
strcat(s, "configs\\");
pclog("Dir %s\n", s);
if (!getsfile(hdlg, "Configuration (*.CFG)\0*.CFG\0All files (*.*)\0*.*\0", "", s))
{
config_open(hdlg, has_been_inited);
saveconfig(openfilestring);
}
config_list_update(hdlg);
return TRUE;
}
}
break;
}
return FALSE;
}
int config_selection_open(HWND hwnd, int inited)
{
has_been_inited = inited;
return DialogBox(hinstance, TEXT("ConfigureSelectionDlg"), hwnd, (DLGPROC)config_selection_dlgproc);
}