Revision: 8177 https://osdn.net/projects/ttssh2/scm/svn/commits/8177 Author: yutakapon Date: 2019-09-17 22:38:14 +0900 (Tue, 17 Sep 2019) Log Message: ----------- [Setup]-[Serial port]ダイアログにCOMポートの詳細情報を追加した。 現状は Device Description のみ。 branches/serial_port_improvedからリビジョン8144をマージ: [Setup]-[Serial port]ダイアログにCOMポートの詳細情報を追加した。 ........ Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/en/html/menu/setup-serialport.html trunk/doc/ja/html/about/history.html trunk/doc/ja/html/menu/setup-serialport.html trunk/teraterm/ttpdlg/dlg_res.h trunk/teraterm/ttpdlg/ttdlg.c trunk/teraterm/ttpdlg/ttpdlg.rc Property Changed: ---------------- trunk/ trunk/teraterm/ -------------- next part -------------- Index: trunk =================================================================== --- trunk 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk 2019-09-17 13:38:14 UTC (rev 8177) Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo ## -2,7 +2,7 ## /branches/flowctrl_dsrdtr:7825-7827 /branches/openssl_1_1_1_v2:7888 /branches/portfwd_memleak:7732,7736-7737,7764 -/branches/serial_port_improved:8119,8140-8141 +/branches/serial_port_improved:8119,8140-8141,8144 /branches/ssh_ed25519:5495-5544 /branches/ttproxy_improved:8041,8055-8056 /branches/ttssh_improved:8027,8036,8040,8044,8053-8054,8058,8060,8063,8081,8085 Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/doc/en/html/about/history.html 2019-09-17 13:38:14 UTC (rev 8177) @@ -49,6 +49,7 @@ <li>When the inputted over than 256 of opacity values of the <a href="../menu/setup-additional.html">Additional settings dialog</a>, change to 255.</li> <li>The <a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> dialog can be called even while TCP/IP connection.</li> <li>The title of <a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> dialog is changed from "Serial port setup" to "Serial port setup and connection".</li> + <li>The detail information of COM port is added on the <a href="../menu/setup-serialport.html#Information">[Setup]-[Serial port]</a> dialog.</li> </ul> </li> <li>Bug fixes Modified: trunk/doc/en/html/menu/setup-serialport.html =================================================================== --- trunk/doc/en/html/menu/setup-serialport.html 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/doc/en/html/menu/setup-serialport.html 2019-09-17 13:38:14 UTC (rev 8177) @@ -43,6 +43,14 @@ <dd> Time intervals between characters (lines) being sent, in milliseconds. </dd> + + <dt id="Information">Detail information of COM port</dt> + <dd> + The detail information of selected port is shown in the text box. <br> + You can select all data by using CTRL+A. + You can scroll horizontally by using CTRL/SHIFT + wheel. + </dd> + </dl> </body> </html> Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/doc/ja/html/about/history.html 2019-09-17 13:38:14 UTC (rev 8177) @@ -49,6 +49,7 @@ <li><a href="../menu/setup-additional.html">Additional settings\x83_\x83C\x83A\x83\x8D\x83O</a>\x82\xCCVisual\x83^\x83u\x82ŕs\x93\xA7\x96\xBE\x93x\x82̒l\x82\xC9256\x88ȏ\xE3\x82\xF0\x93\xFC\x97͂\xB5\x82\xBD\x82Ƃ\xAB\x81A255\x82ɕύX\x82\xB7\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B</li> <li>TCP/IP\x90ڑ\xB1\x92\x86\x82ɂ\xA8\x82\xA2\x82Ă\xE0<a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> \x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x8CĂяo\x82\xB9\x82\xE9\x82悤\x82ɂ\xB5\x82\xBD\x81B</li> <li><a href="../menu/setup-serialport.html">[Setup]-[Serial port]</a> \x83_\x83C\x83A\x83\x8D\x83O\x82̃^\x83C\x83g\x83\x8B\x82\xF0\x81u\x83V\x83\x8A\x83A\x83\x8B\x83|\x81[\x83g\x90ݒ\xE8\x81v\x82\xA9\x82\xE7\x81u\x83V\x83\x8A\x83A\x83\x8B\x83|\x81[\x83g\x90ݒ\xE8\x82Ɛڑ\xB1\x81v\x82ɕύX\x82\xB5\x82\xBD\x81B</li> + <li><a href="../menu/setup-serialport.html#Information">[Setup]-[Serial port]</a> \x83_\x83C\x83A\x83\x8D\x83O\x82\xC9COM\x83|\x81[\x83g\x82̏ڍ\xEE\x95\xF1\x82\xF0\x92lj\xC1\x82\xB5\x82\xBD\x81B</li> </ul> </li> <li>\x83o\x83O\x8FC\x90\xB3 Modified: trunk/doc/ja/html/menu/setup-serialport.html =================================================================== --- trunk/doc/ja/html/menu/setup-serialport.html 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/doc/ja/html/menu/setup-serialport.html 2019-09-17 13:38:14 UTC (rev 8177) @@ -46,6 +46,13 @@ \x92P\x88ʂ̓~\x83\x8A\x95b\x82ł\xB7\x81B1\x95\xB6\x8E\x9A(\x8Ds)\x82\xB2\x82Ƃ̑҂\xBF\x8E\x9E\x8AԂ\xF0\x90ݒ\xE8\x82ł\xAB\x82܂\xB7\x81B<br> Tera Term \x82\xA9\x82\xE7\x91\xE5\x97ʂ̕\xB6\x8E\x9A\x82𑗏o\x82\xB5\x82\xBD\x82Ƃ\xAB\x82Ƀ\x82\x83f\x83\x80\x82\xE2\x83z\x83X\x83g\x82\xAA\x95\xB6\x8E\x9A\x82\xF0\x8E\xE6\x82肱\x82ڂ\xB7\x8Fꍇ\x82ɂ͓K\x93\x96\x82ȑ҂\xBF\x8E\x9E\x8AԂ\xF0\x90ݒ肵\x82Ă݂Ă\xAD\x82\xBE\x82\xB3\x82\xA2\x81B </dd> + + <dt id="Information">COM\x83|\x81[\x83g\x82̏ڍ\xEE\x95\xF1</dt> + <dd> + \x83e\x83L\x83X\x83g\x83{\x83b\x83N\x83X\x82ł͑I\x91𒆂\xCCCOM\x83|\x81[\x83g\x82Ɋւ\xB7\x82\xE9\x8Fڍ\xEE\x95\xF1\x82\xF0\x95\\x8E\xA6\x82\xB5\x82܂\xB7\x81B<br> + CTRL+A\x82őS\x91I\x91\xF0\x82\xAA\x82ł\xAB\x82܂\xB7\x81BCTRL/SHIFT+\x83z\x83C\x81[\x83\x8B\x82ʼn\xA1\x83X\x83N\x83\x8D\x81[\x83\x8B\x82\xAA\x82ł\xAB\x82܂\xB7\x81B + </dd> + </dl> </body> </html> Index: trunk/teraterm =================================================================== --- trunk/teraterm 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/teraterm 2019-09-17 13:38:14 UTC (rev 8177) Property changes on: trunk/teraterm ___________________________________________________________________ Modified: svn:mergeinfo ## -1,4 +1,4 ## /branches/drag_and_drop/teraterm:7130,7139,7141,7143-7147 /branches/flowctrl_dsrdtr/teraterm:7825-7827 -/branches/serial_port_improved/teraterm:8119,8140-8141 +/branches/serial_port_improved/teraterm:8119,8140-8141,8144 /branches/vs2015_warn/teraterm:6194-6285 \ No newline at end of property Modified: trunk/teraterm/ttpdlg/dlg_res.h =================================================================== --- trunk/teraterm/ttpdlg/dlg_res.h 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/teraterm/ttpdlg/dlg_res.h 2019-09-17 13:38:14 UTC (rev 8177) @@ -171,6 +171,7 @@ #define IDC_TERMRUSSFONT 1076 #define IDC_GENLANG_UI 1077 #define IDC_SFMT_VERSION 1078 +#define IDC_SERIALTEXT 1079 #define IDC_GENHELP 1099 #define IDD_TERMDLG 1100 #define IDD_WINLISTDLG 1200 @@ -190,7 +191,7 @@ #define _APS_NO_MFC 1 #define _APS_NEXT_RESOURCE_VALUE 103 #define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1079 +#define _APS_NEXT_CONTROL_VALUE 1080 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif Modified: trunk/teraterm/ttpdlg/ttdlg.c =================================================================== --- trunk/teraterm/ttpdlg/ttdlg.c 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/teraterm/ttpdlg/ttdlg.c 2019-09-17 13:38:14 UTC (rev 8177) @@ -1102,7 +1102,66 @@ static PCHAR ParityList[] = {"none", "odd", "even", "mark", "space", NULL}; static PCHAR StopList[] = {"1 bit", "1.5 bit", "2 bit", NULL}; static PCHAR FlowList[] = {"Xon/Xoff", "RTS/CTS", "DSR/DTR", "none", NULL}; +static int g_deltaSumSerialDlg = 0; // \x83}\x83E\x83X\x83z\x83C\x81[\x83\x8B\x82\xCCDelta\x97ݐϗp +static WNDPROC g_defSerialDlgEditWndProc; // Edit Control\x82̃T\x83u\x83N\x83\x89\x83X\x89\xBB\x97p +/* + * \x83V\x83\x8A\x83A\x83\x8B\x83|\x81[\x83g\x90ݒ\xE8\x83_\x83C\x83A\x83\x8D\x83O\x82̃e\x83L\x83X\x83g\x83{\x83b\x83N\x83X\x82\xC9COM\x83|\x81[\x83g\x82̏ڍ\xEE\x95\xF1\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9\x81B + * + */ +static void serial_dlg_set_comport_info(HWND dlg, int portno, char *desc) +{ + char buf[1024]; + + _snprintf_s(buf, sizeof(buf), _TRUNCATE, "%s\r\n", desc); + + SendDlgItemMessage(dlg, IDC_SERIALTEXT, WM_SETTEXT, 0, (LPARAM)(char *)buf); +} + +static LRESULT CALLBACK SerialDlgEditWindowProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) +{ + WORD keys; + short delta; + BOOL page; + + switch (msg) { + case WM_KEYDOWN: + // Edit control\x8F\xE3\x82\xC5 CTRL+A \x82\xF0\x89\x9F\x89\xBA\x82\xB7\x82\xE9\x82ƁA\x83e\x83L\x83X\x83g\x82\xF0\x91S\x91I\x91\xF0\x82\xB7\x82\xE9\x81B + if (wp == 'A' && GetKeyState(VK_CONTROL) < 0) { + PostMessage(hWnd, EM_SETSEL, 0, -1); + return 0; + } + break; + + case WM_MOUSEWHEEL: + // CTRLorSHIFT + \x83}\x83E\x83X\x83z\x83C\x81[\x83\x8B\x82̏ꍇ\x81A\x89\xA1\x83X\x83N\x83\x8D\x81[\x83\x8B\x82\xB3\x82\xB9\x82\xE9\x81B + keys = GET_KEYSTATE_WPARAM(wp); + delta = GET_WHEEL_DELTA_WPARAM(wp); + page = keys & (MK_CONTROL | MK_SHIFT); + + if (page == 0) + break; + + g_deltaSumSerialDlg += delta; + + if (g_deltaSumSerialDlg >= WHEEL_DELTA) { + g_deltaSumSerialDlg -= WHEEL_DELTA; + SendMessage(hWnd, WM_HSCROLL, SB_PAGELEFT , 0); + } else if (g_deltaSumSerialDlg <= -WHEEL_DELTA) { + g_deltaSumSerialDlg += WHEEL_DELTA; + SendMessage(hWnd, WM_HSCROLL, SB_PAGERIGHT, 0); + } + + break; + } + return CallWindowProc(g_defSerialDlgEditWndProc, hWnd, msg, wp, lp); +} + +/* + * \x83V\x83\x8A\x83A\x83\x8B\x83|\x81[\x83g\x90ݒ\xE8\x83_\x83C\x83A\x83\x8D\x83O + * + * + */ static INT_PTR CALLBACK SerialDlg(HWND Dialog, UINT Message, WPARAM wParam, LPARAM lParam) { static const DlgTextInfo TextInfos[] = { @@ -1123,10 +1182,11 @@ PTTSet ts; int i, w, sel; char Temp[128]; - WORD ComPortTable[MAXCOMPORT]; - static char *ComPortDesc[MAXCOMPORT]; - int comports; + static WORD ComPortTable[MAXCOMPORT]; // \x8Eg\x97p\x89\\x82\xC8COM\x83|\x81[\x83g\x94ԍ\x86 + static char *ComPortDesc[MAXCOMPORT]; // COM\x83|\x81[\x83g\x82̏ڍ\xEE\x95\xF1 + static int comports; // \x83e\x81[\x83u\x83\x8B\x8Dő吔 WORD Flow; + int portno; switch (Message) { case WM_INITDIALOG: @@ -1155,6 +1215,10 @@ if (ComPortTable[i] == ts->ComPort) { w = i; } + + // \x8Fڍ\xEE\x95\xF1\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9 + serial_dlg_set_comport_info(Dialog, ComPortTable[w], ComPortDesc[w]); + } } else if (comports == 0) { DisableDlgItem(Dialog, IDC_SERIALPORT, IDC_SERIALPORT); @@ -1214,6 +1278,13 @@ CenterWindow(Dialog, GetParent(Dialog)); + // Edit control\x82\xF0\x83T\x83u\x83N\x83\x89\x83X\x89\xBB\x82\xB7\x82\xE9\x81B + g_deltaSumSerialDlg = 0; + g_defSerialDlgEditWndProc = (WNDPROC)SetWindowLongPtr( + GetDlgItem(Dialog, IDC_SERIALTEXT), + GWLP_WNDPROC, + (LONG_PTR)SerialDlgEditWindowProc); + return TRUE; case WM_COMMAND: @@ -1278,6 +1349,22 @@ case IDC_SERIALHELP: PostMessage(GetParent(Dialog),WM_USER_DLGHELP2,0,0); + return TRUE; + + case IDC_SERIALPORT: + switch (HIWORD(wParam)) { + case CBN_SELCHANGE: // \x83\x8A\x83X\x83g\x82\xA9\x82\xE7COM\x83|\x81[\x83g\x82\xAA\x91I\x91\xF0\x82\xB3\x82ꂽ + sel = SendDlgItemMessage(Dialog, IDC_SERIALPORT, CB_GETCURSEL, 0, 0); + portno = ComPortTable[sel]; + + // \x8Fڍ\xEE\x95\xF1\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9 + serial_dlg_set_comport_info(Dialog, ComPortTable[sel], ComPortDesc[sel]); + + break; + + } + + return TRUE; } } return FALSE; Modified: trunk/teraterm/ttpdlg/ttpdlg.rc =================================================================== --- trunk/teraterm/ttpdlg/ttpdlg.rc 2019-09-17 12:33:15 UTC (rev 8176) +++ trunk/teraterm/ttpdlg/ttpdlg.rc 2019-09-17 13:38:14 UTC (rev 8177) @@ -125,7 +125,7 @@ EDITTEXT IDC_LOCALE_EDIT,59,140,63,13,ES_AUTOHSCROLL END -IDD_SERIALDLG DIALOGEX 20, 20, 190, 143 +IDD_SERIALDLG DIALOGEX 20, 20, 190, 205 STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU CAPTION "Tera Term: Serial port setup and connection" FONT 14, "System", 0, 0, 0x0 @@ -150,6 +150,7 @@ DEFPUSHBUTTON "OK",IDOK,138,9,40,16,WS_GROUP PUSHBUTTON "Cancel",IDCANCEL,138,34,40,16 PUSHBUTTON "&Help",IDC_SERIALHELP,138,62,40,16 + EDITTEXT IDC_SERIALTEXT,10,141,170,59,ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL | ES_READONLY | WS_VSCROLL | WS_HSCROLL END IDD_TCPIPDLG DIALOGEX 20, 20, 222, 157