X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/b682f4700a41996e4fc1ed2edb198ac0bdcc4353..2ed9fb8a1161813bd21e396475d4810f27fac7eb:/windlg.c diff --git a/windlg.c b/windlg.c index d9206a82..77264386 100644 --- a/windlg.c +++ b/windlg.c @@ -259,6 +259,7 @@ enum { IDCX_ABOUT = IDC_LGFSTATIC, IDC_LGFEDIT, IDC_LGFBUTTON, + IDC_LGFEXPLAIN, IDC_LSTATXIST, IDC_LSTATXOVR, IDC_LSTATXAPN, @@ -470,6 +471,7 @@ enum { IDCX_ABOUT = IDC_MBSTATIC, IDC_MBWINDOWS, IDC_MBXTERM, + IDC_MOUSEOVERRIDE, IDC_CCSTATIC, IDC_CCLIST, IDC_CCSET, @@ -749,6 +751,7 @@ static void init_dlg_ctrls(HWND hwnd, int keepsess) CheckRadioButton(hwnd, IDC_MBWINDOWS, IDC_MBXTERM, cfg.mouse_is_xterm ? IDC_MBXTERM : IDC_MBWINDOWS); + CheckDlgButton(hwnd, IDC_MOUSEOVERRIDE, cfg.mouse_override); CheckDlgButton(hwnd, IDC_RAWCNP, cfg.rawcnp); { static int tabs[4] = { 25, 61, 96, 128 }; @@ -905,6 +908,8 @@ static void create_controls(HWND hwnd, int dlgtype, int panel) editbutton(&cp, "Log &file name:", IDC_LGFSTATIC, IDC_LGFEDIT, "Bro&wse...", IDC_LGFBUTTON); + statictext(&cp, "(Log file name can contain &&Y, &&M, &&D for date," + " &&T for time, and &&H for host name)", 2, IDC_LGFEXPLAIN); radiobig(&cp, "What to do if the log file already &exists:", IDC_LSTATXIST, "Always overwrite it", IDC_LSTATXOVR, @@ -971,7 +976,7 @@ static void create_controls(HWND hwnd, int dlgtype, int panel) IDC_BELLOVLTSTATIC, IDC_BELLOVLT, 20); statictext(&cp, "The bell is re-enabled after a few seconds of silence.", - IDC_BELLOVLEXPLAIN); + 1, IDC_BELLOVLEXPLAIN); staticedit(&cp, "Seconds of &silence required", IDC_BELLOVLSSTATIC, IDC_BELLOVLS, 20); endbox(&cp); @@ -1108,7 +1113,7 @@ static void create_controls(HWND hwnd, int dlgtype, int panel) } if (panel == selectionpanelstart) { - /* The Selection panel. Accelerators used: [acgo] d wx hst */ + /* The Selection panel. Accelerators used: [acgo] d wxp hst */ struct ctlpos cp; ctlposinit(&cp, hwnd, 80, 3, 13); bartitle(&cp, "Options controlling copy and paste", @@ -1125,6 +1130,9 @@ static void create_controls(HWND hwnd, int dlgtype, int panel) "&Windows (Right pastes, Middle extends)", IDC_MBWINDOWS, "&xterm (Right extends, Middle pastes)", IDC_MBXTERM, NULL); + checkbox(&cp, + "Shift overrides a&pplication's use of mouse", + IDC_MOUSEOVERRIDE); endbox(&cp); beginbox(&cp, "Control the select-one-word-at-a-time mode", IDC_BOX_SELECTION3); @@ -1479,6 +1487,9 @@ static int GenericMainDlgProc(HWND hwnd, UINT msg, TVITEM item; int j; char buffer[64]; + + SendMessage (hwnd, WM_SETREDRAW, FALSE, 0); + item.hItem = i; item.pszText = buffer; item.cchTextMax = sizeof(buffer); @@ -1523,6 +1534,9 @@ static int GenericMainDlgProc(HWND hwnd, UINT msg, create_controls(hwnd, dlgtype, translationpanelstart); init_dlg_ctrls(hwnd, FALSE); + + SendMessage (hwnd, WM_SETREDRAW, TRUE, 0); + InvalidateRect (hwnd, NULL, TRUE); SetFocus(((LPNMHDR) lParam)->hwndFrom); /* ensure focus stays */ return 0; @@ -2334,10 +2348,14 @@ static int GenericMainDlgProc(HWND hwnd, UINT msg, break; case IDC_RAWCNP: cfg.rawcnp = IsDlgButtonChecked(hwnd, IDC_RAWCNP); + break; case IDC_MBWINDOWS: case IDC_MBXTERM: cfg.mouse_is_xterm = IsDlgButtonChecked(hwnd, IDC_MBXTERM); break; + case IDC_MOUSEOVERRIDE: + cfg.mouse_override = IsDlgButtonChecked(hwnd, IDC_MOUSEOVERRIDE); + break; case IDC_CCSET: { BOOL ok;