| 2346 |
char buf[1024]; |
char buf[1024]; |
| 2347 |
int a, b, c, d; |
int a, b, c, d; |
| 2348 |
char uimsg[MAX_UIMSG]; |
char uimsg[MAX_UIMSG]; |
| 2349 |
|
char *fp = NULL; |
| 2350 |
|
|
| 2351 |
GetWindowText(dlg, uimsg, sizeof(uimsg)); |
GetWindowText(dlg, uimsg, sizeof(uimsg)); |
| 2352 |
UTIL_get_lang_msg("DLG_ABOUT_TITLE", pvar, uimsg); |
UTIL_get_lang_msg("DLG_ABOUT_TITLE", pvar, uimsg); |
| 2450 |
UTIL_get_lang_msg("DLG_ABOUT_COMP", pvar, "Compression:"); |
UTIL_get_lang_msg("DLG_ABOUT_COMP", pvar, "Compression:"); |
| 2451 |
append_about_text(dlg, pvar->ts->UIMsg, buf); |
append_about_text(dlg, pvar->ts->UIMsg, buf); |
| 2452 |
} |
} |
| 2453 |
|
|
| 2454 |
|
// ホスト公開鍵のfingerprintを表示する。 |
| 2455 |
|
// Random artの表示が崩れてしまうのが課題。 |
| 2456 |
|
// (2014.5.1 yutaka) |
| 2457 |
|
fp = key_fingerprint(&pvar->hosts_state.hostkey, SSH_FP_HEX); |
| 2458 |
|
UTIL_get_lang_msg("DLG_ABOUT_FINGERPRINT", pvar, "Host key's fingerprint:"); |
| 2459 |
|
append_about_text(dlg, pvar->ts->UIMsg, fp); |
| 2460 |
|
free(fp); |
| 2461 |
|
|
| 2462 |
|
fp = key_fingerprint(&pvar->hosts_state.hostkey, SSH_FP_RANDOMART); |
| 2463 |
|
append_about_text(dlg, "", fp); |
| 2464 |
|
free(fp); |
| 2465 |
} |
} |
| 2466 |
} |
} |
| 2467 |
} |
} |
| 2468 |
|
|
| 2469 |
|
static WNDPROC g_defAboutDlgEditWndProc; |
| 2470 |
|
|
| 2471 |
|
static LRESULT CALLBACK AboutDlgEditWindowProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) |
| 2472 |
|
{ |
| 2473 |
|
// Edit control上で CTRL+A を押下すると、テキストを全選択する。 |
| 2474 |
|
if (msg == WM_KEYDOWN && wp == 'A' && GetKeyState(VK_CONTROL) < 0) { |
| 2475 |
|
PostMessage(hWnd, EM_SETSEL, 0, -1); |
| 2476 |
|
return 0; |
| 2477 |
|
} |
| 2478 |
|
return CallWindowProc(g_defAboutDlgEditWndProc, hWnd, msg, wp, lp); |
| 2479 |
|
} |
| 2480 |
|
|
| 2481 |
static BOOL CALLBACK TTXAboutDlg(HWND dlg, UINT msg, WPARAM wParam, |
static BOOL CALLBACK TTXAboutDlg(HWND dlg, UINT msg, WPARAM wParam, |
| 2482 |
LPARAM lParam) |
LPARAM lParam) |
| 2483 |
{ |
{ |
| 2520 |
|
|
| 2521 |
init_about_dlg((PTInstVar) lParam, dlg); |
init_about_dlg((PTInstVar) lParam, dlg); |
| 2522 |
SetFocus(GetDlgItem(dlg, IDOK)); |
SetFocus(GetDlgItem(dlg, IDOK)); |
| 2523 |
|
|
| 2524 |
|
// Edit controlをサブクラス化する。 |
| 2525 |
|
g_defAboutDlgEditWndProc = (WNDPROC)SetWindowLongPtr(GetDlgItem(dlg, IDC_ABOUTTEXT), GWLP_WNDPROC, (LONG_PTR)AboutDlgEditWindowProc); |
| 2526 |
|
|
| 2527 |
return FALSE; |
return FALSE; |
| 2528 |
|
|
| 2529 |
case WM_COMMAND: |
case WM_COMMAND: |
| 2530 |
switch (LOWORD(wParam)) { |
switch (LOWORD(wParam)) { |
| 2531 |
case IDOK: |
case IDOK: |