Revision: 9354 https://osdn.net/projects/ttssh2/scm/svn/commits/9354 Author: zmatsuo Date: 2021-08-12 12:06:23 +0900 (Thu, 12 Aug 2021) Log Message: ----------- ttxssh の認証ダイアログの一部を Unicode 化 - パスフレーズのペースト - [▼] を押したときのメニューのlngファイルのパス Modified Paths: -------------- trunk/teraterm/teraterm/vtdisp.c trunk/teraterm/teraterm/vtterm.c trunk/ttssh2/ttxssh/auth.c -------------- next part -------------- Modified: trunk/teraterm/teraterm/vtdisp.c =================================================================== --- trunk/teraterm/teraterm/vtdisp.c 2021-08-12 03:06:14 UTC (rev 9353) +++ trunk/teraterm/teraterm/vtdisp.c 2021-08-12 03:06:23 UTC (rev 9354) @@ -1976,10 +1976,13 @@ if (ts.UseIME==0) FreeIME(HVTWin); else if (! LoadIME()) { - char uimsg[MAX_UIMSG]; - get_lang_msg("MSG_TT_ERROR", uimsg, sizeof(uimsg), "Tera Term: Error", ts.UILanguageFile); - get_lang_msg("MSG_USE_IME_ERROR", ts.UIMsg, sizeof(ts.UIMsg), "Can't use IME", ts.UILanguageFile); - MessageBoxA(0,ts.UIMsg,uimsg,MB_ICONEXCLAMATION); + static const TTMessageBoxInfoW info = { + "Tera Term", + "MSG_TT_ERROR", L"Tera Term: Error", + "MSG_USE_IME_ERROR", L"Can't use IME", + MB_ICONEXCLAMATION + }; + TTMessageBoxW(0, &info, ts.UILanguageFileW); WritePrivateProfileStringA("Tera Term","IME","off",ts.SetupFName); ts.UseIME = 0; } Modified: trunk/teraterm/teraterm/vtterm.c =================================================================== --- trunk/teraterm/teraterm/vtterm.c 2021-08-12 03:06:14 UTC (rev 9353) +++ trunk/teraterm/teraterm/vtterm.c 2021-08-12 03:06:23 UTC (rev 9354) @@ -57,6 +57,7 @@ #include "unicode.h" #include "ttdde.h" #include "checkeol.h" +#include "asprintf.h" #include "vtterm.h" @@ -5071,7 +5072,8 @@ static void XsProcClipboard(PCHAR buff) { int len, blen; - char *p, *cbbuff, hdr[20], notify_buff[256], notify_title[MAX_UIMSG]; + char *p, *cbbuff, hdr[20]; + wchar_t *notify_buff, *notify_title; HGLOBAL cbmem; int wide_len; HGLOBAL wide_cbmem; @@ -5086,11 +5088,13 @@ if (*p == '?' && *(p+1) == 0) { // Read access if (ts.CtrlFlag & CSF_CBREAD) { if (ts.NotifyClipboardAccess) { - get_lang_msg("MSG_CBACCESS_TITLE", notify_title, sizeof(notify_title), - "Clipboard Access", ts.UILanguageFile); - get_lang_msg("MSG_CBACCESS_READ", notify_buff, sizeof(notify_buff), - "Remote host reads clipboard contents.", ts.UILanguageFile); - NotifyInfoMessage(&cv, notify_buff, notify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_TITLE", + L"Clipboard Access", ts.UILanguageFileW, ¬ify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_READ", + L"Remote host reads clipboard contents.", ts.UILanguageFileW, ¬ify_buff); + NotifyInfoMessageW(&cv, notify_buff, notify_title); + free(notify_title); + free(notify_buff); } strncpy_s(hdr, sizeof(hdr), "\033]52;", _TRUNCATE); if (strncat_s(hdr, sizeof(hdr), buff, p - buff) == 0) { @@ -5098,11 +5102,13 @@ } } else if (ts.NotifyClipboardAccess) { - get_lang_msg("MSG_CBACCESS_REJECT_TITLE", notify_title, sizeof(notify_title), - "Rejected Clipboard Access", ts.UILanguageFile); - get_lang_msg("MSG_CBACCESS_READ_REJECT", notify_buff, sizeof(notify_buff), - "Reject clipboard read access from remote.", ts.UILanguageFile); - NotifyWarnMessage(&cv, notify_buff, notify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_REJECT_TITLE", + L"Rejected Clipboard Access", ts.UILanguageFileW, ¬ify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_READ_REJECT", + L"Reject clipboard read access from remote.", ts.UILanguageFileW, ¬ify_buff); + NotifyWarnMessageW(&cv, notify_buff, notify_title); + free(notify_title); + free(notify_buff); } } else if (ts.CtrlFlag & CSF_CBWRITE) { // Write access @@ -5129,12 +5135,16 @@ GlobalUnlock(cbmem); if (ts.NotifyClipboardAccess) { - get_lang_msg("MSG_CBACCESS_TITLE", notify_title, sizeof(notify_title), - "Clipboard Access", ts.UILanguageFile); - get_lang_msg("MSG_CBACCESS_WRITE", ts.UIMsg, sizeof(ts.UIMsg), - "Remote host wirtes clipboard.", ts.UILanguageFile); - _snprintf_s(notify_buff, sizeof(notify_buff), _TRUNCATE, "%s\n--\n%s", ts.UIMsg, cbbuff); - NotifyInfoMessage(&cv, notify_buff, notify_title); + wchar_t *buf; + GetI18nStrWW("Tera Term", "MSG_CBACCESS_TITLE", + L"Clipboard Access", ts.UILanguageFileW, ¬ify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_WRITE", + L"Remote host wirtes clipboard.", ts.UILanguageFileW, &buf); + aswprintf(¬ify_buff, L"%s\n--\n%hs", buf, cbbuff); + NotifyInfoMessageW(&cv, notify_buff, notify_title); + free(buf); + free(notify_title); + free(notify_buff); } wide_len = MultiByteToWideChar(CP_ACP, 0, cbbuff, -1, NULL, 0); @@ -5155,11 +5165,13 @@ } } else if (ts.NotifyClipboardAccess) { - get_lang_msg("MSG_CBACCESS_REJECT_TITLE", notify_title, sizeof(notify_title), - "Rejected Clipboard Access", ts.UILanguageFile); - get_lang_msg("MSG_CBACCESS_WRITE_REJECT", notify_buff, sizeof(notify_buff), - "Reject clipboard write access from remote.", ts.UILanguageFile); - NotifyWarnMessage(&cv, notify_buff, notify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_REJECT_TITLE", + L"Rejected Clipboard Access", ts.UILanguageFileW, ¬ify_title); + GetI18nStrWW("Tera Term", "MSG_CBACCESS_WRITE_REJECT", + L"Reject clipboard write access from remote.", ts.UILanguageFileW, ¬ify_buff); + NotifyWarnMessageW(&cv, notify_buff, notify_title); + free(notify_title); + free(notify_buff); } } } Modified: trunk/ttssh2/ttxssh/auth.c =================================================================== --- trunk/ttssh2/ttxssh/auth.c 2021-08-12 03:06:14 UTC (rev 9353) +++ trunk/ttssh2/ttxssh/auth.c 2021-08-12 03:06:23 UTC (rev 9354) @@ -769,7 +769,6 @@ static HICON hIconDropdown; static size_t username_str_len; static wchar_t password_char; // \x95\x9A\x82\xB9\x8E\x9A\x83L\x83\x83\x83\x89\x83N\x83^ - char uimsg[MAX_UIMSG]; switch (msg) { case WM_INITDIALOG: @@ -1030,27 +1029,28 @@ HWND hWndButton; int result; HMENU hMenu= CreatePopupMenu(); - char *clipboard = GetClipboardTextA(dlg, FALSE); - GetI18nStr("TTSSH", "DLG_AUTH_PASTE_CLIPBOARD", - uimsg, _countof(uimsg), - "Paste from &clipboard", - pvar->ts->UILanguageFile); - AppendMenu(hMenu, MF_ENABLED | MF_STRING | (clipboard == NULL ? MFS_DISABLED : 0), 1, uimsg); - GetI18nStr("ttssh", "DLG_AUTH_CLEAR_CLIPBOARD", - uimsg, _countof(uimsg), - "Paste from &clipboard and cl&ear clipboard", - pvar->ts->UILanguageFile); - AppendMenu(hMenu, MF_ENABLED | MF_STRING | (clipboard == NULL ? MFS_DISABLED : 0), 2, uimsg); - GetI18nStr("ttssh", "DLG_AUTH_USE_CONTORL_CHARACTERS", - uimsg, _countof(uimsg), - "Use control charac&ters", - pvar->ts->UILanguageFile); - AppendMenu(hMenu, MF_ENABLED | MF_STRING | (UseControlChar ? MFS_CHECKED : 0), 3, uimsg); - GetI18nStr("ttssh", "DLG_AUTH_SHOW_PASSPHRASE", - uimsg, _countof(uimsg), - "&Show passphrase", - pvar->ts->UILanguageFile); - AppendMenu(hMenu, MF_ENABLED | MF_STRING | (ShowPassPhrase ? MFS_CHECKED : 0), 4, uimsg); + wchar_t *clipboard = GetClipboardTextW(dlg, FALSE); + wchar_t *uimsg; + GetI18nStrWW("TTSSH", "DLG_AUTH_PASTE_CLIPBOARD", + L"Paste from &clipboard", + pvar->ts->UILanguageFileW, &uimsg); + AppendMenuW(hMenu, MF_ENABLED | MF_STRING | (clipboard == NULL ? MFS_DISABLED : 0), 1, uimsg); + free(uimsg); + GetI18nStrWW("ttssh", "DLG_AUTH_CLEAR_CLIPBOARD", + L"Paste from &clipboard and cl&ear clipboard", + pvar->ts->UILanguageFileW, &uimsg); + AppendMenuW(hMenu, MF_ENABLED | MF_STRING | (clipboard == NULL ? MFS_DISABLED : 0), 2, uimsg); + free(uimsg); + GetI18nStrWW("ttssh", "DLG_AUTH_USE_CONTORL_CHARACTERS", + L"Use control charac&ters", + pvar->ts->UILanguageFileW, &uimsg); + AppendMenuW(hMenu, MF_ENABLED | MF_STRING | (UseControlChar ? MFS_CHECKED : 0), 3, uimsg); + free(uimsg); + GetI18nStrWW("ttssh", "DLG_AUTH_SHOW_PASSPHRASE", + L"&Show passphrase", + pvar->ts->UILanguageFileW, &uimsg); + AppendMenuW(hMenu, MF_ENABLED | MF_STRING | (ShowPassPhrase ? MFS_CHECKED : 0), 4, uimsg); + free(uimsg); if (clipboard != NULL) { free(clipboard); } @@ -1063,9 +1063,9 @@ case 2: { // \x83N\x83\x8A\x83b\x83v\x83{\x81[\x83h\x82\xA9\x82\xE7\x83y\x81[\x83X\x83g BOOL clear_clipboard = result == 2; - clipboard = GetClipboardTextA(dlg, clear_clipboard); + clipboard = GetClipboardTextW(dlg, clear_clipboard); if (clipboard != NULL) { - SetDlgItemTextA(dlg, IDC_SSHPASSWORD, clipboard); + SetDlgItemTextW(dlg, IDC_SSHPASSWORD, clipboard); free(clipboard); SendDlgItemMessage(dlg, IDC_SSHPASSWORD, EM_SETSEL, 0, -1); SendMessage(dlg, WM_NEXTDLGCTL, (WPARAM)GetDlgItem(dlg, IDC_SSHPASSWORD), TRUE); @@ -1113,17 +1113,18 @@ HMENU hMenu= CreatePopupMenu(); int result; const BOOL DisableDefaultUserName = pvar->session_settings.DefaultUserName[0] == 0; - GetI18nStr("TTSSH", "DLG_AUTH_USE_DEFAULT_USERNAME", - uimsg, _countof(uimsg), - "Use &default username", - pvar->ts->UILanguageFile); - AppendMenu(hMenu, MF_ENABLED | MF_STRING | (DisableDefaultUserName ? MFS_DISABLED : 0), 1, - uimsg); - GetI18nStr("TTSSH", "DLG_AUTH_USE_LOGON_USERNAME", - uimsg, _countof(uimsg), - "Use &logon username", - pvar->ts->UILanguageFile); - AppendMenu(hMenu, MF_ENABLED | MF_STRING, 2, uimsg); + wchar_t *uimsg; + GetI18nStrWW("TTSSH", "DLG_AUTH_USE_DEFAULT_USERNAME", + L"Use &default username", + pvar->ts->UILanguageFileW, &uimsg); + AppendMenuW(hMenu, MF_ENABLED | MF_STRING | (DisableDefaultUserName ? MFS_DISABLED : 0), 1, + uimsg); + free(uimsg); + GetI18nStrWW("TTSSH", "DLG_AUTH_USE_LOGON_USERNAME", + L"Use &logon username", + pvar->ts->UILanguageFileW, &uimsg); + AppendMenuW(hMenu, MF_ENABLED | MF_STRING, 2, uimsg); + free(uimsg); hWndButton = GetDlgItem(dlg, IDC_USERNAME_OPTION); GetWindowRect(hWndButton, &rect); result = TrackPopupMenu(hMenu, TPM_RETURNCMD, rect.left, rect.bottom, 0 , hWndButton, NULL);