scmno****@osdn*****
scmno****@osdn*****
2018年 7月 13日 (金) 20:05:13 JST
Revision: 7148 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7148 Author: zmatsuo Date: 2018-07-13 20:05:13 +0900 (Fri, 13 Jul 2018) Log Message: ----------- merge drag and drop branch r7147 - drag and drop branchをマージ - ttssh2/installer/release/lang/Russian.lngが未編集 - teraterm/teraterm/dnddlg.cpp,hをプロジェクトファイルに追加できていない Revision Links: -------------- http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7147 Modified Paths: -------------- trunk/installer/release/lang/English.lng trunk/installer/release/lang/French.lng trunk/installer/release/lang/German.lng trunk/installer/release/lang/Japanese.lng trunk/installer/release/lang/Korean.lng trunk/installer/release/lang/Simplified Chinese.lng trunk/installer/release/lang/Traditional Chinese.lng trunk/teraterm/common/i18n.c trunk/teraterm/common/i18n.h trunk/teraterm/common/tt_res.h trunk/teraterm/common/ttlib.c trunk/teraterm/common/ttlib.h trunk/teraterm/common/tttypes.h trunk/teraterm/keycode/keycode.v15.vcxproj trunk/teraterm/svnrev/svnrev.cpp trunk/teraterm/svnrev/svnrev.v15.vcxproj trunk/teraterm/teraterm/ttermpro.rc trunk/teraterm/teraterm/ttermpro.v14.vcxproj trunk/teraterm/teraterm/ttermpro.v15.vcxproj trunk/teraterm/teraterm/ttermpro.v15.vcxproj.filters trunk/teraterm/teraterm/vtdisp.c trunk/teraterm/teraterm/vtwin.cpp trunk/teraterm/teraterm/vtwin.h trunk/teraterm/ttpcmn/ttpcmn.v15.vcxproj trunk/teraterm/ttpdlg/ttdlg.c trunk/teraterm/ttpdlg/ttpdlg.v14.vcxproj trunk/teraterm/ttpdlg/ttpdlg.v15.vcxproj trunk/teraterm/ttpfile/ttpfile.v14.vcxproj trunk/teraterm/ttpfile/ttpfile.v15.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj trunk/teraterm/ttpset/ttpset.v14.vcxproj trunk/teraterm/ttpset/ttpset.v15.vcxproj trunk/teraterm/ttptek/ttptek.v14.vcxproj trunk/teraterm/ttptek/ttptek.v15.vcxproj trunk/ttssh2/matcher/matcher.v15.vcxproj trunk/ttssh2/putty/putty.v15.vcxproj trunk/ttssh2/puttyrev/puttyrev.v15.vcxproj trunk/ttssh2/ttssh/ttssh.v15.vcxproj trunk/ttssh2/ttxssh/ttxssh.v15.vcxproj Added Paths: ----------- trunk/teraterm/teraterm/dnddlg.cpp trunk/teraterm/teraterm/dnddlg.h Property Changed: ---------------- trunk/ trunk/teraterm/ -------------- next part -------------- Index: trunk =================================================================== --- trunk 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk 2018-07-13 11:05:13 UTC (rev 7148) Property changes on: trunk ___________________________________________________________________ Modified: svn:mergeinfo ## -1,3 +1,4 ## +/branches/drag_and_drop:7130,7139,7141,7143-7147 /branches/ssh_ed25519:5495-5544 /branches/vs2015_warn:6194-6285 /tags/teraterm-4_89:6182 \ No newline at end of property Modified: trunk/installer/release/lang/English.lng =================================================================== --- trunk/installer/release/lang/English.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/English.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -143,8 +143,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=Terminate ALL Tera Term(s)? MSG_DISCONNECT_CONF=Disconnect? -MSG_DANDD_CONF=Are you sure that you want to send the file content? -MSG_DANDD_CONF_TITLE=Tera Term: File Drag and Drop MSG_EXEC_TT_ERROR=Can't execute Tera Term. (%d) MSG_FIND_CYGTERM_DIR_ERROR=Can't find Cygwin directory. MSG_CYGTERM_ENV_ALLOC_ERROR=Can't allocate memory for environment variable. @@ -292,6 +290,14 @@ DLG_SETUPDIR_NOFILE_ERROR=File does not exist.(%d) DLG_SETUPDIR_OPENFILE_ERROR=Cannot open file.(%d) +DLG_DANDD_TITLE=Tera Term: File Drag and Drop +DLG_DANDD_TEXT=Are you sure that you want to send the file content? +DLG_DADDD_DEST_NOTE= +DLG_DANDD_CONFLICTS= +DLG_DANDD_SAME_NEEXTDROP= +DLG_DANDD_DONTSHOW_NEEXTDROP= +DLG_DANDD_NOTE= + ; commonlib.c MSG_WINSOCK_ERROR=Cannot use winsock MSG_INVALID_HOST_ERROR=Invalid host Modified: trunk/installer/release/lang/French.lng =================================================================== --- trunk/installer/release/lang/French.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/French.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -144,8 +144,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=Terminate ALL Tera Term(s)? MSG_DISCONNECT_CONF=D\xE9connecter? -MSG_DANDD_CONF=Etes vous s\xFBr de vouloir envoyer le contenu du fichier? -MSG_DANDD_CONF_TITLE=Tera Term: Glisser D\xE9placer le fichier MSG_EXEC_TT_ERROR=Impossible d'ex\xE9cuter Tera Term. (%d) MSG_FIND_CYGTERM_DIR_ERROR=R\xE9pertoire de Cygwin non trouv\xE9. MSG_CYGTERM_ENV_ALLOC_ERROR=Impossible d'allouer de la m\xE9moire pour la variable d'environnement. @@ -293,6 +291,14 @@ DLG_SETUPDIR_NOFILE_ERROR=File does not exist.(%d) DLG_SETUPDIR_OPENFILE_ERROR=Cannot open file.(%d) +DLG_DANDD_TITLE=Tera Term: Glisser D\xE9placer le fichier +DLG_DANDD_TEXT=Etes vous s\xFBr de vouloir envoyer le contenu du fichier? +DLG_DADDD_DEST_NOTE= +DLG_DANDD_CONFLICTS= +DLG_DANDD_SAME_NEEXTDROP= +DLG_DANDD_DONTSHOW_NEEXTDROP= +DLG_DANDD_NOTE= + ; commonlib.c MSG_WINSOCK_ERROR=Impossible d'utiliser winsock MSG_INVALID_HOST_ERROR=H\xF4te invalide Modified: trunk/installer/release/lang/German.lng =================================================================== --- trunk/installer/release/lang/German.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/German.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -144,8 +144,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=Terminate ALL Tera Term(s)? MSG_DISCONNECT_CONF=Verbindung trennen? -MSG_DANDD_CONF=Are you sure that you want to send the file content? -MSG_DANDD_CONF_TITLE=File Drag and Drop MSG_EXEC_TT_ERROR=Tera Term kann nicht ausgef\xFChrt werden. (%d) MSG_FIND_CYGTERM_DIR_ERROR=Cygwin-Ordner kann nicht gefunden werden. MSG_CYGTERM_ENV_ALLOC_ERROR=Can't allocate memory for environment variable. @@ -293,6 +291,14 @@ DLG_SETUPDIR_NOFILE_ERROR=File does not exist.(%d) DLG_SETUPDIR_OPENFILE_ERROR=Cannot open file.(%d) +DLG_DANDD_TITLE=Tera Term: File Drag and Drop +DLG_DANDD_TEXT= +DLG_DADDD_DEST_NOTE= +DLG_DANDD_CONFLICTS= +DLG_DANDD_SAME_NEEXTDROP= +DLG_DANDD_DONTSHOW_NEEXTDROP= +DLG_DANDD_NOTE= + ; commonlib.c MSG_WINSOCK_ERROR=Kann Winsock nicht verwenden MSG_INVALID_HOST_ERROR=Falscher Hostname Modified: trunk/installer/release/lang/Japanese.lng =================================================================== --- trunk/installer/release/lang/Japanese.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/Japanese.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -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 @@ -292,6 +290,14 @@ DLG_SETUPDIR_NOFILE_ERROR=\x83t\x83@\x83C\x83\x8B\x82\xAA\x91\xB6\x8D݂\xB5\x82܂\xB9\x82\xF1(%d) DLG_SETUPDIR_OPENFILE_ERROR=\x83t\x83@\x83C\x83\x8B\x82\xAA\x8AJ\x82\xAF\x82܂\xB9\x82\xF1(%d) +DLG_DANDD_TITLE=Tera Term: \x83t\x83@\x83C\x83\x8B \x83h\x83\x89\x83b\x83O&\x83h\x83\x8D\x83b\x83v +DLG_DANDD_TEXT=\x83t\x83@\x83C\x83\x8B\x93]\x91\x97\x82\xF0\x8Ds\x82\xA2\x82܂\xB7\x82\xA9\x81H +DLG_DADDD_DEST_NOTE=\x8B\xF3\x82̂Ƃ\xAB\x83z\x81[\x83\x80\x83f\x83B\x83\x8C\x83N\x83g\x83\x8A +DLG_DANDD_CONFLICTS=\x93\xAF\x82\xB6\x8F\x88\x97\x9D\x82\xF0\x8E\x9F\x82\xCC %d \x8C̋\xA3\x8D\x87\x82ɓK\x97p +DLG_DANDD_SAME_NEEXTDROP=\x8E\x9F\x82̃h\x83\x8D\x83b\x83v\x8E\x9E\x81A\x93\xAF\x82\xB6\x8F\x88\x97\x9D\x82\xF0\x8Ds\x82\xA4 +DLG_DANDD_DONTSHOW_NEEXTDROP=\x8E\x9F\x82̃h\x83\x8D\x83b\x83v\x8E\x9E\x81A\x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x95\\x8E\xA6\x82\xB5\x82Ȃ\xA2 +DLG_DANDD_NOTE=CTRL\x82\xF0\x89\x9F\x82\xB5\x82Ȃ\xAA\x82\xE7\x83h\x83\x8D\x83b\x83v\x82\xB7\x82\xE9\x82ƁA\x83_\x83C\x83A\x83\x8D\x83O\x82\xAA\x95\\x8E\xA6\x82\xB3\x82\xEA\x82܂\xB7 + ; commonlib.c MSG_WINSOCK_ERROR=Winsock \x82\xAA\x8Eg\x82\xA6\x82܂\xB9\x82\xF1 MSG_INVALID_HOST_ERROR=\x96\xB3\x8C\xF8\x82ȃz\x83X\x83g Modified: trunk/installer/release/lang/Korean.lng =================================================================== --- trunk/installer/release/lang/Korean.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/Korean.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -144,8 +144,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=Terminate ALL Tera Term(s)? MSG_DISCONNECT_CONF=\xBF\xAC\xB0\xE1\xC0\xBB \xB2\xF7\xC0\xBB\xB1\xEE\xBF\xE4? -MSG_DANDD_CONF=\xC6\xC4\xC0\xCF \xB3\xBB\xBF\xEB\xC0\xBB \xBA\xB8\xB3\xBE\xB1\xEE\xBF\xE4? -MSG_DANDD_CONF_TITLE=Tera Term: \xC6\xC4\xC0\xCF Drag and Drop MSG_EXEC_TT_ERROR=Tera Term\xC0\xBB \xBD\xC7\xC7\xE0\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4ϴ\xD9. (%d) MSG_FIND_CYGTERM_DIR_ERROR=Cygwin \xB5\xF0\xB7\xBA\xC5丮\xB8\xA6 ã\xC0\xBB \xBC\xF6 \xBE\xF8\xBD\xC0\xB4ϴ\xD9. MSG_CYGTERM_ENV_ALLOC_ERROR=ȯ\xB0溯\xBCҸ\xA6 \xC0\xA7\xC7\xD1 \xB8\xA6 \xC7Ҵ\xE7\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4ϴ\xD9. @@ -293,6 +291,14 @@ DLG_SETUPDIR_NOFILE_ERROR=File does not exist.(%d) DLG_SETUPDIR_OPENFILE_ERROR=Cannot open file.(%d) +DLG_DANDD_TITLE=Tera Term: \xC6\xC4\xC0\xCF Drag and Drop +DLG_DANDD_TEXT=\xC6\xC4\xC0\xCF \xB3\xBB\xBF\xEB\xC0\xBB \xBA\xB8\xB3\xBE\xB1\xEE\xBF\xE4? +DLG_DADDD_DEST_NOTE= +DLG_DANDD_CONFLICTS= +DLG_DANDD_SAME_NEEXTDROP= +DLG_DANDD_DONTSHOW_NEEXTDROP= +DLG_DANDD_NOTE= + ; commonlib.c MSG_WINSOCK_ERROR=\xC0\xA9\xBC\xD3\xC0\xBB \xBB\xE7\xBF\xEB\xC7\xD2 \xBC\xF6 \xBE\xF8\xBD\xC0\xB4ϴ\xD9 MSG_INVALID_HOST_ERROR=\xC0߸\xF8\xB5\xC8 ȣ\xBD\xBAƮ Modified: trunk/installer/release/lang/Simplified Chinese.lng =================================================================== --- trunk/installer/release/lang/Simplified Chinese.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/Simplified Chinese.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -144,8 +144,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=\xCD˳\xF6ȫ\xB2\xBF Tera Term \xBBỰ\xA3\xBF MSG_DISCONNECT_CONF=\xB6Ͽ\xAA\xC1\xAC\xBDӣ\xBF -MSG_DANDD_CONF=ȷ\xB6\xA8Ҫ\xB4\xAB\xCB\xCD\xCEļ\xFE\xC4\xDA\xC8ݣ\xBF -MSG_DANDD_CONF_TITLE=Tera Term\xA3\xBA\xCEļ\xFE\xCDϷ\xC5 MSG_EXEC_TT_ERROR=Tera Term \xCE\xA8\xBC\xCC\xD0\xF8\xD4\xCB\xD0\xD0 (%d) MSG_FIND_CYGTERM_DIR_ERROR=δ\xC4\xDC\xD5ҵ\xBD Cygwin Ŀ¼ MSG_CYGTERM_ENV_ALLOC_ERROR=\xCE\xA8Ϊ\xBB\xB7\xBE\xB3\xB1\xE4\xC1\xBF\xB7\xD6\xC5\xE4\xC4ڴ\xE6 @@ -293,6 +291,14 @@ DLG_SETUPDIR_NOFILE_ERROR=\xCEļ\xFE\xB2\xBB\xB4\xE6\xD4ڡ\xA3(%d) DLG_SETUPDIR_OPENFILE_ERROR=\xCE\xA8\xB4\xF2\xBF\xAA\xCEļ\xFE\xA1\xA3(%d) +DLG_DANDD_TITLE=Tera Term\xA3\xBA\xCEļ\xFE\xCDϷ\xC5 +DLG_DANDD_TEXT=ȷ\xB6\xA8Ҫ\xB4\xAB\xCB\xCD\xCEļ\xFE\xC4\xDA\xC8ݣ\xBF +DLG_DADDD_DEST_NOTE= +DLG_DANDD_CONFLICTS= +DLG_DANDD_SAME_NEEXTDROP= +DLG_DANDD_DONTSHOW_NEEXTDROP= +DLG_DANDD_NOTE= + ; commonlib.c MSG_WINSOCK_ERROR=\xCE\xA8ʹ\xD3\xC3 Winsock MSG_INVALID_HOST_ERROR=\xCE\xDEЧ\xB5\xC4\xD6\xF7\xBB\xFA\xB5\xD8ַ Modified: trunk/installer/release/lang/Traditional Chinese.lng =================================================================== --- trunk/installer/release/lang/Traditional Chinese.lng 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/installer/release/lang/Traditional Chinese.lng 2018-07-13 11:05:13 UTC (rev 7148) @@ -144,8 +144,6 @@ ; vtwin.cpp MSG_ALL_TERMINATE_CONF=\xC3\x{1B3B25}\xFE\xB3\xA1 Tera Term \xB3s\xBDu\xA1H MSG_DISCONNECT_CONF=\xA4\xA4\xC2_\xB3s\xBDu\xA1H -MSG_DANDD_CONF=\xBDT\xA9w\xADn\xB6ǰe\xA4\xE5\xA5e\xA1H -MSG_DANDD_CONF_TITLE=Tera Term\xA1G\xA4\xE5\xA5\xF3\xA9\xEC\xA9\xF1 MSG_EXEC_TT_ERROR=Tera Term \xB5L\xAAk\xC4~\xC4\xF2\xB9B\xA6\xE6 (%d) MSG_FIND_CYGTERM_DIR_ERROR=\xA5\xBC\xAF\xE0\xA7\xE4\xA8\xEC Cygwin \xA5ؿ\xFD MSG_CYGTERM_ENV_ALLOC_ERROR=\xB5L\xAAk\xAC\xB0\xC0\xF4\xB9\xD2\xC5ܶq\xA4\xC0\xB0t\xB0O\xBE\xD0\xC5\xE9 @@ -293,6 +291,14 @@ DLG_SETUPDIR_NOFILE_ERROR=File does not exist.(%d) DLG_SETUPDIR_OPENFILE_ERROR=Cannot open file.(%d) +DLG_DANDD_TITLE=Tera Term\xA1G\xA4\xE5\xA5\xF3\xA9\xEC\xA9\xF1 +DLG_DANDD_TEXT=\xBDT\xA9w\xADn\xB6ǰe\xA4\xE5\xA5e\xA1H +DLG_DADDD_DEST_NOTE= +DLG_DANDD_CONFLICTS= +DLG_DANDD_SAME_NEEXTDROP= +DLG_DANDD_DONTSHOW_NEEXTDROP= +DLG_DANDD_NOTE= + ; commonlib.c MSG_WINSOCK_ERROR=\xB5L\xAAk\xA8ϥ\xCE Winsock MSG_INVALID_HOST_ERROR=\xB5L\xAEĪ\xBA\xA5D\xBE\xF7\xA6a\xA7} Index: trunk/teraterm =================================================================== --- trunk/teraterm 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm 2018-07-13 11:05:13 UTC (rev 7148) Property changes on: trunk/teraterm ___________________________________________________________________ Modified: svn:mergeinfo ## -1 +1,2 ## +/branches/drag_and_drop/teraterm:7130,7139,7141,7143-7147 /branches/vs2015_warn/teraterm:6194-6285 \ No newline at end of property Modified: trunk/teraterm/common/i18n.c =================================================================== --- trunk/teraterm/common/i18n.c 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/common/i18n.c 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2017 TeraTerm Project + * Copyright (C) 2006-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,13 +28,13 @@ #include "i18n.h" -void PASCAL GetI18nStr(PCHAR section, PCHAR key, PCHAR buf, int buf_len, PCHAR def, PCHAR iniFile) +void GetI18nStr(PCHAR section, PCHAR key, PCHAR buf, int buf_len, PCHAR def, const char *iniFile) { GetPrivateProfileString(section, key, def, buf, buf_len, iniFile); RestoreNewLine(buf); } -int PASCAL GetI18nLogfont(PCHAR section, PCHAR key, PLOGFONT logfont, int ppi, PCHAR iniFile) +int GetI18nLogfont(PCHAR section, PCHAR key, PLOGFONT logfont, int ppi, const char *iniFile) { static char tmp[MAX_UIMSG]; static char font[LF_FACESIZE]; Modified: trunk/teraterm/common/i18n.h =================================================================== --- trunk/teraterm/common/i18n.h 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/common/i18n.h 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2006-2017 TeraTerm Project + * Copyright (C) 2006-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -38,8 +38,8 @@ extern "C" { #endif -void PASCAL GetI18nStr(PCHAR section, PCHAR key, PCHAR buf, int buf_len, PCHAR def, PCHAR iniFile); -int PASCAL GetI18nLogfont(PCHAR section, PCHAR key, PLOGFONT logfont, int ppi, PCHAR iniFile); +void GetI18nStr(PCHAR section, PCHAR key, PCHAR buf, int buf_len, PCHAR def, const char *iniFile); +int GetI18nLogfont(PCHAR section, PCHAR key, PLOGFONT logfont, int ppi, const char *iniFile); #ifdef __cplusplus } Modified: trunk/teraterm/common/tt_res.h =================================================================== --- trunk/teraterm/common/tt_res.h 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/common/tt_res.h 2018-07-13 11:05:13 UTC (rev 7148) @@ -64,7 +64,6 @@ #define IDC_SHELL 1038 #define IDC_TERM_EDIT 1039 #define IDC_ENV1 1040 -#define IDC_EDIT7 1041 #define IDC_ENV2 1041 #define IDC_MOUSE 1042 #define IDC_DELIMITER 1043 @@ -129,7 +128,6 @@ #define IDC_REALTIME_CHECK 2508 #define IDC_LIST1 2509 #define IDC_LIST 2509 -#define IDC_EDIT1 2510 #define IDC_EDIT 2510 #define IDC_SCROLL_LINE 2510 #define IDC_PASTEDELAY_EDIT 2510 @@ -138,7 +136,6 @@ #define IDC_ROTATE_SIZE 2510 #define IDC_INI_SETUPDIR_EDIT 2510 #define IDC_KEYCNF_SETUPDIR_EDIT 2511 -#define IDC_CHECK1 2512 #define IDC_CONFIRM_CHANGE_PASTE 2512 #define IDC_CURSOR_CTRL_SEQ 2512 #define IDC_LOG_ROTATE 2512 @@ -164,7 +161,6 @@ #define IDC_PROT_ELAPSED 2525 #define IDC_DAD_STATIC 2525 #define IDC_PROTOELAPSEDTIME 2526 -#define IDC_DAD_SENDFILE 2526 #define IDC_TRANS_ELAPSED 2527 #define IDC_BGIMG_LABEL 2527 #define IDC_TRANS_ETIME 2528 @@ -200,7 +196,6 @@ #define IDC_CYGTERM_SETUPDIR_BUTTON_FILE2 2551 #define IDC_SSH_SETUPDIR_BUTTON_FILE 2551 #define IDC_BGIMG_BRIGHTNESS 2551 -#define IDC_EDIT2 2552 #define IDC_EDIT_BGIMG_BRIGHTNESS 2552 #define IDC_INI_SETUPDIR_EDIT_VSTORE 2552 #define IDC_INI_SETUPDIR_STATIC_VSTORE 2553 @@ -225,7 +220,20 @@ #define IDC_TITLEFMT_SWAPHOSTTITLE 2572 #define IDC_TITLEFMT_DISPTCPPORT 2573 #define IDC_TITLEFMT_DISPSERIALSPEED 2574 - +#define IDC_FILENAME_EDIT 2575 +#define IDC_SCP_RADIO 2576 +#define IDC_SENDFILE_RADIO 2577 +#define IDC_PASTE_RADIO 2578 +#define IDC_SCP_PATH_LABEL 2579 +#define IDC_SCP_PATH_NOTE 2580 +#define IDC_BINARY_CHECK 2581 +#define IDC_ESCAPE_CHECK 2582 +#define IDC_SPACE_RADIO 2583 +#define IDC_NEWLINE_RADIO 2584 +#define IDC_SAME_PROCESS_CHECK 2585 +#define IDC_SAME_PROCESS_NEXTDROP_CHECK 2586 +#define IDC_DONTSHOW_CHECK 2587 +#define IDC_DAD_NOTE 2588 #define ID_ACC_SENDBREAK 50001 #define ID_ACC_COPY 50002 #define ID_ACC_NEWCONNECTION 50003 @@ -323,7 +331,7 @@ #define _APS_NO_MFC 1 #define _APS_NEXT_RESOURCE_VALUE 126 #define _APS_NEXT_COMMAND_VALUE 52031 -#define _APS_NEXT_CONTROL_VALUE 2575 +#define _APS_NEXT_CONTROL_VALUE 2589 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif Modified: trunk/teraterm/common/ttlib.c =================================================================== --- trunk/teraterm/common/ttlib.c 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/common/ttlib.c 2018-07-13 11:05:13 UTC (rev 7148) @@ -970,12 +970,12 @@ strncpy_s(buf, buflen, Temp, _TRUNCATE); } -void get_lang_msg(PCHAR key, PCHAR buf, int buf_len, PCHAR def, PCHAR iniFile) +void get_lang_msg(PCHAR key, PCHAR buf, int buf_len, PCHAR def, const char *iniFile) { GetI18nStr("Tera Term", key, buf, buf_len, def, iniFile); } -int get_lang_font(PCHAR key, HWND dlg, PLOGFONT logfont, HFONT *font, PCHAR iniFile) +int get_lang_font(PCHAR key, HWND dlg, PLOGFONT logfont, HFONT *font, const char *iniFile) { if (GetI18nLogfont("Tera Term", key, logfont, GetDeviceCaps(GetDC(dlg),LOGPIXELSY), Modified: trunk/teraterm/common/ttlib.h =================================================================== --- trunk/teraterm/common/ttlib.h 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/common/ttlib.h 2018-07-13 11:05:13 UTC (rev 7148) @@ -67,8 +67,8 @@ void GetDefaultSetupFName(char *home, char *dest, int destlen); void GetUILanguageFile(char *buf, int buflen); void GetOnOffEntryInifile(char *entry, char *buf, int buflen); -void get_lang_msg(PCHAR key, PCHAR buf, int buf_len, PCHAR def, PCHAR iniFile); -int get_lang_font(PCHAR key, HWND dlg, PLOGFONT logfont, HFONT *font, PCHAR iniFile); +void get_lang_msg(PCHAR key, PCHAR buf, int buf_len, PCHAR def, const char *iniFile); +int get_lang_font(PCHAR key, HWND dlg, PLOGFONT logfont, HFONT *font, const char *iniFile); BOOL doSelectFolder(HWND hWnd, char *path, int pathlen, char *def, char *msg); void OutputDebugPrintf(char *fmt, ...); BOOL is_NT4(); Modified: trunk/teraterm/common/tttypes.h =================================================================== --- trunk/teraterm/common/tttypes.h 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/common/tttypes.h 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2004-2017 TeraTerm Project + * (C) 2004-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -173,6 +173,7 @@ #define WM_USER_GETSERIALNO WM_USER+13 #define WM_USER_CHANGETITLE WM_USER+14 #define WM_USER_NOTIFYICON WM_USER+15 +#define WM_USER_DROPNOTIFY WM_USER+16 #define WM_USER_DDEREADY WM_USER+21 #define WM_USER_DDECMNDEND WM_USER+22 @@ -683,7 +684,6 @@ }; typedef struct tttset TTTSet, *PTTSet; -//typedef TTTSet far *PTTSet; /* New Line modes */ #define IdCR 1 @@ -781,11 +781,6 @@ /* Baud rate ID */ #define BaudNone 0 -static PCHAR far BaudList[] = - {"110","300","600","1200","2400","4800","9600", - "14400","19200","38400","57600","115200", - "230400", "460800", "921600", NULL}; - /* Parity ID */ #define IdParityNone 1 #define IdParityOdd 2 @@ -816,7 +811,7 @@ WORD ComPort; // serial port # WORD MaxComPort; // max serial port # } TGetHNRec; -typedef TGetHNRec far *PGetHNRec; +typedef TGetHNRec *PGetHNRec; /* Tera Term internal key codes */ #define IdUp 1 @@ -934,7 +929,7 @@ /* user key type */ BYTE UserKeyType[NumOfUserKey]; } TKeyMap; -typedef TKeyMap far *PKeyMap; +typedef TKeyMap *PKeyMap; /* Control Characters */ @@ -1092,7 +1087,7 @@ DWORD ConnectedTime; } TComVar; -typedef TComVar far *PComVar; +typedef TComVar *PComVar; #define ID_FILE 0 #define ID_EDIT 1 @@ -1137,7 +1132,7 @@ BOOL WinUndoFlag; int WinUndoStyle; } TMap; -typedef TMap far *PMap; +typedef TMap *PMap; // TMap \x82\xF0\x8Ai\x94[\x82\xB7\x82\xE9\x83t\x83@\x83C\x83\x8B\x83}\x83b\x83s\x83\x93\x83O\x83I\x83u\x83W\x83F\x83N\x83g(\x8B\xA4\x97L\x83\x81\x83\x82\x83\x8A)\x82̖\xBC\x91O // TMap(\x82Ƃ\xBB\x82̃\x81\x83\x93\x83o)\x82̍X\x90V\x8E\x9E\x82͋\x8C\x83o\x81[\x83W\x83\x87\x83\x93\x82Ƃ̓\xAF\x8E\x9E\x8BN\x93\xAE\x82ׂ̈ɕς\xA6\x82\xE9\x95K\x97v\x82\xAA\x82\xA0\x82邪 Modified: trunk/teraterm/keycode/keycode.v15.vcxproj =================================================================== --- trunk/teraterm/keycode/keycode.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/keycode/keycode.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,7 +14,7 @@ <ProjectGuid>{B31BF2E8-79E6-4735-BEA2-C1B4041C2D2E}</ProjectGuid> <RootNamespace>keycode</RootNamespace> <ProjectName>keycode</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> @@ -68,6 +68,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> @@ -99,6 +100,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <AdditionalIncludeDirectories>$(SolutionDir)common;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> Modified: trunk/teraterm/svnrev/svnrev.cpp =================================================================== --- trunk/teraterm/svnrev/svnrev.cpp 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/svnrev/svnrev.cpp 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2017 TeraTerm Project + * Copyright (C) 2009-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -43,7 +43,10 @@ // _popen \x82̓X\x83y\x81[\x83X\x82\xAA\x8A܂܂\xEA\x82\xE9\x8Fꍇ\x82Ƀ_\x83u\x83\x8B\x83N\x83H\x81[\x83g\x82ň͂\xF1\x82ł\xE0 // \x82\xA4\x82܂\xAD\x93\xAE\x82\xA9\x82Ȃ\xA2\x82\xBD\x82\xDF 8.3 \x8C`\x8E\xAE\x82ɕϊ\xB7 - GetShortPathName(svnversion, arg1, sizeof(arg1)); + DWORD r = GetShortPathName(svnversion, arg1, sizeof(arg1)); + if (r == 0) { + return -1; // svn did not exist + } GetShortPathName(path, arg2, sizeof(arg2)); _snprintf_s(command, sizeof(command), _TRUNCATE, "%s -n %s", arg1, arg2); Modified: trunk/teraterm/svnrev/svnrev.v15.vcxproj =================================================================== --- trunk/teraterm/svnrev/svnrev.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/svnrev/svnrev.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -63,6 +63,7 @@ <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> <WarningLevel>Level3</WarningLevel> <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <Link> <GenerateDebugInformation>true</GenerateDebugInformation> @@ -77,6 +78,7 @@ <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> <WarningLevel>Level3</WarningLevel> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <Link> <GenerateDebugInformation>true</GenerateDebugInformation> Copied: trunk/teraterm/teraterm/dnddlg.cpp (from rev 7147, branches/drag_and_drop/teraterm/teraterm/dnddlg.cpp) =================================================================== --- trunk/teraterm/teraterm/dnddlg.cpp (rev 0) +++ trunk/teraterm/teraterm/dnddlg.cpp 2018-07-13 11:05:13 UTC (rev 7148) @@ -0,0 +1,329 @@ +/* + * (C) 2005-2018 TeraTerm Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "dnddlg.h" + +#include <windowsx.h> +#include <stdio.h> // for _snprintf_s + +#include "tt_res.h" + +#include "i18n.h" +#include "ttlib.h" +#include "dlglib.h" +#include "tttypes.h" // for ttwinman.h +#include "ttwinman.h" // for ts + +struct DlgTextInfo { + int nIDDlgItem; + char *key; +}; + +struct DrapDropDlgParam { + const char *TargetFilename; + enum drop_type DropType; + unsigned char DropTypePaste; + bool ScpEnable; + char *ScpSendDirPtr; + int ScpSendDirSize; + bool SendfileEnable; + bool PasteNewlineEnable; + int RemaingFileCount; + bool DoSameProcess; + bool DoSameProcessNextDrop; + bool DoNotShowDialogEnable; + bool DoNotShowDialog; + const char *UILanguageFile; +}; + +struct DrapDropDlgData { + HFONT hPrevFont; + DrapDropDlgParam *Param; +}; + +static HFONT SetDlgFonts(HWND hDlg, const int nIDDlgItems[], int nIDDlgItemCount, const char *UILanguageFile, PCHAR key) +{ + if (key == NULL) key = "DLG_TAHOMA_FONT"; + HFONT hPrevFont = (HFONT)SendMessage(hDlg, WM_GETFONT, 0, 0); + LOGFONT logfont; + GetObject(hPrevFont, sizeof(LOGFONT), &logfont); + HFONT hNewFont; + if (get_lang_font("DLG_TAHOMA_FONT", hDlg, &logfont, &hNewFont, UILanguageFile)) { + for (int i = 0 ; i < nIDDlgItemCount ; i++) { + const int nIDDlgItem = nIDDlgItems[i]; + SendDlgItemMessage(hDlg, nIDDlgItem, WM_SETFONT, (WPARAM)hNewFont, MAKELPARAM(TRUE,0)); + } + } + return hNewFont; +} + +static void SetDlgTexts(HWND hDlgWnd, const DlgTextInfo *infos, int infoCount, const 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); + } + } + } +} + +static LRESULT CALLBACK OnDragDropDlgProc(HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp) +{ + static const int FontIDs[] = { + IDC_FILENAME_EDIT, + IDC_DAD_STATIC, + IDC_SCP_RADIO, IDC_SENDFILE_RADIO, IDC_PASTE_RADIO, + IDC_SCP_PATH_LABEL, IDC_SCP_PATH, IDC_SCP_PATH_NOTE, + IDC_BINARY_CHECK, + IDC_ESCAPE_CHECK, IDC_NEWLINE_RADIO, IDC_SPACE_RADIO, + IDC_SAME_PROCESS_CHECK, IDC_SAME_PROCESS_NEXTDROP_CHECK, IDC_DONTSHOW_CHECK, + IDC_DAD_NOTE, + IDOK, IDCANCEL, + }; + static const DlgTextInfo TextInfos[] = { + { 0, "DLG_DANDD_TITLE" }, + { IDC_DAD_STATIC, "DLG_DANDD_TEXT" }, + { IDC_SCP_PATH_NOTE, "DLG_DADDD_DEST_NOTE" }, + { IDC_SAME_PROCESS_CHECK, "DLG_DANDD_CONFLICTS" }, + { IDC_SAME_PROCESS_NEXTDROP_CHECK, "DLG_DANDD_SAME_NEEXTDROP" }, + { IDC_DONTSHOW_CHECK, "DLG_DANDD_DONTSHOW_NEEXTDROP" }, + { IDC_DAD_NOTE, "DLG_DANDD_NOTE" }, + { IDOK, "BTN_OK" }, + { IDCANCEL, "BTN_CANCEL" }, + }; + DrapDropDlgData *DlgData = (DrapDropDlgData *)GetWindowLongPtr(hDlgWnd, GWLP_USERDATA); + + switch (msg) { + case WM_INITDIALOG: + { + DlgData = (DrapDropDlgData *)malloc(sizeof(DrapDropDlgData)); + SetWindowLongPtr(hDlgWnd, GWLP_USERDATA, (LONG_PTR)DlgData); + DrapDropDlgParam *Param = (DrapDropDlgParam *)lp; + DlgData->Param = Param; + DlgData->hPrevFont = SetDlgFonts(hDlgWnd, FontIDs, _countof(FontIDs), Param->UILanguageFile, NULL); + SetDlgTexts(hDlgWnd, TextInfos, _countof(TextInfos), Param->UILanguageFile); + + // target file + SetDlgItemText(hDlgWnd, IDC_FILENAME_EDIT, Param->TargetFilename); + + // checkbox + CheckRadioButton(hDlgWnd, IDC_SCP_RADIO, IDC_PASTE_RADIO, + (Param->DropType == DROP_TYPE_SEND_FILE || + Param->DropType == DROP_TYPE_SEND_FILE_BINARY) ? IDC_SENDFILE_RADIO : + Param->DropType == DROP_TYPE_PASTE_FILENAME ? IDC_PASTE_RADIO : + IDC_SCP_RADIO); + + // SCP + SendMessage(GetDlgItem(hDlgWnd, IDC_SCP_PATH), WM_SETTEXT, 0, (LPARAM)Param->ScpSendDirPtr); + if (!Param->ScpEnable) { + // 無効化 + EnableWindow(GetDlgItem(hDlgWnd, IDC_SCP_RADIO), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_SCP_PATH_LABEL), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_SCP_PATH), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_SCP_PATH_NOTE), FALSE); + } + + // Send File + if (Param->DropType == DROP_TYPE_SEND_FILE_BINARY) { + SendMessage(GetDlgItem(hDlgWnd, IDC_BINARY_CHECK), BM_SETCHECK, BST_CHECKED, 0); + } + if (!Param->SendfileEnable) { + // 無効化 + EnableWindow(GetDlgItem(hDlgWnd, IDC_SENDFILE_RADIO), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_BINARY_CHECK), FALSE); + } + + // Paste Filename + if (Param->DropTypePaste & DROP_TYPE_PASTE_ESCAPE) { + SendMessage(GetDlgItem(hDlgWnd, IDC_ESCAPE_CHECK), BM_SETCHECK, BST_CHECKED, 0); + } + CheckRadioButton(hDlgWnd, IDC_SPACE_RADIO, IDC_NEWLINE_RADIO, + Param->DropTypePaste & DROP_TYPE_PASTE_NEWLINE? + IDC_NEWLINE_RADIO : IDC_SPACE_RADIO); + if (Param->RemaingFileCount < 2) { + EnableWindow(GetDlgItem(hDlgWnd, IDC_SPACE_RADIO), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_NEWLINE_RADIO), FALSE); + } + + // 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_SAME_PROCESS_CHECK), FALSE); + } + + // Dont Show Dialog + if (Param->DoNotShowDialog) { + SendMessage(GetDlgItem(hDlgWnd, IDC_DONTSHOW_CHECK), BM_SETCHECK, BST_CHECKED, 0); + } + if (!Param->DoNotShowDialogEnable) { + EnableWindow(GetDlgItem(hDlgWnd, IDC_DONTSHOW_CHECK), FALSE); + EnableWindow(GetDlgItem(hDlgWnd, IDC_DAD_NOTE), FALSE); + } + + // focus to "SCP dest textbox" or "Cancel" + if (Param->ScpEnable) { + // "SCP" 有効時は Cancel にフォーカスを当て、最終的に SCP PATH にフォーカスが + // 当たるようにする。 + SetFocus(GetDlgItem(hDlgWnd, IDC_SCP_RADIO)); + } else { + // フォーカスの初期状態を Cancel にする為、この時点では IDOK に + // フォーカスを当てる。後で WM_NEXTDLGCTL でフォーカスが次のボタンになる。 + SetFocus(GetDlgItem(hDlgWnd, IDOK)); + } + // フォーカスを次のボタンに移す + // SetFocus() で直接フォーカスを当てるとタブキーの動作等に問題が出るため、 + // このメッセージを併用する + PostMessage(hDlgWnd, WM_NEXTDLGCTL, 0, 0L); + + // TRUEにするとボタンにフォーカスが当たらない。 + return FALSE; + } + + case WM_COMMAND: + { + WORD wID = GET_WM_COMMAND_ID(wp, lp); + const WORD wCMD = GET_WM_COMMAND_CMD(wp, lp); + if (wCMD == BN_DBLCLK && + (wID == IDC_SCP_RADIO || wID == IDC_SENDFILE_RADIO || wID == IDC_PASTE_RADIO)) + { // 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 + DlgData->Param->DropType = DROP_TYPE_SCP; + SendMessage(GetDlgItem(hDlgWnd, IDC_SCP_PATH), WM_GETTEXT, + (WPARAM)DlgData->Param->ScpSendDirSize, + (LPARAM)DlgData->Param->ScpSendDirPtr); + } else if (IsDlgButtonChecked(hDlgWnd, IDC_SENDFILE_RADIO) == BST_CHECKED) { + // Send File + DlgData->Param->DropType = + (IsDlgButtonChecked(hDlgWnd, IDC_BINARY_CHECK) == BST_CHECKED) ? + DROP_TYPE_SEND_FILE_BINARY : DROP_TYPE_SEND_FILE; + } else /* if (IsDlgButtonChecked(hDlgWnd, IDC_PASTE_RADIO) == BST_CHECKED) */ { + // Paste Filename + DlgData->Param->DropType = DROP_TYPE_PASTE_FILENAME; + DlgData->Param->DropTypePaste = 0; + DlgData->Param->DropTypePaste |= + (IsDlgButtonChecked(hDlgWnd, IDC_ESCAPE_CHECK) == BST_CHECKED) ? + DROP_TYPE_PASTE_ESCAPE : 0; + DlgData->Param->DropTypePaste |= + (IsDlgButtonChecked(hDlgWnd, IDC_NEWLINE_RADIO) == BST_CHECKED) ? + DROP_TYPE_PASTE_NEWLINE : 0; + } + 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; + } + if (wID == IDCANCEL) { + DlgData->Param->DropType = DROP_TYPE_CANCEL; + } + if (wID == IDOK || wID == IDCANCEL) { + if (DlgData->hPrevFont != NULL) { + DeleteObject(DlgData->hPrevFont); + } + EndDialog(hDlgWnd, wID); + free(DlgData); + break; + } + return FALSE; + } + + default: + return FALSE; + } + return TRUE; +} + +enum drop_type ShowDropDialogBox( + HINSTANCE hInstance, HWND hWndParent, + const char *TargetFilename, + enum drop_type DefaultDropType, + int RemaingFileCount, + bool EnableSCP, + bool EnableSendFile, + bool EnableDoNotShowDialog, + unsigned char *DropTypePaste, + bool *DoSameProcess, + bool *DoSameProcessNextDrop, + bool *DoNotShowDialog) +{ + DrapDropDlgParam Param; + Param.TargetFilename = TargetFilename; + Param.DropType = DefaultDropType; + Param.DropTypePaste = *DropTypePaste; + Param.ScpEnable = EnableSCP; + Param.ScpSendDirPtr = ts.ScpSendDir; + Param.ScpSendDirSize = sizeof(ts.ScpSendDir); + Param.SendfileEnable = EnableSendFile; + Param.PasteNewlineEnable = true; + Param.RemaingFileCount = RemaingFileCount; + Param.DoNotShowDialog = *DoNotShowDialog; + Param.DoNotShowDialogEnable = EnableDoNotShowDialog; + Param.UILanguageFile = ts.UILanguageFile; + int ret = DialogBoxParam( + hInstance, MAKEINTRESOURCE(IDD_DAD_DIALOG), + hWndParent, (DLGPROC)OnDragDropDlgProc, + (LPARAM)&Param); + if (ret != IDOK) { + return DROP_TYPE_CANCEL; + } + *DropTypePaste = Param.DropTypePaste; + *DoSameProcess = Param.DoSameProcess; + *DoSameProcessNextDrop = Param.DoSameProcessNextDrop; + *DoNotShowDialog = Param.DoNotShowDialog; + return Param.DropType; +} Copied: trunk/teraterm/teraterm/dnddlg.h (from rev 7147, branches/drag_and_drop/teraterm/teraterm/dnddlg.h) =================================================================== --- trunk/teraterm/teraterm/dnddlg.h (rev 0) +++ trunk/teraterm/teraterm/dnddlg.h 2018-07-13 11:05:13 UTC (rev 7148) @@ -0,0 +1,53 @@ +/* + * (C) 2005-2018 TeraTerm Project + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include <windows.h> + +enum drop_type { + DROP_TYPE_CANCEL, + DROP_TYPE_SCP, + DROP_TYPE_SEND_FILE, // past contents of file + DROP_TYPE_SEND_FILE_BINARY, + DROP_TYPE_PASTE_FILENAME, +}; + +#define DROP_TYPE_PASTE_ESCAPE 0x01 +#define DROP_TYPE_PASTE_NEWLINE 0x02 + +enum drop_type ShowDropDialogBox( + HINSTANCE hInstance, HWND hWndParent, + const char *TargetFilename, + enum drop_type DefaultDropType, + int RemaingFileCount, + bool EnableSCP, + bool EnableSendFile, + bool EnableDoNotShowDialog, + unsigned char *DropTypePaste, + bool *DoSameProcess, + bool *DoSameProcessNextDrop, + bool *DoNotShowDialog); Modified: trunk/teraterm/teraterm/ttermpro.rc =================================================================== --- trunk/teraterm/teraterm/ttermpro.rc 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/ttermpro.rc 2018-07-13 11:05:13 UTC (rev 7148) @@ -26,17 +26,33 @@ // Dialog // -IDD_DAD_DIALOG DIALOGEX 0, 0, 186, 74 +IDD_DAD_DIALOG DIALOGEX 0, 0, 251, 258 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Tera Term: File Drag and Drop" -FONT 8, "Tahoma", 400, 0, 0x0 +FONT 8, "Tahoma", 0, 0, 0x0 BEGIN - LTEXT "Are you sure that you want to send the file content?",IDC_DAD_STATIC,7,9,172,8 - LTEXT "SCP:",IDC_STATIC,15,27,16,8 - EDITTEXT IDC_SCP_PATH,31,25,122,14,ES_AUTOHSCROLL - PUSHBUTTON "Send file",IDOK,7,45,50,14 - DEFPUSHBUTTON "SCP",IDC_DAD_SENDFILE,69,45,50,14 - PUSHBUTTON "Cancel",IDCANCEL,129,45,50,14 + EDITTEXT IDC_FILENAME_EDIT,7,6,236,14,ES_AUTOHSCROLL | ES_READONLY | NOT WS_TABSTOP + LTEXT "Are you sure that you want to send the file content?",IDC_DAD_STATIC,7,25,173,8 + CONTROL "&SCP",IDC_SCP_RADIO,"Button",BS_AUTORADIOBUTTON | BS_NOTIFY,7,36,236,10 + CONTROL "S&end File (Paste content of file)",IDC_SENDFILE_RADIO, + "Button",BS_AUTORADIOBUTTON | BS_NOTIFY,7,77,236,10 + CONTROL "&Paste Filename",IDC_PASTE_RADIO,"Button",BS_AUTORADIOBUTTON | BS_NOTIFY,7,109,236,10 + LTEXT "des&t:",IDC_SCP_PATH_LABEL,19,50,22,8 + EDITTEXT IDC_SCP_PATH,44,47,199,14,ES_AUTOHSCROLL + LTEXT "dest is home directory if empty",IDC_SCP_PATH_NOTE,44,64,199,8 + CONTROL "Bina&ry",IDC_BINARY_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,92,188,10 + CONTROL "Es&cape",IDC_ESCAPE_CHECK,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,21,125,188,10 + CONTROL "Separat&or is Space",IDC_SPACE_RADIO,"Button",BS_AUTORADIOBUTTON,21,139,188,10 + CONTROL "Separator is &NewLine",IDC_NEWLINE_RADIO,"Button",BS_AUTORADIOBUTTON,21,154,188,10 + CONTROL "&Do this for the next %d conflicts",IDC_SAME_PROCESS_CHECK, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,173,236,10 + CONTROL "Do sa&me process, next drop",IDC_SAME_PROCESS_NEXTDROP_CHECK, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,188,236,10 + CONTROL "Do not d&isplay this dialog, next drop",IDC_DONTSHOW_CHECK, + "Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,7,203,236,11 + DEFPUSHBUTTON "OK",IDOK,133,236,50,14 + PUSHBUTTON "Cancel",IDCANCEL,193,236,50,14 + LTEXT "Drop with CTRL, this dialog is displayed",IDC_DAD_NOTE,7,221,236,8 END IDD_COMMENT_DIALOG DIALOGEX 0, 0, 239, 19 @@ -345,8 +361,8 @@ BEGIN LEFTMARGIN, 7 RIGHTMARGIN, 179 - TOPMARGIN, 1 - BOTTOMMARGIN, 67 + TOPMARGIN, 6 + BOTTOMMARGIN, 259 END IDD_COMMENT_DIALOG, DIALOG Modified: trunk/teraterm/teraterm/ttermpro.v14.vcxproj =================================================================== --- trunk/teraterm/teraterm/ttermpro.v14.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/ttermpro.v14.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -185,27 +185,27 @@ <ClInclude Include="ttfileio.h" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v14.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpdlg\ttpdlg.v12.vcxproj"> + <ProjectReference Include="..\ttpdlg\ttpdlg.v14.vcxproj"> <Project>{47cb840d-85c8-460f-9101-beb54bef9d56}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpfile\ttpfile.v12.vcxproj"> + <ProjectReference Include="..\ttpfile\ttpfile.v14.vcxproj"> <Project>{311f2b21-aec4-4384-8209-bb83b54749b4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpmacro\ttpmacro.v12.vcxproj"> + <ProjectReference Include="..\ttpmacro\ttpmacro.v14.vcxproj"> <Project>{ba519362-a2c2-4b1a-905b-f00791f9038a}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpset\ttpset.v12.vcxproj"> + <ProjectReference Include="..\ttpset\ttpset.v14.vcxproj"> <Project>{5cf58947-e861-4a5c-b0b1-e85486f149cd}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttptek\ttptek.v12.vcxproj"> + <ProjectReference Include="..\ttptek\ttptek.v14.vcxproj"> <Project>{6d08053b-1c68-4a7e-8766-3553f5af010b}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/teraterm/ttermpro.v15.vcxproj =================================================================== --- trunk/teraterm/teraterm/ttermpro.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/ttermpro.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -15,7 +15,7 @@ <RootNamespace>ttermpro</RootNamespace> <Keyword>MFCProj</Keyword> <ProjectName>ttermpro</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> @@ -73,6 +73,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -114,6 +115,9 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> + <IntrinsicFunctions>true</IntrinsicFunctions> + <WholeProgramOptimization>true</WholeProgramOptimization> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -129,6 +133,9 @@ <SubSystem>Windows</SubSystem> <TargetMachine>MachineX86</TargetMachine> <IgnoreSpecificDefaultLibraries>nafxcw.lib;LIBCMT.lib</IgnoreSpecificDefaultLibraries> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration> </Link> <Manifest> <AdditionalManifestFiles>.\teraterm.manifest %(AdditionalManifestFiles)</AdditionalManifestFiles> @@ -142,6 +149,7 @@ <ClCompile Include="buffer.c" /> <ClCompile Include="clipboar.c" /> <ClCompile Include="commlib.c" /> + <ClCompile Include="dnddlg.cpp" /> <ClCompile Include="filesys.cpp" /> <ClCompile Include="ftdlg.cpp" /> <ClCompile Include="keyboard.c" /> @@ -171,8 +179,10 @@ <Image Include="..\..\cygterm\cygterm.ico" /> <Image Include="..\common\tek.ico" /> <Image Include="..\common\Teraterm.ico" /> + <Image Include="..\common\teraterm_3d.ico" /> <Image Include="..\common\teraterm_classic.ico" /> <Image Include="..\common\vt.ico" /> + <Image Include="..\common\vt_3d.ico" /> <Image Include="..\common\vt_classic.ico" /> </ItemGroup> <ItemGroup> @@ -180,33 +190,67 @@ <ResourceCompile Include="ttermpro.rc" /> </ItemGroup> <ItemGroup> + <ClInclude Include="..\common\compat_w95.h" /> + <ClInclude Include="..\common\dlglib.h" /> + <ClInclude Include="..\common\tektypes.h" /> + <ClInclude Include="..\common\teraterm.h" /> + <ClInclude Include="..\common\tt-version.h" /> + <ClInclude Include="..\common\ttcommon.h" /> + <ClInclude Include="..\common\ttddecmnd.h" /> + <ClInclude Include="..\common\ttftypes.h" /> + <ClInclude Include="..\common\ttlib.h" /> + <ClInclude Include="..\common\ttplugin.h" /> + <ClInclude Include="..\common\tttypes.h" /> <ClInclude Include="..\common\tt_res.h" /> <ClInclude Include="addsetting.h" /> + <ClInclude Include="buffer.h" /> + <ClInclude Include="clipboar.h" /> + <ClInclude Include="commlib.h" /> + <ClInclude Include="dnddlg.h" /> + <ClInclude Include="filesys.h" /> + <ClInclude Include="ftdlg.h" /> + <ClInclude Include="keyboard.h" /> + <ClInclude Include="prnabort.h" /> + <ClInclude Include="protodlg.h" /> <ClInclude Include="sizetip.h" /> + <ClInclude Include="teklib.h" /> + <ClInclude Include="tekwin.h" /> + <ClInclude Include="telnet.h" /> + <ClInclude Include="teraapp.h" /> + <ClInclude Include="teraprn.h" /> + <ClInclude Include="ttdde.h" /> + <ClInclude Include="ttdialog.h" /> <ClInclude Include="ttfileio.h" /> + <ClInclude Include="ttime.h" /> + <ClInclude Include="ttplug.h" /> + <ClInclude Include="ttsetup.h" /> + <ClInclude Include="ttwinman.h" /> + <ClInclude Include="ttwsk.h" /> + <ClInclude Include="vtdisp.h" /> + <ClInclude Include="vtterm.h" /> + <ClInclude Include="vtwin.h" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v15.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpdlg\ttpdlg.v12.vcxproj"> + <ProjectReference Include="..\ttpdlg\ttpdlg.v15.vcxproj"> <Project>{47cb840d-85c8-460f-9101-beb54bef9d56}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpfile\ttpfile.v12.vcxproj"> + <ProjectReference Include="..\ttpfile\ttpfile.v15.vcxproj"> <Project>{311f2b21-aec4-4384-8209-bb83b54749b4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpmacro\ttpmacro.v12.vcxproj"> + <ProjectReference Include="..\ttpmacro\ttpmacro.v15.vcxproj"> <Project>{ba519362-a2c2-4b1a-905b-f00791f9038a}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpset\ttpset.v12.vcxproj"> + <ProjectReference Include="..\ttpset\ttpset.v15.vcxproj"> <Project>{5cf58947-e861-4a5c-b0b1-e85486f149cd}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttptek\ttptek.v12.vcxproj"> + <ProjectReference Include="..\ttptek\ttptek.v15.vcxproj"> <Project>{6d08053b-1c68-4a7e-8766-3553f5af010b}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/teraterm/ttermpro.v15.vcxproj.filters =================================================================== --- trunk/teraterm/teraterm/ttermpro.v15.vcxproj.filters 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/ttermpro.v15.vcxproj.filters 2018-07-13 11:05:13 UTC (rev 7148) @@ -16,26 +16,14 @@ <UniqueIdentifier>{e3efecca-9842-408d-979e-a4c7af432f65}</UniqueIdentifier> <Extensions>h;hpp;hxx;hm;inl</Extensions> </Filter> + <Filter Include="dialog"> + <UniqueIdentifier>{23d7c62e-eff4-4a0d-b8b4-7fc703717c0e}</UniqueIdentifier> + </Filter> </ItemGroup> <ItemGroup> - <ClCompile Include="addsetting.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="..\common\dlglib.c"> - <Filter>Source Files</Filter> - </ClCompile> <ClCompile Include="filesys.cpp"> <Filter>Source Files</Filter> </ClCompile> - <ClCompile Include="ftdlg.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="prnabort.cpp"> - <Filter>Source Files</Filter> - </ClCompile> - <ClCompile Include="protodlg.cpp"> - <Filter>Source Files</Filter> - </ClCompile> <ClCompile Include="..\common\stdafx.cpp"> <Filter>Source Files</Filter> </ClCompile> @@ -75,9 +63,6 @@ <ClCompile Include="ttdde.c"> <Filter>Source Files %28C%29</Filter> </ClCompile> - <ClCompile Include="ttdialog.c"> - <Filter>Source Files %28C%29</Filter> - </ClCompile> <ClCompile Include="ttfileio.c"> <Filter>Source Files %28C%29</Filter> </ClCompile> @@ -111,6 +96,27 @@ <ClCompile Include="WSAAsyncGetAddrInfo.c"> <Filter>Source Files %28C%29</Filter> </ClCompile> + <ClCompile Include="..\common\dlglib.c"> + <Filter>dialog</Filter> + </ClCompile> + <ClCompile Include="dnddlg.cpp"> + <Filter>dialog</Filter> + </ClCompile> + <ClCompile Include="ftdlg.cpp"> + <Filter>dialog</Filter> + </ClCompile> + <ClCompile Include="protodlg.cpp"> + <Filter>dialog</Filter> + </ClCompile> + <ClCompile Include="prnabort.cpp"> + <Filter>dialog</Filter> + </ClCompile> + <ClCompile Include="ttdialog.c"> + <Filter>dialog</Filter> + </ClCompile> + <ClCompile Include="addsetting.cpp"> + <Filter>dialog</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <Image Include="..\..\cygterm\cygterm.ico"> @@ -131,6 +137,12 @@ <Image Include="..\common\vt_classic.ico"> <Filter>Resource Files</Filter> </Image> + <Image Include="..\common\teraterm_3d.ico"> + <Filter>Resource Files</Filter> + </Image> + <Image Include="..\common\vt_3d.ico"> + <Filter>Resource Files</Filter> + </Image> </ItemGroup> <ItemGroup> <ResourceCompile Include="tt-version.rc"> @@ -141,9 +153,6 @@ </ResourceCompile> </ItemGroup> <ItemGroup> - <ClInclude Include="addsetting.h"> - <Filter>Header Files</Filter> - </ClInclude> <ClInclude Include="sizetip.h"> <Filter>Header Files</Filter> </ClInclude> @@ -153,5 +162,113 @@ <ClInclude Include="ttfileio.h"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="..\common\ttlib.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ttwinman.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\ttftypes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="teklib.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\teraterm.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\tektypes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="tekwin.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="telnet.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="teraapp.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="teraprn.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ttwsk.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\ttcommon.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ttdde.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\ttddecmnd.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ttime.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ttplug.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\ttplugin.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="ttsetup.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\tttypes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\tt-version.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="buffer.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="clipboar.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="commlib.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="filesys.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="keyboard.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="vtterm.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="vtwin.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="vtdisp.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\common\compat_w95.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="dnddlg.h"> + <Filter>dialog</Filter> + </ClInclude> + <ClInclude Include="prnabort.h"> + <Filter>dialog</Filter> + </ClInclude> + <ClInclude Include="protodlg.h"> + <Filter>dialog</Filter> + </ClInclude> + <ClInclude Include="ttdialog.h"> + <Filter>dialog</Filter> + </ClInclude> + <ClInclude Include="..\common\dlglib.h"> + <Filter>dialog</Filter> + </ClInclude> + <ClInclude Include="ftdlg.h"> + <Filter>dialog</Filter> + </ClInclude> + <ClInclude Include="addsetting.h"> + <Filter>dialog</Filter> + </ClInclude> </ItemGroup> -</Project> +</Project> \ No newline at end of file Modified: trunk/teraterm/teraterm/vtdisp.c =================================================================== --- trunk/teraterm/teraterm/vtdisp.c 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/vtdisp.c 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2005-2017 TeraTerm Project + * (C) 2005-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,7 +44,7 @@ #define CurWidth 2 -int DefaultColorTable[256][3] = { +static const BYTE DefaultColorTable[256][3] = { { 0, 0, 0}, {255, 0, 0}, { 0,255, 0}, {255,255, 0}, { 0, 0,255}, {255, 0,255}, { 0,255,255}, {255,255,255}, // 0 - 7 {128,128,128}, {128, 0, 0}, { 0,128, 0}, {128,128, 0}, { 0, 0,128}, {128, 0,128}, { 0,128,128}, {192,192,192}, // 8 - 15 { 0, 0, 0}, { 0, 0, 95}, { 0, 0,135}, { 0, 0,175}, { 0, 0,215}, { 0, 0,255}, { 0, 95, 0}, { 0, 95, 95}, // 16 - 23 Modified: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/vtwin.cpp 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2004-2017 TeraTerm Project + * (C) 2004-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -77,6 +77,7 @@ #include "addsetting.h" #include "winjump.h" #include "sizetip.h" +#include "dnddlg.h" #include "initguid.h" //#include "Usbiodef.h" @@ -254,6 +255,7 @@ ON_COMMAND(ID_WINDOW_UNDO, OnWindowUndo) ON_COMMAND(ID_HELP_INDEX2, OnHelpIndex) ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout) + ON_MESSAGE(WM_USER_DROPNOTIFY, OnDropNotify) //}}AFX_MSG_MAP END_MESSAGE_MAP() @@ -918,6 +920,9 @@ // Tera Term\x82̋N\x93\xAE\x8E\x9E\x81AVirtual Store\x82\xAA\x93\xAD\x82\xAD\x82\xA9\x82ǂ\xA4\x82\xA9\x82\xF0\x8Ao\x82\xA6\x82Ă\xA8\x82\xAD\x81B // (2015.11.14 yutaka) cv.VirtualStoreEnabled = GetVirtualStoreEnvironment(); + + DropLists = NULL; + DropListCount = 0; } ///////////////////////////////////////////////////////////////////////////// @@ -1986,6 +1991,7 @@ /* Disable drag-drop */ ::DragAcceptFiles(HVTWin,FALSE); + DropListFree(); EndDDE(); @@ -2019,210 +2025,302 @@ DeleteNotifyIcon(&cv); } -static LRESULT CALLBACK OnDragDropDlgProc(HWND hDlgWnd, UINT msg, WPARAM wp, LPARAM lp) +static void EscapeFilename(const char *src, char *dest) { - static HFONT DlgDragDropFont = NULL; - char uimsg[MAX_UIMSG]; - LOGFONT logfont; - HFONT font; +#define ESCAPE_CHARS " ;&()$!`'[]{}#^~" + setlocale(LC_ALL, ts.Locale); + const char *s = src; + char *d = dest; + while (*s) { + if (isleadbyte(*s)) { // multi-byte + *d++ = *s++; + *d++ = *s++; + continue; + } + char c = *s++; + if (c == '\\') { + // \x83p\x83X\x82̋\xE6\x90\xE8\x82\xF0 \ -> / \x82\xD6 + *d = '/'; + } else if (strchr(ESCAPE_CHARS, c) != NULL) { + // \x83G\x83X\x83P\x81[\x83v\x82\xAA\x95K\x97v\x82ȕ\xB6\x8E\x9A + *d++ = '\\'; + *d = c; + } else { + *d = c; + } + d++; + } + *d = '\0'; // null-terminate +} - switch (msg) { - case WM_INITDIALOG: - 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)) { - SendDlgItemMessage(hDlgWnd, IDC_SCP_PATH, WM_SETFONT, (WPARAM)DlgDragDropFont, MAKELPARAM(TRUE,0)); - SendDlgItemMessage(hDlgWnd, IDOK, WM_SETFONT, (WPARAM)DlgDragDropFont, MAKELPARAM(TRUE,0)); - SendDlgItemMessage(hDlgWnd, IDCANCEL, WM_SETFONT, (WPARAM)DlgDragDropFont, MAKELPARAM(TRUE,0)); - SendDlgItemMessage(hDlgWnd, IDC_DAD_STATIC, WM_SETFONT, (WPARAM)DlgDragDropFont, MAKELPARAM(TRUE,0)); - SendDlgItemMessage(hDlgWnd, IDC_DAD_SENDFILE, WM_SETFONT, (WPARAM)DlgDragDropFont, MAKELPARAM(TRUE,0)); - } else { - DlgDragDropFont = NULL; - } +static void PasteString(PComVar cv, const char *str, bool escape) +{ + PCHAR ptr = (PCHAR)str; + char *tmpbuf = NULL; + if (escape) { + size_t len = strlen(str) * 2; + tmpbuf = (char *)malloc(len); + EscapeFilename(str, tmpbuf); + ptr = tmpbuf; + } - GetWindowText(hDlgWnd, uimsg, sizeof(uimsg)); - get_lang_msg("MSG_DANDD_CONF_TITLE", ts.UIMsg, sizeof(ts.UIMsg), uimsg, ts.UILanguageFile); - SetWindowText(hDlgWnd, ts.UIMsg); + // console\x82֑\x97\x90M + while (*ptr) { + CommTextOut(cv, ptr, 1); + if (ts.LocalEcho > 0) { + CommTextEcho(cv, ptr, 1); + } + ptr++; + } - 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); + if (tmpbuf != NULL) free(tmpbuf); +} - get_lang_msg("FILEDLG_TRANS_TITLE_SENDFILE", ts.UIMsg, sizeof(ts.UIMsg), - "Send file", ts.UILanguageFile); - SetDlgItemText(hDlgWnd, IDOK, ts.UIMsg); +/* \x93\xFC\x97͂̓t\x83@\x83C\x83\x8B\x82̂\xDD(\x83t\x83H\x83\x8B\x83_\x82͊܂܂\xEA\x82Ȃ\xA2) */ +static bool SendScp(char *Filenames[], int FileCount, const char *SendDir) +{ + typedef int (CALLBACK *PSSH_start_scp)(char *, char *); + static PSSH_start_scp func = NULL; + static HMODULE h = NULL; + char msg[128]; - SendMessage(GetDlgItem(hDlgWnd, IDC_SCP_PATH), WM_SETTEXT, 0, (LPARAM)ts.ScpSendDir); + if (h == NULL) { + if ( ((h = GetModuleHandle("ttxssh.dll")) == NULL) ) { + _snprintf_s(msg, sizeof(msg), _TRUNCATE, "GetModuleHandle(\"ttxssh.dll\")) %d", GetLastError()); + scp_send_error: + ::MessageBox(NULL, msg, "Tera Term: scpsend command error", MB_OK | MB_ICONERROR); + return false; + } + } + if (func == NULL) { + func = (PSSH_start_scp)GetProcAddress(h, "TTXScpSendfile"); + if (func == NULL) { + _snprintf_s(msg, sizeof(msg), _TRUNCATE, "GetProcAddress(\"TTXScpSendfile\")) %d", GetLastError()); + goto scp_send_error; + } + } - // SSH2 \x90ڑ\xB1\x82ł͂Ȃ\xA2\x8Fꍇ\x82ɂ\xCD "SCP" \x82\x{27B0B7}\x82\xE9\x81B - if (cv.isSSH != 2) { - EnableWindow(GetDlgItem(hDlgWnd, IDC_DAD_SENDFILE), FALSE); - EnableWindow(GetDlgItem(hDlgWnd, IDC_SCP_PATH), FALSE); - EnableWindow(GetDlgItem(hDlgWnd, IDC_STATIC), FALSE); + for (int i = 0; i < FileCount; i++) { + const char *FileName = Filenames[i]; + func((char *)FileName, ts.ScpSendDir); + } + return true; +} - // \x83t\x83H\x81[\x83J\x83X\x82̏\x89\x8A\xFA\x8F\xF3\x91Ԃ\xF0 Cancel \x82ɂ\xB7\x82\xE9\x88ׁA\x82\xB1\x82̎\x9E\x93_\x82ł\xCD Send File (IDOK)\x82\xC9 - // \x83t\x83H\x81[\x83J\x83X\x82Ă\xE9\x81B\x8C\xE3\x82\xC5 WM_NEXTDLGCTL \x82Ńt\x83H\x81[\x83J\x83X\x82\xAA\x8E\x9F\x82̃{\x83^\x83\x93\x82ɂȂ\xE9\x81B - SetFocus(GetDlgItem(hDlgWnd, IDOK)); - } - else { - // SSH2 \x90ڑ\xB1\x8E\x9E\x82\xCD Cancel \x82Ƀt\x83H\x81[\x83J\x83X\x82āA\x8DŏI\x93I\x82\xC9 SCP PATH \x82Ƀt\x83H\x81[\x83J\x83X\x82\xAA - // \x93\x96\x82\xBD\x82\xE9\x82悤\x82ɂ\xB7\x82\xE9\x81B - SetFocus(GetDlgItem(hDlgWnd, IDCANCEL)); - } +void CVTWindow::DropListFree() +{ + if (DropListCount > 0) { + for (int i = 0; i < DropListCount; i++) { + free(DropLists[i]); + DropLists[i] = NULL; + } + free(DropLists); + DropLists = NULL; + DropListCount = 0; + } +} - // \x83t\x83H\x81[\x83J\x83X\x82\xF0\x8E\x9F\x82̃{\x83^\x83\x93\x82Ɉڂ\xB7 - // SetFocus() \x82Œ\xBC\x90ڃt\x83H\x81[\x83J\x83X\x82Ă\xE9\x82ƃ^\x83u\x83L\x81[\x82̓\xAE\x8D쓙\x82ɖ\xE2\x91肪\x8Fo\x82邽\x82߁A - // \x82\xB1\x82̃\x81\x83b\x83Z\x81[\x83W\x82p\x82\xB7\x82\xE9 - PostMessage(hDlgWnd, WM_NEXTDLGCTL, 0, 0L); +LONG CVTWindow::OnDropNotify(UINT ShowDialog, LONG lParam) +{ + // ini\x82ɕۑ\xB6\x82\xB3\x82\xEA\x82Ȃ\xA2\x81A\x8D\xA1\x8E\xC0\x8Ds\x82\xB5\x82Ă\xA2\x82\xE9Tera Term\x82ł̂ݗL\x8C\xF8\x82Ȑݒ\xE8 + static enum drop_type DefaultDropType = DROP_TYPE_CANCEL; + static unsigned char DefaultDropTypePaste = DROP_TYPE_PASTE_ESCAPE; + static bool DefaultShowDialog = ts.ConfirmFileDragAndDrop ? true : false; - // TRUE\x82ɂ\xB7\x82\xE9\x82ƃ{\x83^\x83\x93\x82Ƀt\x83H\x81[\x83J\x83X\x82\xAA\x93\x96\x82\xBD\x82\xE7\x82Ȃ\xA2\x81B - return FALSE; + (void)lParam; + int FileCount = 0; + int DirectoryCount = 0; + for (int i = 0; i < DropListCount; i++) { + const char *FileName = DropLists[i]; + const DWORD attr = GetFileAttributes(FileName); + if (attr == -1 ) { + goto finish; + } + if (attr & FILE_ATTRIBUTE_DIRECTORY) { + DirectoryCount++; + } else { + FileCount++; + } + } - case WM_COMMAND: - switch (LOWORD(wp)) { - case IDC_DAD_SENDFILE: - SendMessage(GetDlgItem(hDlgWnd, IDC_SCP_PATH), WM_GETTEXT, sizeof(ts.ScpSendDir), (LPARAM)ts.ScpSendDir); - if (DlgDragDropFont != NULL) { - DeleteObject(DlgDragDropFont); + bool DoSameProcess = false; + const bool isSSH = (cv.isSSH == 2); + enum drop_type DropType; + unsigned char DropTypePaste = DROP_TYPE_PASTE_ESCAPE; + if (DefaultDropType == DROP_TYPE_CANCEL) { + // default is not set + if (!ShowDialog) { + if (FileCount == 1 && DirectoryCount == 0) { + if (ts.ConfirmFileDragAndDrop) { + if (isSSH) { + DropType = DROP_TYPE_SCP; + } else { + DropType = DROP_TYPE_SEND_FILE; } - EndDialog(hDlgWnd, IDC_DAD_SENDFILE); - break; + DoSameProcess = false; + } else { + DropType = DROP_TYPE_SEND_FILE; + DoSameProcess = DefaultShowDialog ? false : true; + } + } else if (FileCount == 0 && DirectoryCount == 1) { + DropType = DROP_TYPE_PASTE_FILENAME; + DoSameProcess = DefaultShowDialog ? false : true; + } else if (FileCount > 0 && DirectoryCount > 0) { + DropType = DROP_TYPE_PASTE_FILENAME; + DoSameProcess = false; + } else if (FileCount > 0 && DirectoryCount == 0) { + // filename only + if (isSSH) { + DropType = DROP_TYPE_SCP; + } else { + DropType = DROP_TYPE_SEND_FILE; + } + DoSameProcess = false; + } else { + // directory only + DropType = DROP_TYPE_PASTE_FILENAME; + DoSameProcess = ts.ConfirmFileDragAndDrop ? false : true; + } + } else { + // show dialog + if (DirectoryCount > 0) { + DropType = DROP_TYPE_PASTE_FILENAME; + } else { + if (isSSH) { + DropType = DROP_TYPE_SCP; + } else { + DropType = DROP_TYPE_SEND_FILE; + } + } + DoSameProcess = false; + } + } else { + if (DirectoryCount > 0 && + (DefaultDropType == DROP_TYPE_SEND_FILE || + DefaultDropType == DROP_TYPE_SEND_FILE_BINARY || + DefaultDropType == DROP_TYPE_SCP)) + { // \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; + DoSameProcess = false; + } else { + DropType = DefaultDropType; + DropTypePaste = DefaultDropTypePaste; + DoSameProcess = (ShowDialog || DefaultShowDialog) ? false : true; + } + } - case IDOK: - if (DlgDragDropFont != NULL) { - DeleteObject(DlgDragDropFont); - } - EndDialog(hDlgWnd, IDOK); - break; + for (int i = 0; i < DropListCount; i++) { + const char *FileName = DropLists[i]; - case IDCANCEL: - if (DlgDragDropFont != NULL) { - DeleteObject(DlgDragDropFont); + if (!DoSameProcess) { + bool DoSameProcessNextDrop; + bool DoNotShowDialog = !DefaultShowDialog; + DropType = + ShowDropDialogBox(hInst, HVTWin, + FileName, DropType, + DropListCount - i, + (DirectoryCount == 0 && isSSH) ? true : false, + DirectoryCount == 0 ? true : false, + ts.ConfirmFileDragAndDrop ? false : true, + &DropTypePaste, + &DoSameProcess, + &DoSameProcessNextDrop, + &DoNotShowDialog); + if (DropType == DROP_TYPE_CANCEL) { + goto finish; + } + if (DoSameProcessNextDrop) { + DefaultDropType = DropType; + DefaultDropTypePaste = DropTypePaste; + } + if (!ts.ConfirmFileDragAndDrop) { + DefaultShowDialog = !DoNotShowDialog; + } + } + + switch (DropType) { + case DROP_TYPE_CANCEL: + default: + // cancel + break; + case DROP_TYPE_SEND_FILE: + case DROP_TYPE_SEND_FILE_BINARY: + if (SendVar==NULL && NewFileVar(&SendVar)) { + HelpId = HlpFileSend; + strncpy_s(SendVar->FullName, sizeof(SendVar->FullName), FileName, _TRUNCATE); + SendVar->DirLen = 0; + ts.TransBin = DropType == DROP_TYPE_SEND_FILE ? 0 : 1; + FileSendStart(); +#if 0 + goto finish; // send file\x82͘A\x91\xB1\x82\xB5\x82Ăł\xAB\x82Ȃ\xA2 +#else + { + LONG lCount = 0; + CWinApp *app = AfxGetApp(); + while(1) { + if (SendVar == NULL) { + break; + } + app->OnIdle(lCount++); } - EndDialog(hDlgWnd, IDCANCEL); - break; - - default: - return FALSE; + } +#endif } + break; + case DROP_TYPE_PASTE_FILENAME: + { + const bool escape = (DropTypePaste & DROP_TYPE_PASTE_ESCAPE) ? true : false; + if (!BracketedPasteMode()) { + TermSendStartBracket(); + } + PasteString(&cv, FileName, escape); + if (DropListCount > 1 && i < DropListCount - 1) { + const char *separator = (DropTypePaste & DROP_TYPE_PASTE_NEWLINE) ? "\n" : " "; + PasteString(&cv, separator, false); + } + break; + } + case DROP_TYPE_SCP: + { + // send by scp + char **FileNames = &DropLists[i]; + int FileCount = DoSameProcess ? DropListCount - i : 1; + if (!SendScp(FileNames, FileCount, ts.ScpSendDir)) { + goto finish; + } + i += FileCount - 1; + break; + } + } + } - default: - return FALSE; +finish: + if (BracketedPasteMode()) { + TermSendEndBracket(); } - return TRUE; + DropListFree(); + return 0; } void CVTWindow::OnDropFiles(HDROP hDropInfo) { ::SetForegroundWindow(HVTWin); - if (cv.Ready && (SendVar==NULL) && NewFileVar(&SendVar)) + if (cv.Ready && SendVar==NULL) { - if (DragQueryFile(hDropInfo,0,SendVar->FullName, - sizeof(SendVar->FullName))>0) - { - DWORD attr; - char *ptr, *q; - char tmpbuf[_MAX_PATH * 2]; + const UINT ShowDialog = + ((GetAsyncKeyState(VK_CONTROL) & 0x8000) != 0) ? 1 : 0; + DropListCount = DragQueryFile(hDropInfo, -1, NULL, 0); + DropLists = (char **)malloc(sizeof(char *) * DropListCount); - // \x83f\x83B\x83\x8C\x83N\x83g\x83\x8A\x82̏ꍇ\x82̓t\x83\x8B\x83p\x83X\x96\xBC\x82\xF0\x93\\x82\xE8\x95t\x82\xAF\x82\xE9 (2004.11.3 yutaka) - attr = GetFileAttributes(SendVar->FullName); - if (attr != -1 && (attr & FILE_ATTRIBUTE_DIRECTORY)) { - ptr = SendVar->FullName; - // \x83p\x83X\x82̋\xE6\x90\xE8\x82\xF0 \ -> / \x82\xD6 - setlocale(LC_ALL, ts.Locale); - while (*ptr) { - if (isleadbyte(*ptr)) { // multi-byte - ptr += 2; - continue; - } - if (*ptr == '\\') - *ptr = '/'; - ptr++; - } + for (int i = 0; i < DropListCount; i++) { + const UINT cch = DragQueryFile(hDropInfo, i, NULL, 0) + 1; + char *FileName = (char *)malloc(cch); + DropLists[i] = FileName; + DragQueryFile(hDropInfo,i,FileName,cch); + } - // \x83p\x83X\x82ɋ\xAA\x82\xA0\x82\xEA\x82G\x83X\x83P\x81[\x83v\x82\xB7\x82\xE9 - q = tmpbuf; - ptr = SendVar->FullName; - while (*ptr) { - if (*ptr == ' ') - *q++ = '\\'; - *q++ = *ptr; - ptr++; - } - *q = '\0'; // null-terminate - - ptr = tmpbuf; - - // console\x82֑\x97\x90M - while (*ptr) { - CommTextOut(&cv, ptr, 1); - if (ts.LocalEcho > 0) { - CommTextEcho(&cv, ptr, 1); - } - ptr++; - } - FreeFileVar(&SendVar); // \x89\xF0\x95\xFA\x82\xF0\x96Y\x82ꂸ\x82\xC9 - - } else { - // Confirm send a file when drag and drop (2007.12.28 maya) - if (ts.ConfirmFileDragAndDrop) { - // \x82\xA2\x82\xAB\x82Ȃ\xE8\x83t\x83@\x83C\x83\x8B\x82̓\xE0\x97e\x82𑗂荞\x82ޑO\x82ɁA\x83\x86\x81[\x83U\x82ɖ₢\x8D\x87\x82킹\x82\xF0\x8Ds\x82\xA4\x81B(2006.1.21 yutaka) - // MessageBox\x82\xC5SCP\x82\xE0\x91I\x91\xF0\x82ł\xAB\x82\xE9\x82悤\x82ɂ\xB7\x82\xE9\x81B(2008.1.25 yutaka) - // SCP\x83p\x83X\x82\xF0\x8Ew\x92\xE8\x82ł\xAB\x82\xE9\x82悤\x82Ƀ_\x83C\x83A\x83\x8D\x83O\x82ɕύX\x82\xB5\x82\xBD\x81B(2012.4.11 yutaka) - int ret; - - ret = DialogBox(hInst, MAKEINTRESOURCE(IDD_DAD_DIALOG), - HVTWin, (DLGPROC)OnDragDropDlgProc); - - if (ret == IDOK) { // sendfile - HelpId = HlpFileSend; - SendVar->DirLen = 0; - ts.TransBin = 0; - FileSendStart(); - - } else if (ret == IDC_DAD_SENDFILE) { // SCP - typedef int (CALLBACK *PSSH_start_scp)(char *, char *); - static PSSH_start_scp func = NULL; - static HMODULE h = NULL; - char msg[128]; - - if (func == NULL) { - if ( ((h = GetModuleHandle("ttxssh.dll")) == NULL) ) { - _snprintf_s(msg, sizeof(msg), _TRUNCATE, "GetModuleHandle(\"ttxssh.dll\")) %d", GetLastError()); - goto scp_send_error; - } - func = (PSSH_start_scp)GetProcAddress(h, "TTXScpSendfile"); - if (func == NULL) { - _snprintf_s(msg, sizeof(msg), _TRUNCATE, "GetProcAddress(\"TTXScpSendfile\")) %d", GetLastError()); - goto scp_send_error; - } - } - - if (func != NULL) { - func(SendVar->FullName, ts.ScpSendDir); - goto send_success; - } - -scp_send_error: - ::MessageBox(NULL, msg, "Tera Term: scpsend command error", MB_OK | MB_ICONERROR); -send_success: - FreeFileVar(&SendVar); // \x89\xF0\x95\xFA\x82\xF0\x96Y\x82ꂸ\x82\xC9 - - } else { - FreeFileVar(&SendVar); - - } - } - else { - SendVar->DirLen = 0; - ts.TransBin = 0; - FileSendStart(); - - } - } - } - else - FreeFileVar(&SendVar); + ::PostMessage(HVTWin, WM_USER_DROPNOTIFY, ShowDialog, 0); } DragFinish(hDropInfo); } Modified: trunk/teraterm/teraterm/vtwin.h =================================================================== --- trunk/teraterm/teraterm/vtwin.h 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/teraterm/vtwin.h 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2004-2017 TeraTerm Project + * (C) 2004-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -50,6 +50,13 @@ HMENU MainMenu, FileMenu, TransMenu, EditMenu, SetupMenu, ControlMenu, WinMenu, HelpMenu; + // drag and drop handle + char **DropLists; + int DropListCount; + void DropListFree(); + bool DropWithLeftbutton; + bool DropWithRightbutton; + protected: public: @@ -214,6 +221,7 @@ afx_msg void OnHelpIndex(); afx_msg void OnHelpUsing(); afx_msg void OnHelpAbout(); + afx_msg LONG OnDropNotify(UINT ShowMenu, LONG lParam); //}}AFX_MSG DECLARE_MESSAGE_MAP(); void Disconnect(BOOL confirm); Modified: trunk/teraterm/ttpcmn/ttpcmn.v15.vcxproj =================================================================== --- trunk/teraterm/ttpcmn/ttpcmn.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpcmn/ttpcmn.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,7 +14,7 @@ <ProjectGuid>{118E0D32-5553-4F73-9927-E873C1C500E4}</ProjectGuid> <RootNamespace>ttpcmn</RootNamespace> <ProjectName>ttpcmn</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> @@ -71,6 +71,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -109,6 +110,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -152,4 +154,4 @@ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> +</Project> \ No newline at end of file Modified: trunk/teraterm/ttpdlg/ttdlg.c =================================================================== --- trunk/teraterm/ttpdlg/ttdlg.c 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpdlg/ttdlg.c 2018-07-13 11:05:13 UTC (rev 7148) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2004-2017 TeraTerm Project + * (C) 2004-2018 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -72,9 +72,9 @@ char UILanguageFile[MAX_PATH]; -static PCHAR far NLListRcv[] = {"CR","CR+LF", "LF", "AUTO", NULL}; -static PCHAR far NLList[] = {"CR","CR+LF", "LF", NULL}; -static PCHAR far TermList[] = +static PCHAR NLListRcv[] = {"CR","CR+LF", "LF", "AUTO", NULL}; +static PCHAR NLList[] = {"CR","CR+LF", "LF", NULL}; +static PCHAR TermList[] = {"VT100", "VT101", "VT102", "VT282", "VT320", "VT382", "VT420", "VT520", "VT525", NULL}; static WORD Term_TermJ[] = @@ -81,29 +81,34 @@ {IdVT100, IdVT101, IdVT102, IdVT282, IdVT320, IdVT382, IdVT420, IdVT520, IdVT525}; static WORD TermJ_Term[] = {1, 1, 2, 3, 3, 4, 4, 5, 6, 7, 8, 9}; -static PCHAR far TermListJ[] = +static PCHAR TermListJ[] = {"VT100", "VT100J", "VT101", "VT102", "VT102J", "VT220J", "VT282", "VT320", "VT382", "VT420", "VT520", "VT525", NULL}; -static PCHAR far KanjiList[] = {"SJIS","EUC","JIS", "UTF-8", "UTF-8m", NULL}; -static PCHAR far KanjiListSend[] = {"SJIS","EUC","JIS", "UTF-8", NULL}; -static PCHAR far KanjiInList[] = {"^[$@","^[$B",NULL}; -static PCHAR far KanjiOutList[] = {"^[(B","^[(J",NULL}; -static PCHAR far KanjiOutList2[] = {"^[(B","^[(J","^[(H",NULL}; -static PCHAR far RussList[] = {"Windows","KOI8-R","CP 866","ISO 8859-5",NULL}; -static PCHAR far RussList2[] = {"Windows","KOI8-R",NULL}; -static PCHAR far LocaleList[] = {"japanese","chinese", "chinese-simplified", "chinese-traditional", NULL}; -static PCHAR far MetaList[] = {"off", "on", "left", "right", NULL}; -static PCHAR far MetaList2[] = {"off", "on", NULL}; +static PCHAR KanjiList[] = {"SJIS","EUC","JIS", "UTF-8", "UTF-8m", NULL}; +static PCHAR KanjiListSend[] = {"SJIS","EUC","JIS", "UTF-8", NULL}; +static PCHAR KanjiInList[] = {"^[$@","^[$B",NULL}; +static PCHAR KanjiOutList[] = {"^[(B","^[(J",NULL}; +static PCHAR KanjiOutList2[] = {"^[(B","^[(J","^[(H",NULL}; +static PCHAR RussList[] = {"Windows","KOI8-R","CP 866","ISO 8859-5",NULL}; +static PCHAR RussList2[] = {"Windows","KOI8-R",NULL}; +static PCHAR LocaleList[] = {"japanese","chinese", "chinese-simplified", "chinese-traditional", NULL}; +static PCHAR MetaList[] = {"off", "on", "left", "right", NULL}; +static PCHAR MetaList2[] = {"off", "on", NULL}; // HKS -static PCHAR far KoreanList[] = {"KS5601", "UTF-8", "UTF-8m", NULL}; -static PCHAR far KoreanListSend[] = {"KS5601", "UTF-8", NULL}; +static PCHAR KoreanList[] = {"KS5601", "UTF-8", "UTF-8m", NULL}; +static PCHAR KoreanListSend[] = {"KS5601", "UTF-8", NULL}; // UTF-8 -static PCHAR far Utf8List[] = {"UTF-8", "UTF-8m", NULL}; -static PCHAR far Utf8ListSend[] = {"UTF-8", NULL}; +static PCHAR Utf8List[] = {"UTF-8", "UTF-8m", NULL}; +static PCHAR Utf8ListSend[] = {"UTF-8", NULL}; +static PCHAR BaudList[] = + {"110","300","600","1200","2400","4800","9600", + "14400","19200","38400","57600","115200", + "230400", "460800", "921600", NULL}; + BOOL CALLBACK TermDlg(HWND Dialog, UINT Message, WPARAM wParam, LPARAM lParam) { PTTSet ts; @@ -1359,10 +1364,10 @@ return FALSE; } -static PCHAR far DataList[] = {"7 bit","8 bit",NULL}; -static PCHAR far ParityList[] = {"none", "odd", "even", "mark", "space", NULL}; -static PCHAR far StopList[] = {"1 bit", "1.5 bit", "2 bit", NULL}; -static PCHAR far FlowList[] = {"Xon/Xoff","hardware","none",NULL}; +static PCHAR DataList[] = {"7 bit","8 bit",NULL}; +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","hardware","none",NULL}; BOOL CALLBACK SerialDlg(HWND Dialog, UINT Message, WPARAM wParam, LPARAM lParam) { @@ -3036,7 +3041,7 @@ return FALSE; } -static PCHAR far LangList[] = {"English","Japanese","Russian","Korean","UTF-8",NULL}; +static PCHAR LangList[] = {"English","Japanese","Russian","Korean","UTF-8",NULL}; static char **LangUIList = NULL; #define LANG_PATH "lang" #define LANG_EXT ".lng" @@ -3573,7 +3578,7 @@ switch (ul_reason_for_call) { case DLL_THREAD_ATTACH: /* do thread initialization */ - break; + break; case DLL_THREAD_DETACH: /* do thread cleanup */ break; Modified: trunk/teraterm/ttpdlg/ttpdlg.v14.vcxproj =================================================================== --- trunk/teraterm/ttpdlg/ttpdlg.v14.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpdlg/ttpdlg.v14.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -154,11 +154,11 @@ <None Include="ttpdlg.def" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\svnrev\svnrev.v12.vcxproj"> + <ProjectReference Include="..\svnrev\svnrev.v14.vcxproj"> <Project>{80f1c3f0-a213-4d48-85c8-a265990d19a7}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v14.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttpdlg/ttpdlg.v15.vcxproj =================================================================== --- trunk/teraterm/ttpdlg/ttpdlg.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpdlg/ttpdlg.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,7 +14,7 @@ <ProjectGuid>{47CB840D-85C8-460F-9101-BEB54BEF9D56}</ProjectGuid> <RootNamespace>ttpdlg</RootNamespace> <ProjectName>ttpdlg</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> @@ -74,6 +74,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -113,6 +114,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -155,16 +157,14 @@ <None Include="ttpdlg.def" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\svnrev\svnrev.v12.vcxproj"> + <ProjectReference Include="..\svnrev\svnrev.v15.vcxproj"> <Project>{80f1c3f0-a213-4d48-85c8-a265990d19a7}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v15.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> - <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> </ImportGroup> -</Project> +</Project> \ No newline at end of file Modified: trunk/teraterm/ttpfile/ttpfile.v14.vcxproj =================================================================== --- trunk/teraterm/ttpfile/ttpfile.v14.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpfile/ttpfile.v14.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -157,7 +157,7 @@ <None Include="ttpfile.def" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v14.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttpfile/ttpfile.v15.vcxproj =================================================================== --- trunk/teraterm/ttpfile/ttpfile.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpfile/ttpfile.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,7 +14,7 @@ <ProjectGuid>{311F2B21-AEC4-4384-8209-BB83B54749B4}</ProjectGuid> <RootNamespace>ttpfile</RootNamespace> <ProjectName>ttpfile</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> @@ -71,6 +71,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -107,6 +108,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -158,7 +160,7 @@ <None Include="ttpfile.def" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v15.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpmacro/ttpmacro.v14.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -177,7 +177,7 @@ </ResourceCompile> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v14.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj =================================================================== --- trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpmacro/ttpmacro.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -15,7 +15,7 @@ <RootNamespace>ttpmacro</RootNamespace> <Keyword>MFCProj</Keyword> <ProjectName>ttpmacro</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> @@ -73,6 +73,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -109,6 +110,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -178,7 +180,7 @@ </ResourceCompile> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v15.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> @@ -191,4 +193,4 @@ <UserProperties RESOURCE_FILE="ttpmacro.rc" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project> \ No newline at end of file Modified: trunk/teraterm/ttpset/ttpset.v14.vcxproj =================================================================== --- trunk/teraterm/ttpset/ttpset.v14.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpset/ttpset.v14.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -144,7 +144,7 @@ <ResourceCompile Include="ttpset.rc" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v14.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttpset/ttpset.v15.vcxproj =================================================================== --- trunk/teraterm/ttpset/ttpset.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttpset/ttpset.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,7 +14,7 @@ <ProjectGuid>{5CF58947-E861-4A5C-B0B1-E85486F149CD}</ProjectGuid> <RootNamespace>ttpset</RootNamespace> <ProjectName>ttpset</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> @@ -71,6 +71,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -109,6 +110,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -145,7 +147,7 @@ <ResourceCompile Include="ttpset.rc" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v15.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttptek/ttptek.v14.vcxproj =================================================================== --- trunk/teraterm/ttptek/ttptek.v14.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttptek/ttptek.v14.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -140,7 +140,7 @@ <ResourceCompile Include="ttptek.rc" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v14.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/teraterm/ttptek/ttptek.v15.vcxproj =================================================================== --- trunk/teraterm/ttptek/ttptek.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/teraterm/ttptek/ttptek.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,7 +14,7 @@ <ProjectGuid>{6D08053B-1C68-4A7E-8766-3553F5AF010B}</ProjectGuid> <RootNamespace>ttptek</RootNamespace> <ProjectName>ttptek</ProjectName> - <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> @@ -69,6 +69,7 @@ <SuppressStartupBanner>true</SuppressStartupBanner> <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -107,6 +108,7 @@ <WarningLevel>Level3</WarningLevel> <SuppressStartupBanner>true</SuppressStartupBanner> <CompileAs>Default</CompileAs> + <MultiProcessorCompilation>true</MultiProcessorCompilation> </ClCompile> <ResourceCompile> <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> @@ -141,7 +143,7 @@ <ResourceCompile Include="ttptek.rc" /> </ItemGroup> <ItemGroup> - <ProjectReference Include="..\ttpcmn\ttpcmn.v12.vcxproj"> + <ProjectReference Include="..\ttpcmn\ttpcmn.v15.vcxproj"> <Project>{118e0d32-5553-4f73-9927-e873c1c500e4}</Project> <ReferenceOutputAssembly>false</ReferenceOutputAssembly> </ProjectReference> Modified: trunk/ttssh2/matcher/matcher.v15.vcxproj =================================================================== --- trunk/ttssh2/matcher/matcher.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/ttssh2/matcher/matcher.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,6 +14,7 @@ <ProjectGuid>{C4B19BFB-8068-4EF2-A3A1-4EC4C40BE7F1}</ProjectGuid> <RootNamespace>matcher</RootNamespace> <ProjectName>matcher</ProjectName> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> Modified: trunk/ttssh2/putty/putty.v15.vcxproj =================================================================== --- trunk/ttssh2/putty/putty.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/ttssh2/putty/putty.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,6 +14,7 @@ <ProjectGuid>{98CA1284-8F6C-4791-BF57-7E5FAD33744E}</ProjectGuid> <RootNamespace>putty</RootNamespace> <ProjectName>putty</ProjectName> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> Modified: trunk/ttssh2/puttyrev/puttyrev.v15.vcxproj =================================================================== --- trunk/ttssh2/puttyrev/puttyrev.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/ttssh2/puttyrev/puttyrev.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -15,6 +15,7 @@ <RootNamespace>puttyrev</RootNamespace> <Keyword>Win32Proj</Keyword> <ProjectName>puttyrev</ProjectName> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> Modified: trunk/ttssh2/ttssh/ttssh.v15.vcxproj =================================================================== --- trunk/ttssh2/ttssh/ttssh.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/ttssh2/ttssh/ttssh.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,6 +14,7 @@ <ProjectGuid>{3D8EF809-7131-4AB2-B442-032A8F49DE33}</ProjectGuid> <RootNamespace>ttssh</RootNamespace> <ProjectName>ttssh</ProjectName> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> Modified: trunk/ttssh2/ttxssh/ttxssh.v15.vcxproj =================================================================== --- trunk/ttssh2/ttxssh/ttxssh.v15.vcxproj 2018-07-13 08:52:49 UTC (rev 7147) +++ trunk/ttssh2/ttxssh/ttxssh.v15.vcxproj 2018-07-13 11:05:13 UTC (rev 7148) @@ -14,6 +14,7 @@ <ProjectGuid>{5638BB89-44E3-4D55-BA98-A01142B4223E}</ProjectGuid> <RootNamespace>ttxssh</RootNamespace> <ProjectName>ttxssh</ProjectName> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> </PropertyGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">