scmno****@osdn*****
scmno****@osdn*****
2018年 6月 28日 (木) 23:24:08 JST
Revision: 7141 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7141 Author: zmatsuo Date: 2018-06-28 23:24:07 +0900 (Thu, 28 Jun 2018) Log Message: ----------- drag and dropダイアログの調整 - 文言修正 - ラジオボタンの動作改良 Modified Paths: -------------- branches/drag_and_drop/installer/release/lang/Japanese.lng branches/drag_and_drop/teraterm/common/tt_res.h branches/drag_and_drop/teraterm/teraterm/ttermpro.rc branches/drag_and_drop/teraterm/teraterm/vtwin.cpp -------------- next part -------------- Modified: branches/drag_and_drop/installer/release/lang/Japanese.lng =================================================================== --- branches/drag_and_drop/installer/release/lang/Japanese.lng 2018-06-28 09:54:14 UTC (rev 7140) +++ branches/drag_and_drop/installer/release/lang/Japanese.lng 2018-06-28 14:24:07 UTC (rev 7141) @@ -143,8 +143,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=\x91STera Term\x82\xF0\x8B\xAD\x90\xA7\x8FI\x97\xB9\x82\xB5\x82܂\xB7\x82\xA9\x81H MSG_DISCONNECT_CONF=\x90ؒf\x82\xB5\x82܂\xB7\x82\xA9\x81H -MSG_DANDD_CONF=\x83t\x83@\x83C\x83\x8B\x93]\x91\x97\x82\xF0\x8Ds\x82\xA2\x82܂\xB7\x82\xA9\x81H -MSG_DANDD_CONF_TITLE=Tera Term: \x83t\x83@\x83C\x83\x8B \x83h\x83\x89\x83b\x83O&\x83h\x83\x8D\x83b\x83v MSG_EXEC_TT_ERROR=Tera Term \x82\xF0\x8E\xC0\x8Ds\x82ł\xAB\x82܂\xB9\x82\xF1 (%d) MSG_FIND_CYGTERM_DIR_ERROR=Cygwin \x83f\x83B\x83\x8C\x83N\x83g\x83\x8A\x82\xAA\x8C\xA9\x82\xA9\x82\xE8\x82܂\xB9\x82\xF1 MSG_CYGTERM_ENV_ALLOC_ERROR=\x8A\xAB\x95ϐ\x94\x97p\x82̃\x81\x83\x82\x83\x8A\x82\xAA\x8Am\x95ۂł\xAB\x82܂\xB9\x82\xF1 @@ -168,6 +166,10 @@ MSG_LOGFILE_TOOLONG_ERROR=\x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x96\xBC\x82\xAA\x92\xB7\x82\xB7\x82\xAC\x82܂\xB7 MSG_SAVESETUP_PERMISSION_ERROR=TERATERM.INI \x82ɏ\x91\x82\xAB\x8D\x9E\x82\xA0\x8C\xC0\x82\xAA\x82\xA0\x82\xE8\x82܂\xB9\x82\xF1 +MSG_DANDD_CONF_TITLE=Tera Term: \x83t\x83@\x83C\x83\x8B \x83h\x83\x89\x83b\x83O&\x83h\x83\x8D\x83b\x83v +MSG_DANDD_CONF=\x83t\x83@\x83C\x83\x8B\x93]\x91\x97\x82\xF0\x8Ds\x82\xA2\x82܂\xB7\x82\xA9\x81H +MSG_DANDD_CONF_CONFLICTS=\x93\xAF\x82\xB6\x8F\x88\x97\x9D\x82\xF0\x8E\x9F\x82\xCC %d \x8C̋\xA3\x8D\x87\x82ɓK\x97p + DLG_TABSHEET_TITLE=Tera Term: \x82\xBB\x82̑\xBC\x82̐ݒ\xE8 DLG_TABSHEET_TITLE_GENERAL=\x91S\x94\xCA DLG_TABSHEET_TITLE_SEQUENCE=\x90\xA7\x8C\xE4\x83V\x81[\x83P\x83\x93\x83X Modified: branches/drag_and_drop/teraterm/common/tt_res.h =================================================================== --- branches/drag_and_drop/teraterm/common/tt_res.h 2018-06-28 09:54:14 UTC (rev 7140) +++ branches/drag_and_drop/teraterm/common/tt_res.h 2018-06-28 14:24:07 UTC (rev 7141) @@ -214,7 +214,7 @@ #define IDC_CLIPBOARD_NOTIFY 2566 #define IDC_LIST_HIDDEN_FONTS 2567 #define IDC_BINARY_CHECK 2568 -#define IDC_ADAPT_SAME_CHECK 2569 +#define IDC_SAME_PROCESS_CHECK 2569 #define IDC_FILENAME_EDIT 2570 #define IDC_SCP_RADIO 2571 #define IDC_SENDFILE_RADIO 2572 @@ -225,7 +225,7 @@ #define IDC_SPACE_RADIO 2577 #define IDC_NEWLINE_RADIO 2578 #define IDC_DAD_NOTE 2579 -#define IDC_SAME_PROCESS_CHECK 2580 +#define IDC_SAME_PROCESS_NEXTDROP_CHECK 2580 #define IDC_DONTSHOW_CHECK 2581 #define ID_ACC_SENDBREAK 50001 #define ID_ACC_COPY 50002 Modified: branches/drag_and_drop/teraterm/teraterm/ttermpro.rc =================================================================== --- branches/drag_and_drop/teraterm/teraterm/ttermpro.rc 2018-06-28 09:54:14 UTC (rev 7140) +++ branches/drag_and_drop/teraterm/teraterm/ttermpro.rc 2018-06-28 14:24:07 UTC (rev 7141) @@ -37,22 +37,22 @@ CONTROL "S&end File (Paste content of file)",IDC_SENDFILE_RADIO, "Button",BS_AUTORADIOBUTTON | BS_NOTIFY,7,77,172,10 CONTROL "&Paste Filename",IDC_PASTE_RADIO,"Button",BS_AUTORADIOBUTTON | BS_NOTIFY,7,109,172,10 - LTEXT "SCP des&t:",IDC_SCP_PATH_LABEL,19,50,36,8 - EDITTEXT IDC_SCP_PATH,57,47,122,14,ES_AUTOHSCROLL + LTEXT "des&t:",IDC_SCP_PATH_LABEL,19,50,22,8 + EDITTEXT IDC_SCP_PATH,46,47,133,14,ES_AUTOHSCROLL LTEXT "dest is home directory if empty",IDC_SCP_PATH_NOTE,50,64,120,8 CONTROL "Bina&ry",IDC_BINARY_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,92,151,10 CONTROL "Es&cape",IDC_ESCAPE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,19,125,151,10 CONTROL "Separat&or is Space",IDC_SPACE_RADIO,"Button",BS_AUTORADIOBUTTON,19,139,160,10 CONTROL "Separator is &NewLine",IDC_NEWLINE_RADIO,"Button",BS_AUTORADIOBUTTON,19,154,160,10 - CONTROL "&Adapt same process to remaing %d files",IDC_ADAPT_SAME_CHECK, + CONTROL "&Do this for the next %d conflicts",IDC_SAME_PROCESS_CHECK, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,173,172,10 - CONTROL "Do sa&me process, next drop",IDC_SAME_PROCESS_CHECK, + CONTROL "Do sa&me process, next drop",IDC_SAME_PROCESS_NEXTDROP_CHECK, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,188,172,10 - CONTROL "&Do not display this dialog, next drop",IDC_DONTSHOW_CHECK, + CONTROL "Do not d&isplay this dialog, next drop",IDC_DONTSHOW_CHECK, "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,7,203,172,11 DEFPUSHBUTTON "OK",IDOK,69,245,50,14 PUSHBUTTON "Cancel",IDCANCEL,130,245,50,14 - LTEXT "Drop with CTRL, this dialog is dispalyed",IDC_DAD_NOTE,7,221,172,8 + LTEXT "Drop with CTRL, this dialog is displayed",IDC_DAD_NOTE,7,221,172,8 END IDD_COMMENT_DIALOG DIALOGEX 0, 0, 239, 19 @@ -348,8 +348,8 @@ BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 179 - TOPMARGIN, 1 - BOTTOMMARGIN, 67 + TOPMARGIN, 6 + BOTTOMMARGIN, 259 END IDD_COMMENT_DIALOG, DIALOG Modified: branches/drag_and_drop/teraterm/teraterm/vtwin.cpp =================================================================== --- branches/drag_and_drop/teraterm/teraterm/vtwin.cpp 2018-06-28 09:54:14 UTC (rev 7140) +++ branches/drag_and_drop/teraterm/teraterm/vtwin.cpp 2018-06-28 14:24:07 UTC (rev 7141) @@ -2032,6 +2032,28 @@ } } +typedef struct { + int nIDDlgItem; + char *key; +} DlgTextInfo; + +static void SetDlgTexts(HWND hDlgWnd, const DlgTextInfo *infos, int infoCount, char *UILanguageFile) +{ + for (int i = 0 ; i < infoCount; i++) { + char *key = infos[i].key; + char uimsg[MAX_UIMSG]; + get_lang_msg(key, uimsg, sizeof(uimsg), "", UILanguageFile); + if (uimsg[0] != '\0') { + const int nIDDlgItem = infos[i].nIDDlgItem; + if (nIDDlgItem == 0) { + SetWindowText(hDlgWnd, uimsg); + } else { + SetDlgItemText(hDlgWnd, nIDDlgItem, uimsg); + } + } + } +} + enum drop_type { DROP_TYPE_CANCEL, DROP_TYPE_SCP, @@ -2053,8 +2075,8 @@ bool SendfileEnable; bool PasteNewlineEnable; int RemaingFileCount; - bool AdaptSameProcess; bool DoSameProcess; + bool DoSameProcessNextDrop; bool DoNotShowDialogEnable; bool DoNotShowDialog; }; @@ -2071,7 +2093,6 @@ switch (msg) { case WM_INITDIALOG: { - char uimsg[MAX_UIMSG]; LOGFONT logfont; HFONT font; HFONT DlgDragDropFont = NULL; @@ -2082,7 +2103,7 @@ font = (HFONT)SendMessage(hDlgWnd, WM_GETFONT, 0, 0); GetObject(font, sizeof(LOGFONT), &logfont); if (get_lang_font("DLG_TAHOMA_FONT", hDlgWnd, &logfont, &DlgDragDropFont, ts.UILanguageFile)) { - const static int IDs[] = { + static const int IDs[] = { IDC_FILENAME_EDIT, IDC_DAD_STATIC, IDC_SCP_RADIO, IDC_SENDFILE_RADIO, IDC_PASTE_RADIO, @@ -2089,7 +2110,7 @@ IDC_SCP_PATH_LABEL, IDC_SCP_PATH, IDC_SCP_PATH_NOTE, IDC_BINARY_CHECK, IDC_ESCAPE_CHECK, IDC_NEWLINE_RADIO, IDC_SPACE_RADIO, - IDC_ADAPT_SAME_CHECK, IDC_DONTSHOW_CHECK, + IDC_SAME_PROCESS_CHECK, IDC_SAME_PROCESS_NEXTDROP_CHECK, IDC_DONTSHOW_CHECK, IDC_DAD_NOTE, IDOK, IDCANCEL, }; @@ -2099,15 +2120,15 @@ } DlgData->DlgDragDropFont = DlgDragDropFont; - GetWindowText(hDlgWnd, uimsg, sizeof(uimsg)); - get_lang_msg("MSG_DANDD_CONF_TITLE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); - SetWindowText(hDlgWnd, ts.UIMsg); + static const DlgTextInfo textInfos[] = { + { 0, "MSG_DANDD_CONF_TITLE" }, + { IDC_DAD_STATIC, "MSG_DANDD_CONF" }, + { IDC_SAME_PROCESS_CHECK, "MSG_DANDD_CONF_CONFLICTS" }, + }; + SetDlgTexts(hDlgWnd, textInfos, _countof(textInfos), ts.UILanguageFile); + // target file SetDlgItemText(hDlgWnd, IDC_FILENAME_EDIT, Param->TargetFilename); - - get_lang_msg("MSG_DANDD_CONF", ts.UIMsg, sizeof(ts.UIMsg), - "Are you sure that you want to send the file content?", ts.UILanguageFile); - SetDlgItemText(hDlgWnd, IDC_DAD_STATIC, ts.UIMsg); // checkbox CheckRadioButton(hDlgWnd, IDC_SCP_RADIO, IDC_PASTE_RADIO, @@ -2148,13 +2169,14 @@ EnableWindow(GetDlgItem(hDlgWnd, IDC_NEWLINE_RADIO), FALSE); } - // Adapt same process - GetDlgItemText(hDlgWnd, IDC_ADAPT_SAME_CHECK, uimsg, sizeof(uimsg)); - char b[MAX_UIMSG]; - _snprintf_s(b, sizeof(b), _TRUNCATE, uimsg, Param->RemaingFileCount); - SetDlgItemText(hDlgWnd, IDC_ADAPT_SAME_CHECK, b); + // Do this for the next %d conflicts + char orgmsg[MAX_UIMSG]; + GetDlgItemText(hDlgWnd, IDC_SAME_PROCESS_CHECK, orgmsg, sizeof(orgmsg)); + char uimsg[MAX_UIMSG]; + _snprintf_s(uimsg, sizeof(uimsg), _TRUNCATE, orgmsg, Param->RemaingFileCount - 1); + SetDlgItemText(hDlgWnd, IDC_SAME_PROCESS_CHECK, uimsg); if (Param->RemaingFileCount < 2) { - EnableWindow(GetDlgItem(hDlgWnd, IDC_ADAPT_SAME_CHECK), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_SAME_PROCESS_CHECK), FALSE); } // Dont Show Dialog @@ -2194,6 +2216,17 @@ { // radio buttons double click wID = IDOK; } + if (wCMD == EN_SETFOCUS && wID == IDC_SCP_PATH) { + CheckRadioButton(hDlgWnd, IDC_SCP_RADIO, IDC_PASTE_RADIO, IDC_SCP_RADIO); + } + if (wID == IDC_BINARY_CHECK) { + CheckRadioButton(hDlgWnd, IDC_SCP_RADIO, IDC_PASTE_RADIO, IDC_SENDFILE_RADIO); + } + if (wID == IDC_ESCAPE_CHECK || + wID == IDC_SPACE_RADIO || wID == IDC_NEWLINE_RADIO) + { + CheckRadioButton(hDlgWnd, IDC_SCP_RADIO, IDC_PASTE_RADIO, IDC_PASTE_RADIO); + } if (wID == IDOK) { if (IsDlgButtonChecked(hDlgWnd, IDC_SCP_RADIO) == BST_CHECKED) { // SCP @@ -2217,12 +2250,12 @@ (IsDlgButtonChecked(hDlgWnd, IDC_NEWLINE_RADIO) == BST_CHECKED) ? DROP_TYPE_PASTE_NEWLINE : 0; } - DlgData->Param->AdaptSameProcess = - (IsDlgButtonChecked(hDlgWnd, IDC_ADAPT_SAME_CHECK) == BST_CHECKED) ? - true : false; - DlgData->Param->DoSameProcess = + DlgData->Param->DoSameProcess = (IsDlgButtonChecked(hDlgWnd, IDC_SAME_PROCESS_CHECK) == BST_CHECKED) ? true : false; + DlgData->Param->DoSameProcessNextDrop = + (IsDlgButtonChecked(hDlgWnd, IDC_SAME_PROCESS_NEXTDROP_CHECK) == BST_CHECKED) ? + true : false; DlgData->Param->DoNotShowDialog = (IsDlgButtonChecked(hDlgWnd, IDC_DONTSHOW_CHECK) == BST_CHECKED) ? true : false; @@ -2256,8 +2289,8 @@ bool EnableSendFile, bool EnableDoNotShowDialog, unsigned char *DropTypePaste, - bool *AdaptSameProcess, bool *DoSameProcess, + bool *DoSameProcessNextDrop, bool *DoNotShowDialog) { struct DrapDropDlgParam Param; @@ -2280,8 +2313,8 @@ return DROP_TYPE_CANCEL; } *DropTypePaste = Param.DropTypePaste; - *AdaptSameProcess = Param.AdaptSameProcess; *DoSameProcess = Param.DoSameProcess; + *DoSameProcessNextDrop = Param.DoSameProcessNextDrop; *DoNotShowDialog = Param.DoNotShowDialog; return Param.DropType; } @@ -2404,7 +2437,7 @@ } } - bool AdapatSameProcess = false; + bool DoSameProcess = false; const bool isSSH = (cv.isSSH == 2); enum drop_type DropType; unsigned char DropTypePaste = DROP_TYPE_PASTE_ESCAPE; @@ -2418,17 +2451,17 @@ } else { DropType = DROP_TYPE_SEND_FILE; } - AdapatSameProcess = false; + DoSameProcess = false; } else { DropType = DROP_TYPE_SEND_FILE; - AdapatSameProcess = DefaultShowDialog ? false : true; + DoSameProcess = DefaultShowDialog ? false : true; } } else if (FileCount == 0 && DirectoryCount == 1) { DropType = DROP_TYPE_PASTE_FILENAME; - AdapatSameProcess = DefaultShowDialog ? false : true; + DoSameProcess = DefaultShowDialog ? false : true; } else if (FileCount > 0 && DirectoryCount > 0) { DropType = DROP_TYPE_PASTE_FILENAME; - AdapatSameProcess = false; + DoSameProcess = false; } else if (FileCount > 0 && DirectoryCount == 0) { // filename only if (isSSH) { @@ -2436,11 +2469,11 @@ } else { DropType = DROP_TYPE_SEND_FILE; } - AdapatSameProcess = false; + DoSameProcess = false; } else { // directory only DropType = DROP_TYPE_PASTE_FILENAME; - AdapatSameProcess = ts.ConfirmFileDragAndDrop ? false : true; + DoSameProcess = ts.ConfirmFileDragAndDrop ? false : true; } } else { // show dialog @@ -2453,7 +2486,7 @@ DropType = DROP_TYPE_SEND_FILE; } } - AdapatSameProcess = false; + DoSameProcess = false; } } else { if (DirectoryCount > 0 && @@ -2463,11 +2496,11 @@ { // \x83f\x83t\x83H\x83\x8B\x83g\x82̂܂܂ł͏\x88\x97\x9D\x82ł\xAB\x82Ȃ\xA2\x91g\x82ݍ\x87\x82킹 DropType = DROP_TYPE_PASTE_FILENAME; DropTypePaste = DefaultDropTypePaste; - AdapatSameProcess = false; + DoSameProcess = false; } else { DropType = DefaultDropType; DropTypePaste = DefaultDropTypePaste; - AdapatSameProcess = (ShowDialog || DefaultShowDialog) ? false : true; + DoSameProcess = (ShowDialog || DefaultShowDialog) ? false : true; } } @@ -2474,8 +2507,8 @@ for (int i = 0; i < DropListCount; i++) { const char *FileName = DropLists[i]; - if (!AdapatSameProcess) { - bool DoSameProcess; + if (!DoSameProcess) { + bool DoSameProcessNextDrop; bool DoNotShowDialog = !DefaultShowDialog; DropType = ShowDropDialogBox(hInst, HVTWin, @@ -2485,13 +2518,13 @@ DirectoryCount == 0 ? true : false, ts.ConfirmFileDragAndDrop ? false : true, &DropTypePaste, - &AdapatSameProcess, &DoSameProcess, + &DoSameProcessNextDrop, &DoNotShowDialog); if (DropType == DROP_TYPE_CANCEL) { goto finish; } - if (DoSameProcess) { + if (DoSameProcessNextDrop) { DefaultDropType = DropType; DefaultDropTypePaste = DropTypePaste; } @@ -2543,7 +2576,7 @@ { // send by scp char **FileNames = &DropLists[i]; - int FileCount = AdapatSameProcess ? DropListCount - i : 1; + int FileCount = DoSameProcess ? DropListCount - i : 1; if (!SendScp(FileNames, FileCount, ts.ScpSendDir)) { goto finish; }