diff --git a/doc/en/html/about/history.html b/doc/en/html/about/history.html index 3b2998ae7..fa3d487dd 100644 --- a/doc/en/html/about/history.html +++ b/doc/en/html/about/history.html @@ -73,6 +73,13 @@

YYYY.MM.DD (Ver 5.4 not released yet)

  • Fixed display characters containing surrogate pair character when "Drawing resized font to fit cell width"
  • MACRO: Fixed getenv, expandenv and setenv macro commands were not Unicode-compatible.
  • Fixed B-plus send is not working
  • +
  • Fixed local echo setting was not used: + +
  • diff --git a/doc/en/html/usage/mouse.html b/doc/en/html/usage/mouse.html index c338c7afd..b89454af8 100644 --- a/doc/en/html/usage/mouse.html +++ b/doc/en/html/usage/mouse.html @@ -115,7 +115,7 @@

    -
    Send File (Paste content of file)
    +
    Send File (Paste content of file)
    The file content is sent(pasted) into the terminal.
    When the file is dropped, this menu can be selected with the file.
    diff --git a/doc/ja/html/about/history.html b/doc/ja/html/about/history.html index bf7b64a20..2c67aa964 100644 --- a/doc/ja/html/about/history.html +++ b/doc/ja/html/about/history.html @@ -73,6 +73,13 @@

    YYYY.MM.DD (Ver 5.4 not released yet)

  • "Drawing resized font to fit cell width" が on のとき、サロゲートペアの文字が存在したとき正しく表示するよう修正した。
  • MACRO: getenv, expandenv, setenv マクロコマンド が Unicode に対応していなかったので修正した。
  • B-Plusの送信ができなくなっていたので修正した。
  • +
  • 次の時 local echo 設定を反映していなかったので修正した。 + +
  • diff --git a/doc/ja/html/usage/mouse.html b/doc/ja/html/usage/mouse.html index a977a272c..9a6035d80 100644 --- a/doc/ja/html/usage/mouse.html +++ b/doc/ja/html/usage/mouse.html @@ -117,7 +117,7 @@

    -
    Send File (Paste content of file)
    +
    Send File (Paste content of file)
    ファイルの内容を端末内に送信(ペースト)します。
    ドロップ内容がファイルだけのとき選択できます。
    diff --git a/teraterm/teraterm/sendmem.cpp b/teraterm/teraterm/sendmem.cpp index 862839ab6..33788658e 100644 --- a/teraterm/teraterm/sendmem.cpp +++ b/teraterm/teraterm/sendmem.cpp @@ -712,7 +712,7 @@ BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType dela return r; } #else -SendMem *SendMemSendFileCom(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max) +SendMem *SendMemSendFileCom(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo) { SendMem *sm; if (!binary) { @@ -743,20 +743,22 @@ SendMem *SendMemSendFileCom(const wchar_t *filename, BOOL binary, SendMemDelayTy SendMemInitDialogCaption(sm, L"send file"); // title SendMemInitDialogFilename(sm, filename); SendMemInitDelay(sm, delay_type, delay_tick, send_max); + SendMemInitEcho(sm, local_echo); + SendMemStart(sm); return sm; } #endif -BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max) +BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo) { - SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max); + SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max, local_echo); return (sm != NULL) ? TRUE : FALSE; } -BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, void (*callback)(void *data), void *callback_data) +BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo, void (*callback)(void *data), void *callback_data) { - SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max); + SendMem *sm = SendMemSendFileCom(filename, binary, delay_type, delay_tick, send_max, local_echo); if (sm == NULL) { return FALSE; } diff --git a/teraterm/teraterm/sendmem.h b/teraterm/teraterm/sendmem.h index 5a1e24e39..9deb1fdff 100644 --- a/teraterm/teraterm/sendmem.h +++ b/teraterm/teraterm/sendmem.h @@ -59,8 +59,8 @@ void SendMemContinuously(void); // convenient function BOOL SendMemPasteString(wchar_t *str); -BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max); -BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, void (*callback)(void *data), void *callback_data); +BOOL SendMemSendFile(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo); +BOOL SendMemSendFile2(const wchar_t *filename, BOOL binary, SendMemDelayType delay_type, DWORD delay_tick, size_t send_max, BOOL local_echo, void (*callback)(void *data), void *callback_data); #ifdef __cplusplus } diff --git a/teraterm/teraterm/ttdde.c b/teraterm/teraterm/ttdde.c index eafc83ff3..b5b784ff4 100644 --- a/teraterm/teraterm/ttdde.c +++ b/teraterm/teraterm/ttdde.c @@ -796,7 +796,7 @@ static HDDEDATA AcceptExecute(HSZ TopicHSz, HDDEDATA Data) BOOL r = FileSendStart(ParamFileNameW, ParamBinaryFlag); #else // 5 で追加した方法で送信 - BOOL r = SendMemSendFile2(ParamFileNameW, ParamBinaryFlag, 0, 0, 0, SendCallback, NULL); + BOOL r = SendMemSendFile2(ParamFileNameW, ParamBinaryFlag, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, ts.LocalEcho, SendCallback, NULL); #endif free(ParamFileNameW); if (r) { diff --git a/teraterm/teraterm/vtwin.cpp b/teraterm/teraterm/vtwin.cpp index 1ced1df21..f8a2c7e2b 100644 --- a/teraterm/teraterm/vtwin.cpp +++ b/teraterm/teraterm/vtwin.cpp @@ -1770,12 +1770,8 @@ LRESULT CVTWindow::OnDropNotify(WPARAM ShowDialog, LPARAM lparam) // cancel break; case DROP_TYPE_SEND_FILE: { - if (!data->TransBin) { - SendMemSendFile2(FileName, FALSE, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, DropSendCallback, data); - } - else { - SendMemSendFile2(FileName, TRUE, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, DropSendCallback, data); - } + const BOOL binary = data->TransBin ? TRUE : FALSE; + SendMemSendFile2(FileName, binary, SENDMEM_DELAYTYPE_NO_DELAY, 0, 0, ts.LocalEcho, DropSendCallback, data); break; } case DROP_TYPE_PASTE_FILENAME: @@ -3996,7 +3992,7 @@ void CVTWindow::OnFileSend() wchar_t *filename = data.filename; if (!data.method_4) { // new file send - SendMemSendFile(filename, data.binary, data.delay_type, data.delay_tick, data.send_size); + SendMemSendFile(filename, data.binary, data.delay_type, data.delay_tick, data.send_size, ts.LocalEcho); } else { // file send same as teraterm 4