Revision: 8857 https://osdn.net/projects/ttssh2/scm/svn/commits/8857 Author: zmatsuo Date: 2020-07-26 00:59:47 +0900 (Sun, 26 Jul 2020) Log Message: ----------- ログ関連API追加,ftdlg修正 - FLogWindow() 追加 - グローバル変数 HWND HWndLog 削除 - FLogPause() 追加 - FLogChangeButton() を static関数に変更 - FLogShowDlg() 追加 - ShowFTDlg() を static関数に変更 - FLogIsPause()追加 - ftdlg - cv->FilePauseを操作しないようにした - FileTransPause()#filesys を追加 - WM_USER_FTCANCEL メッセージを削除 - FileTransEnd() を直接コール Modified Paths: -------------- trunk/teraterm/common/tttypes.h trunk/teraterm/teraterm/filesys.cpp trunk/teraterm/teraterm/filesys.h trunk/teraterm/teraterm/ftdlg.cpp trunk/teraterm/teraterm/ftdlg.h trunk/teraterm/teraterm/teraterm.cpp trunk/teraterm/teraterm/ttdde.c trunk/teraterm/teraterm/ttdde.h trunk/teraterm/teraterm/vtwin.cpp -------------- next part -------------- Modified: trunk/teraterm/common/tttypes.h =================================================================== --- trunk/teraterm/common/tttypes.h 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/common/tttypes.h 2020-07-25 15:59:47 UTC (rev 8857) @@ -139,7 +139,7 @@ #define WM_USER_COMMSTART WM_USER+6 #define WM_USER_DLGHELP2 WM_USER+7 #define WM_USER_GETHOST WM_USER+8 -#define WM_USER_FTCANCEL WM_USER+9 +//#define WM_USER_FTCANCEL WM_USER+9 #define WM_USER_PROTOCANCEL WM_USER+10 #define WM_USER_CHANGETBAR WM_USER+11 #define WM_USER_KEYCODE WM_USER+12 Modified: trunk/teraterm/teraterm/filesys.cpp =================================================================== --- trunk/teraterm/teraterm/filesys.cpp 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/filesys.cpp 2020-07-25 15:59:47 UTC (rev 8857) @@ -89,8 +89,6 @@ static BOOL FSend = FALSE; -HWND HWndLog = NULL; //steven add - static HMODULE HTTFILE = NULL; static int TTFILECount = 0; @@ -101,7 +99,7 @@ PSetFileVar SetFileVar; PGetXFname GetXFname; PProtoInit ProtoInit; -PProtoParse ProtoParse; +static PProtoParse ProtoParse; PProtoTimeOutProc ProtoTimeOutProc; PProtoCancel ProtoCancel; PTTFILESetUILanguageFile TTFILESetUILanguageFile; @@ -266,6 +264,7 @@ fv->StartTime = 0; fv->ProgStat = 0; + cv.FilePause &= ~fv->OpId; if (fv->OpId != OpLog) { fv->HideDialog = ts.FTHideDialog; @@ -275,9 +274,6 @@ { FTDlg->Create(hInst, HVTWin, fv, &cv, &ts); FTDlg->RefreshNum(); - if (fv->OpId == OpLog) { - HWndLog = FTDlg->m_hWnd; // steven add - } } if (fv->OpId==OpLog) @@ -286,16 +282,11 @@ SendDlg = FTDlg; /* File send */ fv->StartTime = GetTickCount(); - if (fv->OpId == OpSendFile) { - HWND HFTDlg = FTDlg->GetSafeHwnd(); - InitDlgProgress(HFTDlg, IDC_TRANSPROGRESS, &fv->ProgStat); - ShowWindow(GetDlgItem(HFTDlg, IDC_TRANS_ELAPSED), SW_SHOW); - } return (FTDlg!=NULL); } -void ShowFTDlg(WORD OpId) +static void ShowFTDlg(WORD OpId) { if (OpId == OpLog) { if (FLogDlg != NULL) { @@ -1173,7 +1164,7 @@ WriteBufLen = 0; WriteBuf = (PCHAR)malloc(WriteBufMax); while (Get1(Buf,&Start,&Count,&b)) { - if (((cv.FilePause & OpLog)==0) && (! cv.ProtoFlag)) + if (!FLogIsPause() && (! cv.ProtoFlag)) { tmp[0] = 0; if ( ts.LogTimestamp && eLineEnd ) { @@ -1229,7 +1220,7 @@ while (Get1(Buf,&Start,&Count,&b)) { - if (((cv.FilePause & OpLog)==0) && (! cv.ProtoFlag)) + if (!FLogIsPause() && (! cv.ProtoFlag)) { if ( ts.LogTimestamp && eLineEnd ) { char *strtime = NULL; @@ -1279,7 +1270,7 @@ cv.BStart = Start; cv.BCount = Count; } - if (((cv.FilePause & OpLog) !=0) || cv.ProtoFlag) return; + if (FLogIsPause() || cv.ProtoFlag) return; if (FLogDlg!=NULL) FLogDlg->RefreshNum(); @@ -1430,7 +1421,6 @@ { FLogDlg->DestroyWindow(); FLogDlg = NULL; - HWndLog = NULL; // steven add } FreeFileVar(&LogVar); FreeLogBuf(); @@ -1454,6 +1444,16 @@ EndDdeCmnd(0); } +void FileTransPause(WORD OpId, BOOL Pause) +{ + if (Pause) { + cv.FilePause |= OpId; + } + else { + cv.FilePause &= ~OpId; + } +} + int FSOut1(BYTE b) { if (BinaryMode) @@ -1637,20 +1637,19 @@ FileTransEnd(OpSendFile); } -void FLogChangeButton(BOOL Pause) +/** + * \x83\x8D\x83O\x82\xF0\x83|\x81[\x83Y\x82\xB7\x82\xE9 + * \x8C\xB3\x82\xCD FLogChangeButton() \x82\xBE\x82\xC1\x82\xBD + */ +void FLogPause(BOOL Pause) { if (FLogDlg!=NULL) FLogDlg->ChangeButton(Pause); + FileTransPause(OpLog, Pause); } -void FLogRefreshNum() +static BOOL OpenProtoDlg(PFileVar fv, int IdProto, int Mode, WORD Opt1, WORD Opt2) { - if (FLogDlg!=NULL) - FLogDlg->RefreshNum(); -} - -BOOL OpenProtoDlg(PFileVar fv, int IdProto, int Mode, WORD Opt1, WORD Opt2) -{ int vsize; PProtoDlg pd; @@ -1724,7 +1723,7 @@ return TRUE; } -void CloseProtoDlg() +static void CloseProtoDlg() { if (PtDlg!=NULL) { @@ -1746,7 +1745,7 @@ } } -BOOL ProtoStart() +static BOOL ProtoStart() { if (cv.ProtoFlag) return FALSE; @@ -1790,6 +1789,13 @@ FreeFileVar(&FileVar); } +/** + * OnIdle()#teraterm.cpp\x82\xA9\x82\xE7\x83R\x81[\x83\x8B\x82\xB3\x82\xEA\x82\xE9 + * cv.ProtoFlag \x82\xAA 0 \x88ȊO\x82̂Ƃ\xAB + * @retval 0 continue + * 1/2 ActiveWin(\x83O\x83\x8D\x81[\x83o\x83\x8B\x95ϐ\x94)\x82̒l(IdVT=1/IdTek=2) + * \x92\x8D \x8D\xA1\x82̂Ƃ\xB1\x82\xEB\x8ÊĂ\xE7\x82\xEA\x82Ă\xA2\x82\xE9 + */ int ProtoDlgParse() { int P; @@ -2245,7 +2251,8 @@ WriteFile(LogVar->FileHandle, str, len, &wrote, NULL); LogVar->ByteCount = LogVar->ByteCount + len; - FLogRefreshNum(); + if (FLogDlg!=NULL) + FLogDlg->RefreshNum(); } } @@ -2343,3 +2350,26 @@ return _strdup(full_path); } + +BOOL FLogIsPause() +{ + return ((cv.FilePause & OpLog) !=0); +} + +void FLogWindow(int nCmdShow) +{ + if (FLogDlg == NULL) + return; + + HWND HWndLog = FLogDlg->m_hWnd; + ShowWindow(HWndLog, nCmdShow); + if (nCmdShow == SW_RESTORE) { + // \x8Ag\x92\xA3\x83X\x83^\x83C\x83\x8B WS_EX_NOACTIVATE \x8F\xF3\x91Ԃ\xF0\x89\xF0\x8F\x9C\x82\xB7\x82\xE9 + SetForegroundWindow(HWndLog); + } +} + +void FLogShowDlg(void) +{ + ShowFTDlg(OpLog); +} Modified: trunk/teraterm/teraterm/filesys.h =================================================================== --- trunk/teraterm/teraterm/filesys.h 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/filesys.h 2020-07-25 15:59:47 UTC (rev 8857) @@ -62,7 +62,7 @@ extern PSetFileVar SetFileVar; extern PGetXFname GetXFname; extern PProtoInit ProtoInit; -extern PProtoParse ProtoParse; +//extern PProtoParse ProtoParse; extern PProtoTimeOutProc ProtoTimeOutProc; extern PProtoCancel ProtoCancel; extern PTTFILESetUILanguageFile TTFILESetUILanguageFile; @@ -70,7 +70,7 @@ BOOL LoadTTFILE(); BOOL FreeTTFILE(); -void ShowFTDlg(WORD OpId); +//void ShowFTDlg(WORD OpId); BOOL NewFileVar(PFileVar *FV); void FreeFileVar(PFileVar *FV); @@ -83,9 +83,10 @@ void FileSendStart(); void FileSend(); -void FLogChangeButton(BOOL Pause); -void FLogRefreshNum(); +//void FLogChangeButton(BOOL Pause); +void FLogPause(BOOL Pause); void FileTransEnd(WORD OpId); +void FileTransPause(WORD OpId, BOOL Pause); void ProtoEnd(); int ProtoDlgParse(); @@ -116,6 +117,9 @@ const char *LogGetFilename(); BOOL LogOpenDialog(char **filename); char *LogGetLogFilename(const char *log_filename); +BOOL FLogIsPause(void); +void FLogWindow(int nCmdShow); +void FLogShowDlg(void); #ifdef __cplusplus } Modified: trunk/teraterm/teraterm/ftdlg.cpp =================================================================== --- trunk/teraterm/teraterm/ftdlg.cpp 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/ftdlg.cpp 2020-07-25 15:59:47 UTC (rev 8857) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2007-2019 TeraTerm Project + * (C) 2007-2020 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -33,7 +33,6 @@ #include <stdio.h> #include <windows.h> #include <commctrl.h> -#include <tchar.h> #include "teraterm.h" #include "tttypes.h" @@ -44,6 +43,7 @@ #include "ftdlg.h" #include "teraterml.h" #include "helpid.h" +#include "filesys.h" ///////////////////////////////////////////////////////////////////////////// // CFileTransDlg dialog @@ -55,9 +55,7 @@ HWND hwnd; fv = pfv; - cv = pcv; - cv->FilePause &= ~fv->OpId; - ts = pts; + UILanguageFile = pts->UILanguageFile; Pause = FALSE; hwnd = GetForegroundWindow(); @@ -67,6 +65,10 @@ else { // parent window is VT window Ok = TTCDialog::Create(hInstance, NULL, IDD_FILETRANSDLG); } + if (fv->OpId == OpSendFile) { + InitDlgProgress(m_hWnd, IDC_TRANSPROGRESS, &fv->ProgStat); + ::ShowWindow(GetDlgItem(IDC_TRANS_ELAPSED), SW_SHOW); + } if (!fv->HideDialog) { // Visible = False \x82̃_\x83C\x83A\x83\x8D\x83O\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9 @@ -86,18 +88,23 @@ return Ok; } +/** + * \x83e\x83L\x83X\x83g\x82̕ύX\x82̂\xDD + */ void CFileTransDlg::ChangeButton(BOOL PauseFlag) { Pause = PauseFlag; if (Pause) { - get_lang_msg("DLG_FILETRANS_START", ts->UIMsg, sizeof(ts->UIMsg), "&Start", ts->UILanguageFile); - SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg); - cv->FilePause |= fv->OpId; + static const DlgTextInfo TextInfos[] = { + { IDC_TRANSPAUSESTART, "DLG_FILETRANS_START" }, + }; + SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), UILanguageFile); } else { - get_lang_msg("DLG_FILETRANS_PAUSE", ts->UIMsg, sizeof(ts->UIMsg), "Pau&se", ts->UILanguageFile); - SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg); - cv->FilePause &= ~fv->OpId; + static const DlgTextInfo TextInfos[] = { + { IDC_TRANSPAUSESTART, "DLG_FILETRANS_PAUSE" }, + }; + SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), UILanguageFile); } } @@ -179,7 +186,7 @@ // \x83\x8D\x83O\x83t\x83@\x83C\x83\x8B\x82̓t\x83\x8B\x83p\x83X\x95\\x8E\xA6\x82ɂ\xB7\x82\xE9(2004.8.6 yutaka) SetDlgItemText(IDC_EDIT_FULLPATH, &(fv->FullName[0])); - SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), ts->UILanguageFile); + SetDlgTexts(m_hWnd, TextInfos, _countof(TextInfos), UILanguageFile); if (IsWindowsNT4()) { fuLoad = LR_VGACOLOR; @@ -203,7 +210,8 @@ BOOL CFileTransDlg::OnCancel( ) { - ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); + //::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); + FileTransEnd(fv->OpId); return TRUE; } @@ -210,11 +218,9 @@ BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam) { switch (LOWORD(wParam)) { - case IDCANCEL: - ::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); - return TRUE; case IDC_TRANSPAUSESTART: ChangeButton(! Pause); + FileTransPause(fv->OpId, Pause); return TRUE; case IDC_TRANSHELP: if (fv->OpId == OpLog) { Modified: trunk/teraterm/teraterm/ftdlg.h =================================================================== --- trunk/teraterm/teraterm/ftdlg.h 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/ftdlg.h 2020-07-25 15:59:47 UTC (rev 8857) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2007-2019 TeraTerm Project + * (C) 2007-2020 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,7 +47,6 @@ void RefreshNum(); private: -//protected: virtual BOOL OnCancel(); virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); virtual BOOL PostNcDestroy(); @@ -55,11 +54,10 @@ private: PFileVar fv; - PComVar cv; BOOL Pause; - PTTSet ts; HANDLE SmallIcon; HANDLE BigIcon; + const char *UILanguageFile; }; typedef CFileTransDlg *PFileTransDlg; Modified: trunk/teraterm/teraterm/teraterm.cpp =================================================================== --- trunk/teraterm/teraterm/teraterm.cpp 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/teraterm.cpp 2020-07-25 15:59:47 UTC (rev 8857) @@ -121,7 +121,7 @@ static BOOL OnIdle(LONG lCount) { static int Busy = 2; - int Change, nx, ny; + int nx, ny; BOOL Size; if (lCount==0) Busy = 2; @@ -151,6 +151,7 @@ } } else { + int Change; if (cv.ProtoFlag) Change = ProtoDlgParse(); else { switch (ActiveWin) { Modified: trunk/teraterm/teraterm/ttdde.c =================================================================== --- trunk/teraterm/teraterm/ttdde.c 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/ttdde.c 2020-07-25 15:59:47 UTC (rev 8857) @@ -555,10 +555,10 @@ } break; case CmdLogPause: - FLogChangeButton(TRUE); + FLogPause(TRUE); break; case CmdLogStart: - FLogChangeButton(FALSE); + FLogPause(FALSE); break; case CmdLogWrite: LogWriteStr(ParamFileName); @@ -640,25 +640,13 @@ PostMessage(HVTWin,WM_USER_ACCELCOMMAND,IdCmdCtrlCloseTEK,0); break; case '6': //steven add - if (HWndLog == NULL) - break; - else - ShowWindow(HWndLog, SW_HIDE); + FLogWindow(SW_HIDE); break; case '7': //steven add - if (HWndLog == NULL) - break; - else - ShowWindow(HWndLog, SW_MINIMIZE); + FLogWindow(SW_MINIMIZE); break; case '8': //steven add - if (HWndLog == NULL) - break; - else { - ShowWindow(HWndLog, SW_RESTORE); - // \x8Ag\x92\xA3\x83X\x83^\x83C\x83\x8B WS_EX_NOACTIVATE \x8F\xF3\x91Ԃ\xF0\x89\xF0\x8F\x9C\x82\xB7\x82\xE9 - SetForegroundWindow(HWndLog); - } + FLogWindow(SW_RESTORE); break; } break; Modified: trunk/teraterm/teraterm/ttdde.h =================================================================== --- trunk/teraterm/teraterm/ttdde.h 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/ttdde.h 2020-07-25 15:59:47 UTC (rev 8857) @@ -1,6 +1,6 @@ /* * Copyright (C) 1994-1998 T. Teranishi - * (C) 2008-2017 TeraTerm Project + * (C) 2008-2020 TeraTerm Project * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -47,9 +47,7 @@ extern HCONV ConvH; extern BOOL AdvFlag; extern BOOL CloseTT; -extern HWND HWndLog; //steven add #ifdef __cplusplus } #endif - Modified: trunk/teraterm/teraterm/vtwin.cpp =================================================================== --- trunk/teraterm/teraterm/vtwin.cpp 2020-07-25 15:59:33 UTC (rev 8856) +++ trunk/teraterm/teraterm/vtwin.cpp 2020-07-25 15:59:47 UTC (rev 8857) @@ -1254,7 +1254,7 @@ EnableMenuItem(FileMenu,ID_FILE_SHOWLOGDIALOG, MF_BYCOMMAND | MF_ENABLED); EnableMenuItem(FileMenu,ID_FILE_PAUSELOG, MF_BYCOMMAND | MF_ENABLED); EnableMenuItem(FileMenu,ID_FILE_STOPLOG, MF_BYCOMMAND | MF_ENABLED); - if (cv.FilePause & OpLog) { + if (FLogIsPause()) { CheckMenuItem(FileMenu,ID_FILE_PAUSELOG, MF_BYCOMMAND | MF_CHECKED); } else { @@ -3693,11 +3693,13 @@ return 0; } +#if 0 LRESULT CVTWindow::OnFileTransEnd(WPARAM wParam, LPARAM lParam) { FileTransEnd(wParam); return 0; } +#endif LRESULT CVTWindow::OnGetSerialNo(WPARAM wParam, LPARAM lParam) { @@ -4183,17 +4185,16 @@ } } - // \x89B\x82\xB5\x82Ă\xA2\x82郍\x83O\x83_\x83C\x83A\x83\x8D\x83O\x82\xF0\x95\\x8E\xA6\x82\xB7\x82\xE9 (2008.2.3 maya) void CVTWindow::OnShowLogDialog() { - ShowFTDlg(OpLog); + FLogShowDlg(); } // \x83\x8D\x83O\x8E擾\x82𒆒f/\x8DĊJ\x82\xB7\x82\xE9 void CVTWindow::OnPauseLog() { - FLogChangeButton(!(cv.FilePause & OpLog)); + FLogPause(FLogIsPause() ? FALSE : TRUE); } // \x83\x8D\x83O\x8E擾\x82\xF0\x8FI\x97\xB9\x82\xB7\x82\xE9 @@ -5862,9 +5863,11 @@ case WM_USER_DLGHELP2: OnDlgHelp(wp, lp); break; +#if 0 case WM_USER_FTCANCEL: OnFileTransEnd(wp, lp); break; +#endif case WM_USER_GETSERIALNO: retval = OnGetSerialNo(wp, lp); break;