[Ttssh2-commit] [9072] 使用しない定数 GTF_SEND に関するコードを削除

Back to archive index
scmno****@osdn***** scmno****@osdn*****
2020年 12月 20日 (日) 21:10:14 JST


Revision: 9072
          https://osdn.net/projects/ttssh2/scm/svn/commits/9072
Author:   zmatsuo
Date:     2020-12-20 21:10:14 +0900 (Sun, 20 Dec 2020)
Log Message:
-----------
使用しない定数 GTF_SEND に関するコードを削除

- DlgCaption の設定を各プロトコルの最初に行うようにした
- ファイル選択ダイアログ関連のコードを整理

Modified Paths:
--------------
    trunk/teraterm/teraterm/filesys_proto.cpp

-------------- next part --------------
Modified: trunk/teraterm/teraterm/filesys_proto.cpp
===================================================================
--- trunk/teraterm/teraterm/filesys_proto.cpp	2020-12-20 12:10:05 UTC (rev 9071)
+++ trunk/teraterm/teraterm/filesys_proto.cpp	2020-12-20 12:10:14 UTC (rev 9072)
@@ -111,22 +111,7 @@
  */
 static size_t _GetFSize(struct FileVarProto *fv, const char *filenameU8)
 {
-	HANDLE h = _CreateFileW(wc::fromUtf8(filenameU8), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING,
-							FILE_ATTRIBUTE_NORMAL, NULL);
-	if (h == INVALID_HANDLE_VALUE) {
-		return 0;
-	}
-
-	DWORD file_size_hi;
-	DWORD file_size_low;
-	file_size_low = GetFileSize(h, &file_size_hi);
-	if (file_size_low == INVALID_FILE_SIZE && GetLastError() != NO_ERROR) {
-		CloseHandle(h);
-		return 0;
-	}
-	CloseHandle(h);
-
-	unsigned long long file_size = ((unsigned long long)file_size_hi << 32) + file_size_low;
+	size_t file_size = GetFSize64W(wc::fromUtf8(filenameU8));
 	return file_size;
 }
 
@@ -490,13 +475,16 @@
 	return FALSE;
 }
 
-static BOOL _GetXFname(HWND HWin, BOOL Receive, LPLONG Option, PFileVarProto fv, PCHAR CurDir)
+static BOOL _GetXFname(HWND HWin, BOOL Receive, LPLONG Option, PFileVarProto fv)
 {
 	LONG opt;
-	BOOL Ok;
 	const char *FileSendFilter = ts.FileSendFilter;
 	const char *UILanguageFile = ts.UILanguageFile;
 
+	char FileDirExpanded[MAX_PATH];
+	ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
+	PCHAR CurDir = FileDirExpanded;
+
 	char *FNFilter = GetCommonDialogFilterA(!Receive ? FileSendFilter : NULL, UILanguageFile);
 
 	fv->FullName[0] = 0;
@@ -544,6 +532,7 @@
 	/* save current dir */
 	wchar_t TempDir[MAXPATHLEN];
 	_GetCurrentDirectoryW(_countof(TempDir), TempDir);
+	BOOL Ok;
 	if (!Receive)
 	{
 		Ok = GetOpenFileName(&ofn);
@@ -746,10 +735,9 @@
 
 #define FnStrMemSize 4096
 
-static BOOL _GetMultiFname(PFileVarProto fv, PCHAR CurDir, WORD FuncId, LPWORD Option)
+static BOOL _GetMultiFname(PFileVarProto fv, WORD FuncId, LPWORD Option)
 {
 	int i, len;
-	char uimsg[MAX_UIMSG];
 	char *FNFilter;
 	OPENFILENAME ofn;
 	wchar_t TempDir[MAXPATHLEN];
@@ -758,33 +746,15 @@
 	const char *FileSendFilter = ts.FileSendFilter;
 	const char *UILanguageFile = ts.UILanguageFile;
 
+	char FileDirExpanded[MAX_PATH];
+	ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
+	PCHAR CurDir = FileDirExpanded;
+
 	/* save current dir */
 	_GetCurrentDirectoryW(_countof(TempDir), TempDir);
 
 	fv->NumFname = 0;
 
-	strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
-	switch (FuncId) {
-	case GMF_KERMIT:
-		get_lang_msg("FILEDLG_TRANS_TITLE_KMTSEND", uimsg, sizeof(uimsg), TitKmtSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case GMF_Z:
-		get_lang_msg("FILEDLG_TRANS_TITLE_ZSEND", uimsg, sizeof(uimsg), TitZSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case GMF_QV:
-		get_lang_msg("FILEDLG_TRANS_TITLE_QVSEND", uimsg, sizeof(uimsg), TitQVSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case GMF_Y:
-		get_lang_msg("FILEDLG_TRANS_TITLE_YSEND", uimsg, sizeof(uimsg), TitYSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	default:
-		return FALSE;
-	}
-
 	/* moemory should be zero-initialized */
 	fv->FnStrMemHandle = GlobalAlloc(GHND, FnStrMemSize);
 	if (fv->FnStrMemHandle == NULL) {
@@ -869,12 +839,6 @@
 			fv->FnPtr = strlen(fv->FnStrMem)+1;
 		}
 
-		memcpy(CurDir,fv->FullName,fv->DirLen);
-		CurDir[fv->DirLen] = 0;
-		if ((fv->DirLen>3) &&
-		    (CurDir[fv->DirLen-1]=='\\'))
-			CurDir[fv->DirLen-1] = 0;
-
 		fv->FNCount = 0;
 	}
 
@@ -893,89 +857,35 @@
 static void _SetFileVar(PFileVarProto fv)
 {
 	int i;
-	char uimsg[MAX_UIMSG];
 	char c;
-	const char *UILanguageFile = ts.UILanguageFile;
 
 	GetFileNamePos(fv->FullName,&(fv->DirLen),&i);
 	c = fv->FullName[fv->DirLen];
 	if (c=='\\'||c=='/') fv->DirLen++;
-	strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
-	switch (fv->OpId) {
-	case OpKmtRcv:
-		get_lang_msg("FILEDLG_TRANS_TITLE_KMTRCV", uimsg, sizeof(uimsg), TitKmtRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpKmtGet:
-		get_lang_msg("FILEDLG_TRANS_TITLE_KMTGET", uimsg, sizeof(uimsg), TitKmtGet, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpKmtSend:
-		get_lang_msg("FILEDLG_TRANS_TITLE_KMTSEND", uimsg, sizeof(uimsg), TitKmtSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpKmtFin:
-		get_lang_msg("FILEDLG_TRANS_TITLE_KMTFIN", uimsg, sizeof(uimsg), TitKmtFin, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpXRcv:
-		get_lang_msg("FILEDLG_TRANS_TITLE_XRCV", uimsg, sizeof(uimsg), TitXRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpXSend:
-		get_lang_msg("FILEDLG_TRANS_TITLE_XSEND", uimsg, sizeof(uimsg), TitXSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpYRcv:
-		get_lang_msg("FILEDLG_TRANS_TITLE_YRCV", uimsg, sizeof(uimsg), TitYRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpYSend:
-		get_lang_msg("FILEDLG_TRANS_TITLE_YSEND", uimsg, sizeof(uimsg), TitYSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpZRcv:
-		get_lang_msg("FILEDLG_TRANS_TITLE_ZRCV", uimsg, sizeof(uimsg), TitZRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpZSend:
-		get_lang_msg("FILEDLG_TRANS_TITLE_ZSEND", uimsg, sizeof(uimsg), TitZSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpBPRcv:
-		get_lang_msg("FILEDLG_TRANS_TITLE_BPRCV", uimsg, sizeof(uimsg), TitBPRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpBPSend:
-		get_lang_msg("FILEDLG_TRANS_TITLE_BPSEND", uimsg, sizeof(uimsg), TitBPSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpQVRcv:
-		get_lang_msg("FILEDLG_TRANS_TITLE_QVRCV", uimsg, sizeof(uimsg), TitQVRcv, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case OpQVSend:
-		get_lang_msg("FILEDLG_TRANS_TITLE_QVSEND", uimsg, sizeof(uimsg), TitQVSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	}
 }
 
 void KermitStart(int mode)
 {
 	WORD w;
+	char uimsg[MAX_UIMSG];
+	const char *UILanguageFile = ts.UILanguageFile;
 
 	if (! ProtoStart())
 		return;
 
+	TFileVarProto *fv = FileVar;
+
 	switch (mode) {
 		case IdKmtSend:
 			FileVar->OpId = OpKmtSend;
+
+			strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+			get_lang_msg("FILEDLG_TRANS_TITLE_KMTSEND", uimsg, sizeof(uimsg), TitKmtSend, UILanguageFile);
+			strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 			if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 			{
-				char FileDirExpanded[MAX_PATH];
-				ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
-				if (!_GetMultiFname(FileVar, FileDirExpanded, GMF_KERMIT, &w) ||
+				if (!_GetMultiFname(FileVar, GMF_KERMIT, &w) ||
 				    (FileVar->NumFname==0))
 				{
 					ProtoEnd();
@@ -987,9 +897,19 @@
 			break;
 		case IdKmtReceive:
 			FileVar->OpId = OpKmtRcv;
+
+			strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+			get_lang_msg("FILEDLG_TRANS_TITLE_KMTRCV", uimsg, sizeof(uimsg), TitKmtRcv, UILanguageFile);
+			strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 			break;
 		case IdKmtGet:
 			FileVar->OpId = OpKmtSend;
+
+			strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+			get_lang_msg("FILEDLG_TRANS_TITLE_KMTGET", uimsg, sizeof(uimsg), TitKmtGet, UILanguageFile);
+			strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 			if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 			{
 				if (! _GetGetFname(FileVar->HMainWin,FileVar, &ts) ||
@@ -1004,6 +924,11 @@
 			break;
 		case IdKmtFinish:
 			FileVar->OpId = OpKmtFin;
+
+			strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+			get_lang_msg("FILEDLG_TRANS_TITLE_KMTFIN", uimsg, sizeof(uimsg), TitKmtFin, UILanguageFile);
+			strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 			break;
 		default:
 			ProtoEnd();
@@ -1080,22 +1005,34 @@
 {
 	LONG Option;
 	int tmp;
+	const char *UILanguageFile = ts.UILanguageFile;
+	char uimsg[MAX_UIMSG];
 
 	if (! ProtoStart())
 		return;
 
-	if (mode==IdXReceive)
+	TFileVarProto *fv = FileVar;
+
+	if (mode==IdXReceive) {
 		FileVar->OpId = OpXRcv;
-	else
+
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_XRCV", uimsg, sizeof(uimsg), TitXRcv, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+	}
+	else {
 		FileVar->OpId = OpXSend;
 
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_XSEND", uimsg, sizeof(uimsg), TitXSend, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+	}
+
 	if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 	{
-		char FileDirExpanded[MAX_PATH];
-		ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
 		Option = MAKELONG(ts.XmodemBin,ts.XmodemOpt);
 		if (! _GetXFname(FileVar->HMainWin,
-						 mode==IdXReceive,&Option,FileVar,FileDirExpanded))
+						 mode==IdXReceive,&Option,FileVar))
 		{
 			ProtoEnd();
 			return;
@@ -1230,14 +1167,19 @@
 void YMODEMStart(int mode)
 {
 	WORD Opt;
+	char uimsg[MAX_UIMSG];
+	const char *UILanguageFile = ts.UILanguageFile;
 
 	if (! ProtoStart())
 		return;
 
+	TFileVarProto *fv = FileVar;
+
 	if (mode==IdYSend)
 	{
-		char FileDirExpanded[MAX_PATH];
-		ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_YSEND", uimsg, sizeof(uimsg), TitYSend, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
 
 		// \x83t\x83@\x83C\x83\x8B\x93]\x91\x97\x8E\x9E\x82̃I\x83v\x83V\x83\x87\x83\x93\x82\xCD"Yopt1K"\x82Ɍ\x88\x82ߑł\xBF\x81B
 		// TODO: "Yopt1K", "YoptG", "YoptSingle"\x82\xF0\x8B\xE6\x95ʂ\xB5\x82\xBD\x82\xA2\x82Ȃ\xE7\x82΁AIDD_FOPT\x82\xF0\x8Ag\x92\xA3\x82\xB7\x82\xE9\x95K\x97v\x82\xA0\x82\xE8\x81B
@@ -1245,7 +1187,7 @@
 		FileVar->OpId = OpYSend;
 		if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 		{
-			if (! _GetMultiFname(FileVar,FileDirExpanded,GMF_Y,&Opt) ||
+			if (! _GetMultiFname(FileVar, GMF_Y,&Opt) ||
 			    (FileVar->NumFname==0))
 			{
 				ProtoEnd();
@@ -1258,6 +1200,11 @@
 	}
 	else {
 		FileVar->OpId = OpYRcv;
+
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_YRCV", uimsg, sizeof(uimsg), TitYRcv, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 		// \x83t\x83@\x83C\x83\x8B\x93]\x91\x97\x8E\x9E\x82̃I\x83v\x83V\x83\x87\x83\x93\x82\xCD"Yopt1K"\x82Ɍ\x88\x82ߑł\xBF\x81B
 		Opt = Yopt1K;
 		_SetFileVar(FileVar);
@@ -1305,19 +1252,25 @@
 void ZMODEMStart(int mode)
 {
 	WORD Opt;
+	char uimsg[MAX_UIMSG];
+	const char *UILanguageFile = ts.UILanguageFile;
 
 	if (! ProtoStart())
 		return;
 
+	TFileVarProto *fv = FileVar;
+
 	if (mode == IdZSend || mode == IdZAutoS)
 	{
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_ZSEND", uimsg, sizeof(uimsg), TitZSend, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 		Opt = ts.XmodemBin;
 		FileVar->OpId = OpZSend;
 		if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 		{
-			char FileDirExpanded[MAX_PATH];
-			ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
-			if (! _GetMultiFname(FileVar,FileDirExpanded,GMF_Z,&Opt) ||
+			if (! _GetMultiFname(FileVar, GMF_Z,&Opt) ||
 			    (FileVar->NumFname==0))
 			{
 				if (mode == IdZAutoS) {
@@ -1331,9 +1284,15 @@
 		else
 		_SetFileVar(FileVar);
 	}
-	else /* IdZReceive or IdZAutoR */
+	else {
+		/* IdZReceive or IdZAutoR */
 		FileVar->OpId = OpZRcv;
 
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_ZRCV", uimsg, sizeof(uimsg), TitZRcv, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+	}
+
 	TalkStatus = IdTalkQuiet;
 
 	/* disable transmit delay (serial port) */
@@ -1378,44 +1337,25 @@
 	return TRUE;
 }
 
-/* GetTransFname function id */
-#define GTF_SEND 0 /* Send file */
-#define GTF_BP   2 /* B-Plus Send */
-
-static BOOL _GetTransFname(PFileVarProto fv, PCHAR CurDir, WORD FuncId, LPLONG Option)
+static BOOL _GetTransFname(PFileVarProto fv, const char *DlgCaption)
 {
-	char uimsg[MAX_UIMSG];
-	char *FNFilter;
-	OPENFILENAME ofn;
-	WORD optw;
 	wchar_t TempDir[MAXPATHLEN];
-	BOOL Ok;
 	char FileName[MAX_PATH];
 	const char *UILanguageFile = ts.UILanguageFile;
 
+	char FileDirExpanded[MAX_PATH];
+	ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
+	PCHAR CurDir = FileDirExpanded;
+
 	/* save current dir */
 	_GetCurrentDirectoryW(_countof(TempDir), TempDir);
 
-	memset(&ofn, 0, sizeof(OPENFILENAME));
+	char *FNFilter = GetCommonDialogFilterA(ts.FileSendFilter, UILanguageFile);
 
-	strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
-	switch (FuncId) {
-	case GTF_SEND:
-		get_lang_msg("FILEDLG_TRANS_TITLE_SENDFILE", uimsg, sizeof(uimsg), TitSendFile, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	case GTF_BP:
-		get_lang_msg("FILEDLG_TRANS_TITLE_BPSEND", uimsg, sizeof(uimsg), TitBPSend, UILanguageFile);
-		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
-		break;
-	default:
-		return FALSE;
-	}
-
-	FNFilter = GetCommonDialogFilterA(ts.FileSendFilter, UILanguageFile);
-
 	ExtractFileName(fv->FullName, FileName ,sizeof(FileName));
 	strncpy_s(fv->FullName, sizeof(fv->FullName), FileName, _TRUNCATE);
+
+	OPENFILENAME ofn = {};
 	ofn.lStructSize = get_OPENFILENAME_SIZE();
 	ofn.hwndOwner   = fv->HMainWin;
 	ofn.lpstrFilter = FNFilter;
@@ -1424,39 +1364,19 @@
 	ofn.nMaxFile = sizeof(fv->FullName);
 	ofn.lpstrInitialDir = CurDir;
 
-	switch (FuncId) {
-	case GTF_SEND:
-		ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
-		ofn.Flags |= OFN_ENABLETEMPLATE | OFN_ENABLEHOOK | OFN_EXPLORER | OFN_ENABLESIZING;
-		ofn.lpTemplateName = MAKEINTRESOURCE(IDD_FOPT);
+	ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
 
-		ofn.lpfnHook = (LPOFNHOOKPROC)(&TransFnHook);
-		optw = (WORD)*Option;
-		ofn.lCustData = (LPARAM)&optw;
-		break;
-	case GTF_BP:
-		ofn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
-		break;
-	}
-
 	ofn.Flags |= OFN_SHOWHELP;
 
-	ofn.lpstrTitle = fv->DlgCaption;
+	ofn.lpstrTitle = DlgCaption;
 
 	ofn.hInstance = hInst;
 
-	Ok = GetOpenFileName(&ofn);
+	BOOL Ok = GetOpenFileName(&ofn);
 	free(FNFilter);
 
 	if (Ok) {
-		*Option = (long)optw;
-
 		fv->DirLen = ofn.nFileOffset;
-
-		if (CurDir!=NULL) {
-			memcpy(CurDir,fv->FullName,fv->DirLen-1);
-			CurDir[fv->DirLen-1] = 0;
-		}
 	}
 	/* restore dir */
 	_SetCurrentDirectoryW(TempDir);
@@ -1465,19 +1385,26 @@
 
 void BPStart(int mode)
 {
-	LONG Option = 0;
+	char uimsg[MAX_UIMSG];
+	const char *UILanguageFile = ts.UILanguageFile;
 
 	if (! ProtoStart())
 		return;
+
+	TFileVarProto *fv = FileVar;
+
 	if (mode==IdBPSend)
 	{
 		FileVar->OpId = OpBPSend;
+
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_BPSEND", uimsg, sizeof(uimsg), TitBPSend, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 		if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 		{
-			char FileDirExpanded[MAX_PATH];
-			ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
 			FileVar->FullName[0] = 0;
-			if (! _GetTransFname(FileVar, FileDirExpanded, GTF_BP, &Option))
+			if (! _GetTransFname(FileVar, FileVar->DlgCaption))
 			{
 				ProtoEnd();
 				return;
@@ -1486,9 +1413,15 @@
 		else
 			_SetFileVar(FileVar);
 	}
-	else /* IdBPReceive or IdBPAuto */
+	else {
+		/* IdBPReceive or IdBPAuto */
 		FileVar->OpId = OpBPRcv;
 
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_BPRCV", uimsg, sizeof(uimsg), TitBPRcv, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+	}
+
 	TalkStatus = IdTalkQuiet;
 
 	/* disable transmit delay (serial port) */
@@ -1532,18 +1465,24 @@
 void QVStart(int mode)
 {
 	WORD W;
+	char uimsg[MAX_UIMSG];
+	const char *UILanguageFile = ts.UILanguageFile;
 
 	if (! ProtoStart())
 		return;
 
+	TFileVarProto *fv = FileVar;
+
 	if (mode==IdQVSend)
 	{
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_QVSEND", uimsg, sizeof(uimsg), TitQVSend, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+
 		FileVar->OpId = OpQVSend;
 		if (strlen(&(FileVar->FullName[FileVar->DirLen]))==0)
 		{
-			char FileDirExpanded[MAX_PATH];
-			ExpandEnvironmentStrings(ts.FileDir, FileDirExpanded, sizeof(FileDirExpanded));
-			if (! _GetMultiFname(FileVar,FileDirExpanded,GMF_QV, &W) ||
+			if (! _GetMultiFname(FileVar, GMF_QV, &W) ||
 			    (FileVar->NumFname==0))
 			{
 				ProtoEnd();
@@ -1553,9 +1492,14 @@
 		else
 			_SetFileVar(FileVar);
 	}
-	else
+	else {
 		FileVar->OpId = OpQVRcv;
 
+		strncpy_s(fv->DlgCaption, sizeof(fv->DlgCaption),"Tera Term: ", _TRUNCATE);
+		get_lang_msg("FILEDLG_TRANS_TITLE_QVRCV", uimsg, sizeof(uimsg), TitQVRcv, UILanguageFile);
+		strncat_s(fv->DlgCaption, sizeof(fv->DlgCaption), uimsg, _TRUNCATE);
+	}
+
 	TalkStatus = IdTalkQuiet;
 
 	/* disable transmit delay (serial port) */


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