Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206/** PROJECT: input.dll* FILE: dll/cpl/input/key_sequence_dialog.c* PURPOSE: input.dll* PROGRAMMER: Dmitry Chapyshev (dmitry@reactos.org)*/
#include "input.h"
INT_PTR CALLBACKChangeKeySeqDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam){ UNREFERENCED_PARAMETER(lParam);
switch (uMsg) { case WM_INITDIALOG: { KEY_SETTINGS *keySettings = (KEY_SETTINGS*) lParam;
if (keySettings != NULL) { SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (LONG_PTR) keySettings);
if (keySettings->dwLanguage == 3) { CheckDlgButton(hwndDlg, IDC_CTRL_LANG, BST_CHECKED); EnableWindow(GetDlgItem(hwndDlg, IDC_CTRL_LANG), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_LEFT_ALT_LANG), FALSE); } else { CheckDlgButton(hwndDlg, IDC_SWITCH_INPUT_LANG_CB, BST_CHECKED);
if (keySettings->dwLanguage == 1) { CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LANG, BST_CHECKED); } else { CheckDlgButton(hwndDlg, IDC_CTRL_LANG, BST_CHECKED); } }
if (keySettings->dwLayout == 3) { CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LAYOUT, BST_CHECKED); EnableWindow(GetDlgItem(hwndDlg, IDC_CTRL_LAYOUT), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_LEFT_ALT_LAYOUT), FALSE); } else { CheckDlgButton(hwndDlg, IDC_SWITCH_KBLAYOUTS_CB, BST_CHECKED);
if (keySettings->dwLayout == 1) { CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LAYOUT, BST_CHECKED); } else { CheckDlgButton(hwndDlg, IDC_CTRL_LAYOUT, BST_CHECKED); } } } return TRUE; }
case WM_COMMAND: { switch (LOWORD(wParam)) { case IDC_SWITCH_INPUT_LANG_CB: { if (HIWORD(wParam) == BN_CLICKED) { if (IsDlgButtonChecked(hwndDlg, IDC_SWITCH_INPUT_LANG_CB) == BST_CHECKED) { EnableWindow(GetDlgItem(hwndDlg, IDC_CTRL_LANG), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_LEFT_ALT_LANG), TRUE); } else { EnableWindow(GetDlgItem(hwndDlg, IDC_CTRL_LANG), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_LEFT_ALT_LANG), FALSE); } } } break;
case IDC_SWITCH_KBLAYOUTS_CB: { if (HIWORD(wParam) == BN_CLICKED) { if (IsDlgButtonChecked(hwndDlg, IDC_SWITCH_KBLAYOUTS_CB) == BST_CHECKED) { EnableWindow(GetDlgItem(hwndDlg, IDC_CTRL_LAYOUT), TRUE); EnableWindow(GetDlgItem(hwndDlg, IDC_LEFT_ALT_LAYOUT), TRUE); } else { EnableWindow(GetDlgItem(hwndDlg, IDC_CTRL_LAYOUT), FALSE); EnableWindow(GetDlgItem(hwndDlg, IDC_LEFT_ALT_LAYOUT), FALSE); } } } break;
case IDC_CTRL_LANG: { if (HIWORD(wParam) == BN_CLICKED) { CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LAYOUT, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_CTRL_LAYOUT, BST_UNCHECKED); } } break;
case IDC_LEFT_ALT_LANG: { if (HIWORD(wParam) == BN_CLICKED) { CheckDlgButton(hwndDlg, IDC_CTRL_LAYOUT, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LAYOUT, BST_UNCHECKED); } } break;
case IDC_CTRL_LAYOUT: { if (HIWORD(wParam) == BN_CLICKED) { CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LANG, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_CTRL_LANG, BST_UNCHECKED); } } break;
case IDC_LEFT_ALT_LAYOUT: { if (HIWORD(wParam) == BN_CLICKED) { CheckDlgButton(hwndDlg, IDC_CTRL_LANG, BST_CHECKED); CheckDlgButton(hwndDlg, IDC_LEFT_ALT_LANG, BST_UNCHECKED); } } break;
case IDOK: { KEY_SETTINGS *keySettings;
keySettings = (KEY_SETTINGS*)GetWindowLongPtrW(hwndDlg, GWLP_USERDATA);
if (keySettings != NULL) { if (IsDlgButtonChecked(hwndDlg, IDC_SWITCH_INPUT_LANG_CB) == BST_CHECKED) { if (IsDlgButtonChecked(hwndDlg, IDC_CTRL_LANG) == BST_CHECKED) { keySettings->dwLanguage = 2; } else { keySettings->dwLanguage = 1; } } else { keySettings->dwLanguage = 3; }
if (IsDlgButtonChecked(hwndDlg, IDC_SWITCH_KBLAYOUTS_CB) == BST_CHECKED) { if (IsDlgButtonChecked(hwndDlg, IDC_CTRL_LAYOUT) == BST_CHECKED) { keySettings->dwLayout = 2; } else { keySettings->dwLayout = 1; } } else { keySettings->dwLayout = 3; } }
EndDialog(hwndDlg, LOWORD(wParam)); } break;
case IDCANCEL: { EndDialog(hwndDlg, LOWORD(wParam)); } break; } } break; }
return FALSE;}