1 |
/* Tera Term |
/* Tera Term |
2 |
Copyright(C) 1994-1998 T. Teranishi |
Copyright(C) 1994-1998 T. Teranishi |
3 |
All rights reserved. */ |
All rights reserved. */ |
4 |
|
|
5 |
/* TERATERM.EXE, file transfer dialog box */ |
/* TERATERM.EXE, file transfer dialog box */ |
6 |
#include "stdafx.h" |
#include "stdafx.h" |
7 |
#include "teraterm.h" |
#include "teraterm.h" |
8 |
#include "tttypes.h" |
#include "tttypes.h" |
9 |
#include "ttftypes.h" |
#include "ttftypes.h" |
10 |
#include "ttlib.h" |
#include "ttlib.h" |
11 |
#include "tt_res.h" |
#include "tt_res.h" |
12 |
#include "ftdlg.h" |
#include "ftdlg.h" |
13 |
|
|
14 |
#ifdef _DEBUG |
#ifdef _DEBUG |
15 |
#define new DEBUG_NEW |
#define new DEBUG_NEW |
16 |
#undef THIS_FILE |
#undef THIS_FILE |
17 |
static char THIS_FILE[] = __FILE__; |
static char THIS_FILE[] = __FILE__; |
18 |
#endif |
#endif |
19 |
|
|
20 |
///////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////// |
21 |
// CFileTransDlg dialog |
// CFileTransDlg dialog |
22 |
|
|
23 |
BEGIN_MESSAGE_MAP(CFileTransDlg, CDialog) |
BEGIN_MESSAGE_MAP(CFileTransDlg, CDialog) |
24 |
//{{AFX_MSG_MAP(CFileTransDlg) |
//{{AFX_MSG_MAP(CFileTransDlg) |
25 |
//}}AFX_MSG_MAP |
//}}AFX_MSG_MAP |
26 |
END_MESSAGE_MAP() |
END_MESSAGE_MAP() |
27 |
|
|
28 |
BOOL CFileTransDlg::Create(PFileVar pfv, PComVar pcv, PTTSet pts) |
BOOL CFileTransDlg::Create(PFileVar pfv, PComVar pcv, PTTSet pts) |
29 |
{ |
{ |
30 |
BOOL Ok; |
BOOL Ok; |
31 |
WNDCLASS wc; |
WNDCLASS wc; |
32 |
int fuLoad = LR_DEFAULTCOLOR; |
int fuLoad = LR_DEFAULTCOLOR; |
33 |
|
|
34 |
fv = pfv; |
fv = pfv; |
35 |
cv = pcv; |
cv = pcv; |
36 |
cv->FilePause &= ~fv->OpId; |
cv->FilePause &= ~fv->OpId; |
37 |
ts = pts; |
ts = pts; |
38 |
LOGFONT logfont; |
LOGFONT logfont; |
39 |
HFONT font; |
HFONT font; |
40 |
|
|
41 |
wc.style = CS_PARENTDC; |
wc.style = CS_PARENTDC; |
42 |
wc.lpfnWndProc = AfxWndProc; |
wc.lpfnWndProc = AfxWndProc; |
43 |
wc.cbClsExtra = 0; |
wc.cbClsExtra = 0; |
44 |
wc.cbWndExtra = DLGWINDOWEXTRA; |
wc.cbWndExtra = DLGWINDOWEXTRA; |
45 |
wc.hInstance = AfxGetInstanceHandle(); |
wc.hInstance = AfxGetInstanceHandle(); |
46 |
wc.hIcon = NULL; |
wc.hIcon = NULL; |
47 |
wc.hCursor = LoadCursor(NULL,IDC_ARROW); |
wc.hCursor = LoadCursor(NULL,IDC_ARROW); |
48 |
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1); |
wc.hbrBackground = (HBRUSH)(COLOR_BTNFACE+1); |
49 |
wc.lpszMenuName = NULL; |
wc.lpszMenuName = NULL; |
50 |
wc.lpszClassName = "FTDlg32"; |
wc.lpszClassName = "FTDlg32"; |
51 |
RegisterClass(&wc); |
RegisterClass(&wc); |
52 |
|
|
53 |
Pause = FALSE; |
Pause = FALSE; |
54 |
if (fv->OpId == OpLog) // parent window is desktop |
if (fv->OpId == OpLog) // parent window is desktop |
55 |
Ok = CDialog::Create(CFileTransDlg::IDD, GetDesktopWindow()); |
Ok = CDialog::Create(CFileTransDlg::IDD, GetDesktopWindow()); |
56 |
else // parent window is VT window |
else // parent window is VT window |
57 |
Ok = CDialog::Create(CFileTransDlg::IDD, NULL); |
Ok = CDialog::Create(CFileTransDlg::IDD, NULL); |
58 |
|
|
59 |
// 呼び出し元から移動 (2009.2.7 maya) |
// 呼び出し元から移動 (2009.2.7 maya) |
60 |
if (!fv->HideDialog) { |
if (!fv->HideDialog) { |
61 |
ShowWindow(SW_SHOW); |
ShowWindow(SW_SHOW); |
62 |
if (fv->OpId == OpLog) { |
if (fv->OpId == OpLog) { |
63 |
ShowWindow(SW_MINIMIZE); |
ShowWindow(SW_MINIMIZE); |
64 |
} |
} |
65 |
} |
} |
66 |
|
|
67 |
fv->HWin = GetSafeHwnd(); |
fv->HWin = GetSafeHwnd(); |
68 |
|
|
69 |
font = (HFONT)SendMessage(WM_GETFONT, 0, 0); |
font = (HFONT)SendMessage(WM_GETFONT, 0, 0); |
70 |
GetObject(font, sizeof(LOGFONT), &logfont); |
GetObject(font, sizeof(LOGFONT), &logfont); |
71 |
if (get_lang_font("DLG_SYSTEM_FONT", fv->HWin, &logfont, &DlgFont, ts->UILanguageFile)) { |
if (get_lang_font("DLG_SYSTEM_FONT", fv->HWin, &logfont, &DlgFont, ts->UILanguageFile)) { |
72 |
SendDlgItemMessage(IDC_TRANS_FILENAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_TRANS_FILENAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
73 |
SendDlgItemMessage(IDC_TRANSFNAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_TRANSFNAME, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
74 |
SendDlgItemMessage(IDC_FULLPATH_LABEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_FULLPATH_LABEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
75 |
SendDlgItemMessage(IDC_EDIT_FULLPATH, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_EDIT_FULLPATH, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
76 |
SendDlgItemMessage(IDC_TRANS_TRANS, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_TRANS_TRANS, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
77 |
SendDlgItemMessage(IDC_TRANSBYTES, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_TRANSBYTES, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
78 |
SendDlgItemMessage(IDC_TRANSPAUSESTART, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_TRANSPAUSESTART, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
79 |
SendDlgItemMessage(IDCANCEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDCANCEL, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
80 |
SendDlgItemMessage(IDC_TRANSHELP, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
SendDlgItemMessage(IDC_TRANSHELP, WM_SETFONT, (WPARAM)DlgFont, MAKELPARAM(TRUE,0)); |
81 |
} |
} |
82 |
|
|
83 |
return Ok; |
return Ok; |
84 |
} |
} |
85 |
|
|
86 |
void CFileTransDlg::ChangeButton(BOOL PauseFlag) |
void CFileTransDlg::ChangeButton(BOOL PauseFlag) |
87 |
{ |
{ |
88 |
Pause = PauseFlag; |
Pause = PauseFlag; |
89 |
if (Pause) |
if (Pause) |
90 |
{ |
{ |
91 |
get_lang_msg("DLG_FILETRANS_START", ts->UIMsg, sizeof(ts->UIMsg), "&Start", ts->UILanguageFile); |
get_lang_msg("DLG_FILETRANS_START", ts->UIMsg, sizeof(ts->UIMsg), "&Start", ts->UILanguageFile); |
92 |
SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg); |
SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg); |
93 |
cv->FilePause |= fv->OpId; |
cv->FilePause |= fv->OpId; |
94 |
} |
} |
95 |
else { |
else { |
96 |
get_lang_msg("DLG_FILETRANS_PAUSE", ts->UIMsg, sizeof(ts->UIMsg), "Pau&se", ts->UILanguageFile); |
get_lang_msg("DLG_FILETRANS_PAUSE", ts->UIMsg, sizeof(ts->UIMsg), "Pau&se", ts->UILanguageFile); |
97 |
SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg); |
SetDlgItemText(IDC_TRANSPAUSESTART, ts->UIMsg); |
98 |
cv->FilePause &= ~fv->OpId; |
cv->FilePause &= ~fv->OpId; |
99 |
} |
} |
100 |
} |
} |
101 |
|
|
102 |
void CFileTransDlg::RefreshNum() |
void CFileTransDlg::RefreshNum() |
103 |
{ |
{ |
104 |
char NumStr[24]; |
char NumStr[24]; |
105 |
double rate; |
double rate; |
106 |
|
|
107 |
if (fv->OpId == OpSendFile && fv->FileSize > 0) { |
if (fv->OpId == OpSendFile && fv->FileSize > 0) { |
108 |
rate = 100.0 * (double)fv->ByteCount / (double)fv->FileSize; |
rate = 100.0 * (double)fv->ByteCount / (double)fv->FileSize; |
109 |
if (fv->ProgStat < (int)rate) { |
if (fv->ProgStat < (int)rate) { |
110 |
fv->ProgStat = (int)rate; |
fv->ProgStat = (int)rate; |
111 |
SendDlgItemMessage(IDC_TRANSPROGRESS, PBM_SETPOS, (WPARAM)fv->ProgStat, 0); |
SendDlgItemMessage(IDC_TRANSPROGRESS, PBM_SETPOS, (WPARAM)fv->ProgStat, 0); |
112 |
} |
} |
113 |
_snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u (%3.1f%%)",fv->ByteCount, rate); |
_snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u (%3.1f%%)",fv->ByteCount, rate); |
114 |
} |
} |
115 |
else { |
else { |
116 |
_snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u",fv->ByteCount); |
_snprintf_s(NumStr,sizeof(NumStr),_TRUNCATE,"%u",fv->ByteCount); |
117 |
} |
} |
118 |
SetDlgItemText(IDC_TRANSBYTES, NumStr); |
SetDlgItemText(IDC_TRANSBYTES, NumStr); |
119 |
} |
} |
120 |
|
|
121 |
///////////////////////////////////////////////////////////////////////////// |
///////////////////////////////////////////////////////////////////////////// |
122 |
// CFileTransDlg message handler |
// CFileTransDlg message handler |
123 |
|
|
124 |
BOOL CFileTransDlg::OnInitDialog() |
BOOL CFileTransDlg::OnInitDialog() |
125 |
{ |
{ |
126 |
int fuLoad = LR_DEFAULTCOLOR; |
int fuLoad = LR_DEFAULTCOLOR; |
127 |
|
|
128 |
SetWindowText(fv->DlgCaption); |
SetWindowText(fv->DlgCaption); |
129 |
SetDlgItemText(IDC_TRANSFNAME, &(fv->FullName[fv->DirLen])); |
SetDlgItemText(IDC_TRANSFNAME, &(fv->FullName[fv->DirLen])); |
130 |
|
|
131 |
// ログファイルはフルパス表示にする(2004.8.6 yutaka) |
// ログファイルはフルパス表示にする(2004.8.6 yutaka) |
132 |
SetDlgItemText(IDC_EDIT_FULLPATH, &(fv->FullName[0])); |
SetDlgItemText(IDC_EDIT_FULLPATH, &(fv->FullName[0])); |
133 |
|
|
134 |
if (is_NT4()) { |
if (is_NT4()) { |
135 |
fuLoad = LR_VGACOLOR; |
fuLoad = LR_VGACOLOR; |
136 |
} |
} |
137 |
::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_SMALL, |
::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_SMALL, |
138 |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
139 |
MAKEINTRESOURCE(IDI_TTERM), |
MAKEINTRESOURCE(IDI_TTERM), |
140 |
IMAGE_ICON,16,16,fuLoad)); |
IMAGE_ICON,16,16,fuLoad)); |
141 |
::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_BIG, |
::PostMessage(GetSafeHwnd(),WM_SETICON,ICON_BIG, |
142 |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
(LPARAM)LoadImage(AfxGetInstanceHandle(), |
143 |
MAKEINTRESOURCE(IDI_TTERM), |
MAKEINTRESOURCE(IDI_TTERM), |
144 |
IMAGE_ICON, 0, 0, fuLoad)); |
IMAGE_ICON, 0, 0, fuLoad)); |
145 |
|
|
146 |
return 1; |
return 1; |
147 |
} |
} |
148 |
|
|
149 |
void CFileTransDlg::OnCancel( ) |
void CFileTransDlg::OnCancel( ) |
150 |
{ |
{ |
151 |
::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); |
::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); |
152 |
} |
} |
153 |
|
|
154 |
BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam) |
BOOL CFileTransDlg::OnCommand(WPARAM wParam, LPARAM lParam) |
155 |
{ |
{ |
156 |
switch (LOWORD(wParam)) { |
switch (LOWORD(wParam)) { |
157 |
case IDCANCEL: |
case IDCANCEL: |
158 |
::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); |
::PostMessage(fv->HMainWin,WM_USER_FTCANCEL,fv->OpId,0); |
159 |
return TRUE; |
return TRUE; |
160 |
case IDC_TRANSPAUSESTART: |
case IDC_TRANSPAUSESTART: |
161 |
ChangeButton(! Pause); |
ChangeButton(! Pause); |
162 |
return TRUE; |
return TRUE; |
163 |
case IDC_TRANSHELP: |
case IDC_TRANSHELP: |
164 |
::PostMessage(fv->HMainWin,WM_USER_DLGHELP2,0,0); |
::PostMessage(fv->HMainWin,WM_USER_DLGHELP2,0,0); |
165 |
return TRUE; |
return TRUE; |
166 |
default: |
default: |
167 |
return (CDialog::OnCommand(wParam,lParam)); |
return (CDialog::OnCommand(wParam,lParam)); |
168 |
} |
} |
169 |
} |
} |
170 |
|
|
171 |
void CFileTransDlg::PostNcDestroy() |
void CFileTransDlg::PostNcDestroy() |
172 |
{ |
{ |
173 |
delete this; |
delete this; |
174 |
} |
} |
175 |
|
|
176 |
LRESULT CFileTransDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) |
LRESULT CFileTransDlg::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) |
177 |
{ |
{ |
178 |
return DefDlgProc(GetSafeHwnd(),message,wParam,lParam); |
return DefDlgProc(GetSafeHwnd(),message,wParam,lParam); |
179 |
} |
} |