[Ttssh2-commit] [8857] ログ関連API追加,ftdlg修正

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 7月 26日 (日) 00:59:47 JST


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;


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