diff --git a/src/win/win.h b/src/win/win.h index 416b6e52a..f3045663f 100644 --- a/src/win/win.h +++ b/src/win/win.h @@ -8,7 +8,7 @@ * * Platform support defintions for Win32. * - * Version: @(#)win.h 1.0.24 2018/10/23 + * Version: @(#)win.h 1.0.25 2019/02/11 * * Authors: Sarah Walker, * Miran Grca, @@ -126,8 +126,6 @@ extern uint8_t joystickconfig_open(HWND hwnd, int joy_nr, int type); extern int getfile(HWND hwnd, char *f, char *fn); extern int getsfile(HWND hwnd, char *f, char *fn); -extern void win_settings_open(HWND hwnd); - extern void hard_disk_add_open(HWND hwnd, int is_existing); extern int hard_disk_was_added(void); @@ -149,6 +147,22 @@ extern void SoundGainDialogCreate(HWND hwnd); extern void NewFloppyDialogCreate(HWND hwnd, int id, int part); +/* Functions in win_settings.c: */ +#define SETTINGS_PAGE_MACHINE 0 +#define SETTINGS_PAGE_VIDEO 1 +#define SETTINGS_PAGE_INPUT 2 +#define SETTINGS_PAGE_SOUND 3 +#define SETTINGS_PAGE_NETWORK 4 +#define SETTINGS_PAGE_PORTS 5 +#define SETTINGS_PAGE_PERIPHERALS 6 +#define SETTINGS_PAGE_HARD_DISKS 7 +#define SETTINGS_PAGE_FLOPPY_DRIVES 8 +#define SETTINGS_PAGE_OTHER_REMOVABLE_DEVICES 9 + +extern void win_settings_open(HWND hwnd); +extern void win_settings_open_ex(HWND hwnd, int category); + + /* Functions in win_stbar.c: */ extern HWND hwndSBAR; extern void StatusBarCreate(HWND hwndParent, uintptr_t idStatus, HINSTANCE hInst); diff --git a/src/win/win_settings.c b/src/win/win_settings.c index 08c4a17f9..0bfd70fed 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -8,7 +8,7 @@ * * Windows 86Box Settings dialog handler. * - * Version: @(#)win_settings.c 1.0.74 2018/11/04 + * Version: @(#)win_settings.c 1.0.54 2019/02/11 * * Authors: Miran Grca, * David Hrdlička, @@ -64,21 +64,12 @@ #include "win.h" -#define SETTINGS_PAGE_MACHINE 0 -#define SETTINGS_PAGE_VIDEO 1 -#define SETTINGS_PAGE_INPUT 2 -#define SETTINGS_PAGE_SOUND 3 -#define SETTINGS_PAGE_NETWORK 4 -#define SETTINGS_PAGE_PORTS 5 -#define SETTINGS_PAGE_PERIPHERALS 6 -#define SETTINGS_PAGE_HARD_DISKS 7 -#define SETTINGS_PAGE_FLOPPY_DRIVES 8 -#define SETTINGS_PAGE_OTHER_REMOVABLE_DEVICES 9 - /* Icon, Bus, File, C, H, S, Size */ #define C_COLUMNS_HARD_DISKS 6 +static int first_cat = 0; + /* Machine category */ static int temp_machine, temp_cpu_m, temp_cpu, temp_wait_states, temp_fpu, temp_sync; static uint32_t temp_mem_size; @@ -4553,7 +4544,7 @@ win_settings_main_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) h = GetDlgItem(hdlg, IDC_SETTINGSCATLIST); image_list_init(h, (const uint8_t *) cat_icons); win_settings_main_insert_categories(h); - ListView_SetItemState(h, 0, LVIS_FOCUSED | LVIS_SELECTED, 0x000F); + ListView_SetItemState(h, first_cat, LVIS_FOCUSED | LVIS_SELECTED, 0x000F); return TRUE; case WM_NOTIFY: if ((((LPNMHDR)lParam)->code == LVN_ITEMCHANGED) && (((LPNMHDR)lParam)->idFrom == IDC_SETTINGSCATLIST)) { @@ -4591,12 +4582,20 @@ win_settings_main_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam) void -win_settings_open(HWND hwnd) +win_settings_open_ex(HWND hwnd, int category) { plat_pause(1); if (source_hwnd) PostMessage((HWND) (uintptr_t) source_hwnd, WM_SENDSSTATUS, (WPARAM) 1, (LPARAM) hwndMain); + first_cat = category; DialogBox(hinstance, (LPCWSTR)DLG_CONFIG, hwnd, win_settings_main_proc); } + + +void +win_settings_open(HWND hwnd) +{ + win_settings_open_ex(hwnd, SETTINGS_PAGE_MACHINE); +}