Provide more space for challenge dialog text (#469)

* Provide more space for challenge dialog text

We do use a re-sizeable dialog box for dynamic challenge-response
to cater for potentially long lines of challenge text. But the
space specified for the widget is enough for only a single short line
(~60 characters) of text.

Increase the horizontal and vertical space to allow for up to
two lines of ~120 characters per line.

The default size of the Window is not changed. But it is
automatically resized if the space required for the text
is longer than the window width minus some margin. The max
horizontal size of the window is capped at 640 nominal pixels
as longer text will be wrapped in to two lines.

Github issue #468

Signed-off-by: Selva Nair <selva.nair@gmail.com>
pull/470/head
Selva Nair 2021-11-29 11:44:13 -05:00 committed by GitHub
parent e8257d8672
commit bb6b6e29fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 40 additions and 21 deletions

View File

@ -647,6 +647,25 @@ GenericPassDialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
/* Set password echo on if needed */
if (param->flags & FLAG_CR_ECHO)
SendMessage(GetDlgItem(hwndDlg, ID_EDT_RESPONSE), EM_SETPASSWORDCHAR, 0, 0);
/* Rendered size of challenge text and window rectangle */
SIZE sz = {0};
RECT rect = {0};
HDC hdc = GetDC(GetDlgItem(hwndDlg, ID_TXT_DESCRIPTION));
GetWindowRect(hwndDlg, &rect);
rect.right -= rect.left;
rect.bottom -= rect.top;
/* if space for text + some margin exceeds the window size, resize */
if (GetTextExtentPoint32W(hdc, wstr, wcslen(wstr), &sz)
&& LPtoDP(hdc, (POINT *) &sz, 1) /* logical to device units */
&& sz.cx + DPI_SCALE(15) > rect.right) /* 15 nominal pixel margin space */
{
/* new horizontal dimension with a max of 640 nominal pixels */
rect.right = min(DPI_SCALE(640), sz.cx + DPI_SCALE(15));
SetWindowPos(hwndDlg, NULL, 0, 0, rect.right, rect.bottom, SWP_NOMOVE);
PrintDebug(L"Window resized to = %d %d", rect.right, rect.bottom);
}
}
else if (param->flags & FLAG_PASS_TOKEN)
{

View File

@ -80,7 +80,7 @@ CAPTION "OpenVPN - Odpověď na výzvu"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Odpověď:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -80,7 +80,7 @@ CAPTION "OpenVPN Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_GERMAN, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "&Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "&OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_DANISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -80,7 +80,7 @@ CAPTION "OpenVPN Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "&Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "&OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_SPANISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN پاسخ چالش"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_FARSI, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "پاسخ :", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "بسیار خوب", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -80,7 +80,7 @@ CAPTION "OpenVPN - Haastemenetelmä"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_FINNISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Vastaus:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Réponse de défi"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_FRENCH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Réponse:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_ITALIAN, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "&Risposta:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "&OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN - チャレンジ/レスポンス"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "レスポンス(&R):", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK(&O)", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN - 자격증명"
FONT 9, "맑은 고딕"
LANGUAGE LANG_KOREAN, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "요청값:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "확인", IDOK, 25, 58, 50, 14, BS_PUSHBUTTON | WS_TABSTOP | WS_DISABLED

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_DUTCH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -80,7 +80,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_NORWEGIAN, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN - Odpowiedź"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Odpowiedź:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Resposta do Desafio"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_PORTUGUESE, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Resposta:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_SWEDISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -81,7 +81,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_TURKISH, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "Tamam", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -79,7 +79,7 @@ CAPTION "OpenVPN - Challenge Response"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "Response:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "OK", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -82,7 +82,7 @@ CAPTION "OpenVPN - 质询响应"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "响应:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "确定", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP

View File

@ -82,7 +82,7 @@ CAPTION "OpenVPN - 挑戰回應"
FONT 8, "Microsoft Sans Serif"
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
BEGIN
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 208, 10
LTEXT "", ID_TXT_DESCRIPTION, 6, 9, 400, 20
LTEXT "回應:", ID_LTEXT_RESPONSE, 6, 30, 50, 10
EDITTEXT ID_EDT_RESPONSE, 60, 27, 94, 12, ES_PASSWORD | ES_AUTOHSCROLL
PUSHBUTTON "確認", IDOK, 20, 51, 50, 14, BS_PUSHBUTTON | WS_TABSTOP