+static int CALLBACK TranslationProc (HWND hwnd, UINT msg,
+ WPARAM wParam, LPARAM lParam) {
+ switch (msg) {
+ case WM_INITDIALOG:
+ CheckRadioButton (hwnd, IDC6_NOXLAT, IDC6_88592WIN1250,
+ cfg.xlat_88592w1250 ? IDC6_88592WIN1250 :
+ cfg.xlat_enablekoiwin ? IDC6_KOI8WIN1251 :
+ IDC6_NOXLAT);
+ CheckDlgButton (hwnd, IDC6_CAPSLOCKCYR, cfg.xlat_capslockcyr);
+ CheckRadioButton (hwnd, IDC2_VTXWINDOWS, IDC2_VTPOORMAN,
+ cfg.vtmode == VT_XWINDOWS ? IDC2_VTXWINDOWS :
+ cfg.vtmode == VT_OEMANSI ? IDC2_VTOEMANSI :
+ cfg.vtmode == VT_OEMONLY ? IDC2_VTOEMONLY :
+ IDC2_VTPOORMAN);
+ case WM_COMMAND:
+ switch (LOWORD(wParam)) {
+ case IDC6_NOXLAT:
+ case IDC6_KOI8WIN1251:
+ case IDC6_88592WIN1250:
+ cfg.xlat_enablekoiwin =
+ IsDlgButtonChecked (hwnd, IDC6_KOI8WIN1251);
+ cfg.xlat_88592w1250 =
+ IsDlgButtonChecked (hwnd, IDC6_88592WIN1250);
+ break;
+ case IDC6_CAPSLOCKCYR:
+ if (HIWORD(wParam) == BN_CLICKED ||
+ HIWORD(wParam) == BN_DOUBLECLICKED) {
+ cfg.xlat_capslockcyr =
+ IsDlgButtonChecked (hwnd, IDC6_CAPSLOCKCYR);
+ }
+ break;
+ case IDC2_VTXWINDOWS:
+ case IDC2_VTOEMANSI:
+ case IDC2_VTOEMONLY:
+ case IDC2_VTPOORMAN:
+ cfg.vtmode =
+ (IsDlgButtonChecked (hwnd, IDC2_VTXWINDOWS) ? VT_XWINDOWS :
+ IsDlgButtonChecked (hwnd, IDC2_VTOEMANSI) ? VT_OEMANSI :
+ IsDlgButtonChecked (hwnd, IDC2_VTOEMONLY) ? VT_OEMONLY :
+ VT_POORMAN);
+ break;
+ }
+ }
+ return GeneralPanelProc (hwnd, msg, wParam, lParam);
+}
+