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