[Ttssh2-commit] [7148] merge drag and drop branch r7147

Back to archive index

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\xA5󤺮e\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\xA5󤺮e\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\x82𕹗p\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\x82΃G\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">



Ttssh2-commit メーリングリストの案内
Back to archive index