diff --git a/openvpn.c b/openvpn.c index 3732865..ac3e3d3 100644 --- a/openvpn.c +++ b/openvpn.c @@ -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); + + /* Resize Window if text if challenge text is long */ + 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) { diff --git a/res/openvpn-gui-res-cs.rc b/res/openvpn-gui-res-cs.rc index 2f7555a..b96fd83 100644 --- a/res/openvpn-gui-res-cs.rc +++ b/res/openvpn-gui-res-cs.rc @@ -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 diff --git a/res/openvpn-gui-res-de.rc b/res/openvpn-gui-res-de.rc index 4cd61dd..cb3f00c 100644 --- a/res/openvpn-gui-res-de.rc +++ b/res/openvpn-gui-res-de.rc @@ -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 diff --git a/res/openvpn-gui-res-dk.rc b/res/openvpn-gui-res-dk.rc index 4ecfc74..3779129 100644 --- a/res/openvpn-gui-res-dk.rc +++ b/res/openvpn-gui-res-dk.rc @@ -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 diff --git a/res/openvpn-gui-res-en.rc b/res/openvpn-gui-res-en.rc index 8aaf48b..5e371dc 100644 --- a/res/openvpn-gui-res-en.rc +++ b/res/openvpn-gui-res-en.rc @@ -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 diff --git a/res/openvpn-gui-res-es.rc b/res/openvpn-gui-res-es.rc index 62398f5..04aebcc 100644 --- a/res/openvpn-gui-res-es.rc +++ b/res/openvpn-gui-res-es.rc @@ -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 diff --git a/res/openvpn-gui-res-fa.rc b/res/openvpn-gui-res-fa.rc index 44fdf43..7f225a9 100644 --- a/res/openvpn-gui-res-fa.rc +++ b/res/openvpn-gui-res-fa.rc @@ -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 diff --git a/res/openvpn-gui-res-fi.rc b/res/openvpn-gui-res-fi.rc index a524c22..5239a08 100644 --- a/res/openvpn-gui-res-fi.rc +++ b/res/openvpn-gui-res-fi.rc @@ -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 diff --git a/res/openvpn-gui-res-fr.rc b/res/openvpn-gui-res-fr.rc index 3f2cd6f..33da072 100644 --- a/res/openvpn-gui-res-fr.rc +++ b/res/openvpn-gui-res-fr.rc @@ -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 diff --git a/res/openvpn-gui-res-it.rc b/res/openvpn-gui-res-it.rc index a7eb6ce..3479ad6 100644 --- a/res/openvpn-gui-res-it.rc +++ b/res/openvpn-gui-res-it.rc @@ -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 diff --git a/res/openvpn-gui-res-jp.rc b/res/openvpn-gui-res-jp.rc index ee47e36..21aeff8 100644 --- a/res/openvpn-gui-res-jp.rc +++ b/res/openvpn-gui-res-jp.rc @@ -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 diff --git a/res/openvpn-gui-res-kr.rc b/res/openvpn-gui-res-kr.rc index 01d3f23..d2375ca 100644 --- a/res/openvpn-gui-res-kr.rc +++ b/res/openvpn-gui-res-kr.rc @@ -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 diff --git a/res/openvpn-gui-res-nl.rc b/res/openvpn-gui-res-nl.rc index 3d83c2d..891d244 100644 --- a/res/openvpn-gui-res-nl.rc +++ b/res/openvpn-gui-res-nl.rc @@ -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 diff --git a/res/openvpn-gui-res-no.rc b/res/openvpn-gui-res-no.rc index 972ba7c..43cd059 100644 --- a/res/openvpn-gui-res-no.rc +++ b/res/openvpn-gui-res-no.rc @@ -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 diff --git a/res/openvpn-gui-res-pl.rc b/res/openvpn-gui-res-pl.rc index 4786315..eafcb7c 100644 --- a/res/openvpn-gui-res-pl.rc +++ b/res/openvpn-gui-res-pl.rc @@ -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 diff --git a/res/openvpn-gui-res-pt.rc b/res/openvpn-gui-res-pt.rc index 7537fda..b43ad9f 100644 --- a/res/openvpn-gui-res-pt.rc +++ b/res/openvpn-gui-res-pt.rc @@ -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 diff --git a/res/openvpn-gui-res-ru.rc b/res/openvpn-gui-res-ru.rc index 0fdb83c..5689512 100644 --- a/res/openvpn-gui-res-ru.rc +++ b/res/openvpn-gui-res-ru.rc @@ -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 diff --git a/res/openvpn-gui-res-se.rc b/res/openvpn-gui-res-se.rc index fb68da3..9fe57a1 100644 --- a/res/openvpn-gui-res-se.rc +++ b/res/openvpn-gui-res-se.rc @@ -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 diff --git a/res/openvpn-gui-res-tr.rc b/res/openvpn-gui-res-tr.rc index ce1b5c4..0fe4c04 100644 --- a/res/openvpn-gui-res-tr.rc +++ b/res/openvpn-gui-res-tr.rc @@ -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 diff --git a/res/openvpn-gui-res-ua.rc b/res/openvpn-gui-res-ua.rc index 8398d4e..1d13826 100644 --- a/res/openvpn-gui-res-ua.rc +++ b/res/openvpn-gui-res-ua.rc @@ -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 diff --git a/res/openvpn-gui-res-zh-hans.rc b/res/openvpn-gui-res-zh-hans.rc index 91dff30..448603e 100644 --- a/res/openvpn-gui-res-zh-hans.rc +++ b/res/openvpn-gui-res-zh-hans.rc @@ -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 diff --git a/res/openvpn-gui-res-zh-hant.rc b/res/openvpn-gui-res-zh-hant.rc index 3080ce9..3d85819 100644 --- a/res/openvpn-gui-res-zh-hant.rc +++ b/res/openvpn-gui-res-zh-hant.rc @@ -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