1 /*=============================================================================
\r
3 *
\83I
\83v
\83V
\83\87\83\93\90Ý
\92è
\r
5 ===============================================================================
\r
6 / Copyright (C) 1997-2007 Sota. All rights reserved.
\r
8 / Redistribution and use in source and binary forms, with or without
\r
9 / modification, are permitted provided that the following conditions
\r
12 / 1. Redistributions of source code must retain the above copyright
\r
13 / notice, this list of conditions and the following disclaimer.
\r
14 / 2. Redistributions in binary form must reproduce the above copyright
\r
15 / notice, this list of conditions and the following disclaimer in the
\r
16 / documentation and/or other materials provided with the distribution.
\r
18 / THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
\r
19 / IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
\r
20 / OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
\r
21 / IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
\r
22 / INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
\r
23 / BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
\r
24 / USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
\r
25 / ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
\r
26 / (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
\r
27 / THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
\r
28 /============================================================================*/
\r
31 #include <windows.h>
\r
35 #include <commctrl.h>
\r
36 #include <windowsx.h>
\r
39 #include "resource.h"
\r
41 #include <htmlhelp.h>
\r
45 #undef __MBSWRAPPER_H__
\r
46 #include "mbswrapper.h"
\r
49 /*=====
\83v
\83\8d\83g
\83^
\83C
\83v =====*/
\r
51 static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
52 static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
53 static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
54 static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
55 static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
56 static void AddFnameAttrToListView(HWND hDlg, char *Fname, char *Attr);
\r
57 static void GetFnameAttrFromListView(HWND hDlg, char *Buf);
\r
58 static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
59 static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
60 static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
61 static int SelectListFont(HWND hWnd, LOGFONT *lFont);
\r
62 static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
63 static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
64 static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
65 static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
66 static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
67 static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
\r
68 static int GetDecimalText(HWND hDlg, int Ctrl);
\r
69 static void SetDecimalText(HWND hDlg, int Ctrl, int Num);
\r
70 static void CheckRange2(int *Cur, int Max, int Min);
\r
71 static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize);
\r
72 static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text);
\r
73 static void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize);
\r
78 char Fname[FMAX_PATH+1];
\r
86 /*=====
\8aO
\95\94\8eQ
\8fÆ =====*/
\r
88 extern HWND hHelpWin;
\r
91 extern char UserMailAdrs[USER_MAIL_LEN+1];
\r
92 extern char ViewerName[VIEWERS][FMAX_PATH+1];
\r
93 extern int ConnectOnStart;
\r
94 extern int DebugConsole;
\r
95 extern int SaveWinPos;
\r
96 extern char AsciiExt[ASCII_EXT_LEN+1];
\r
97 extern int RecvMode;
\r
98 extern int SendMode;
\r
99 extern int MoveMode;
\r
100 extern int CacheEntry;
\r
101 extern int CacheSave;
\r
102 extern char FwallHost[HOST_ADRS_LEN+1];
\r
103 extern char FwallUser[USER_NAME_LEN+1];
\r
104 extern char FwallPass[PASSWORD_LEN+1];
\r
105 extern int FwallPort;
\r
106 extern int FwallType;
\r
107 extern int FwallDefault;
\r
108 extern int FwallSecurity;
\r
109 extern int FwallResolv;
\r
110 extern int FwallLower;
\r
111 extern int FwallDelimiter;
\r
112 extern int PasvDefault;
\r
113 extern char DefaultLocalPath[FMAX_PATH+1];
\r
114 extern int SaveTimeStamp;
\r
115 extern int DclickOpen;
\r
116 extern SOUNDFILE Sound[SOUND_TYPES];
\r
117 extern int FnameCnv;
\r
118 extern int ConnectAndSet;
\r
119 extern int TimeOut;
\r
121 extern int RegType;
\r
122 extern char MirrorNoTrn[MIRROR_LEN+1];
\r
123 extern char MirrorNoDel[MIRROR_LEN+1];
\r
124 extern int MirrorFnameCnv;
\r
125 extern int RasClose;
\r
126 extern int RasCloseNotify;
\r
127 extern int FileHist;
\r
128 extern char DefAttrList[DEFATTRLIST_LEN+1];
\r
129 extern char TmpPath[FMAX_PATH+1];
\r
130 extern int QuickAnonymous;
\r
131 extern int PassToHist;
\r
132 extern int VaxSemicolon;
\r
133 extern int SendQuit;
\r
134 extern int NoRasControl;
\r
135 extern int DispIgnoreHide;
\r
136 extern int DispDrives;
\r
137 extern HFONT ListFont;
\r
138 extern LOGFONT ListLogFont;
\r
139 extern int MirUpDelNotify;
\r
140 extern int MirDownDelNotify;
\r
141 extern int FolderAttr;
\r
142 extern int FolderAttrNum;
\r
145 /*-----
\83I
\83v
\83V
\83\87\83\93\82Ì
\83v
\83\8d\83p
\83e
\83B
\83V
\81[
\83g ------------------------------------------
\r
152 *----------------------------------------------------------------------------*/
\r
154 void SetOption(int Start)
\r
156 PROPSHEETPAGE psp[12];
\r
157 PROPSHEETHEADER psh;
\r
159 psp[0].dwSize = sizeof(PROPSHEETPAGE);
\r
160 psp[0].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
161 psp[0].hInstance = GetFtpInst();
\r
162 psp[0].pszTemplate = MAKEINTRESOURCE(opt_user_dlg);
\r
163 psp[0].pszIcon = NULL;
\r
164 psp[0].pfnDlgProc = UserSettingProc;
\r
165 psp[0].pszTitle = MSGJPN186;
\r
167 psp[0].pfnCallback = NULL;
\r
169 psp[1].dwSize = sizeof(PROPSHEETPAGE);
\r
170 psp[1].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
171 psp[1].hInstance = GetFtpInst();
\r
172 psp[1].pszTemplate = MAKEINTRESOURCE(opt_trmode1_dlg);
\r
173 psp[1].pszIcon = NULL;
\r
174 psp[1].pfnDlgProc = Trmode1SettingProc;
\r
175 psp[1].pszTitle = MSGJPN187;
\r
177 psp[1].pfnCallback = NULL;
\r
179 psp[2].dwSize = sizeof(PROPSHEETPAGE);
\r
180 psp[2].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
181 psp[2].hInstance = GetFtpInst();
\r
182 psp[2].pszTemplate = MAKEINTRESOURCE(opt_trmode2_dlg);
\r
183 psp[2].pszIcon = NULL;
\r
184 psp[2].pfnDlgProc = Trmode2SettingProc;
\r
185 psp[2].pszTitle = MSGJPN188;
\r
187 psp[2].pfnCallback = NULL;
\r
189 psp[3].dwSize = sizeof(PROPSHEETPAGE);
\r
190 psp[3].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
191 psp[3].hInstance = GetFtpInst();
\r
192 psp[3].pszTemplate = MAKEINTRESOURCE(opt_trmode3_dlg);
\r
193 psp[3].pszIcon = NULL;
\r
194 psp[3].pfnDlgProc = Trmode3SettingProc;
\r
195 psp[3].pszTitle = MSGJPN189;
\r
197 psp[3].pfnCallback = NULL;
\r
199 psp[4].dwSize = sizeof(PROPSHEETPAGE);
\r
200 psp[4].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
201 psp[4].hInstance = GetFtpInst();
\r
202 psp[4].pszTemplate = MAKEINTRESOURCE(opt_mirror_dlg);
\r
203 psp[4].pszIcon = NULL;
\r
204 psp[4].pfnDlgProc = MirrorSettingProc;
\r
205 psp[4].pszTitle = MSGJPN190;
\r
207 psp[4].pfnCallback = NULL;
\r
209 psp[5].dwSize = sizeof(PROPSHEETPAGE);
\r
210 psp[5].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
211 psp[5].hInstance = GetFtpInst();
\r
212 psp[5].pszTemplate = MAKEINTRESOURCE(opt_notify_dlg);
\r
213 psp[5].pszIcon = NULL;
\r
214 psp[5].pfnDlgProc = NotifySettingProc;
\r
215 psp[5].pszTitle = MSGJPN191;
\r
217 psp[5].pfnCallback = NULL;
\r
219 psp[6].dwSize = sizeof(PROPSHEETPAGE);
\r
220 psp[6].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
221 psp[6].hInstance = GetFtpInst();
\r
222 psp[6].pszTemplate = MAKEINTRESOURCE(opt_disp_dlg);
\r
223 psp[6].pszIcon = NULL;
\r
224 psp[6].pfnDlgProc = DispSettingProc;
\r
225 psp[6].pszTitle = MSGJPN192;
\r
227 psp[6].pfnCallback = NULL;
\r
229 psp[7].dwSize = sizeof(PROPSHEETPAGE);
\r
230 psp[7].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
231 psp[7].hInstance = GetFtpInst();
\r
232 psp[7].pszTemplate = MAKEINTRESOURCE(opt_connect_dlg);
\r
233 psp[7].pszIcon = NULL;
\r
234 psp[7].pfnDlgProc = ConnectSettingProc;
\r
235 psp[7].pszTitle = MSGJPN193;
\r
237 psp[7].pfnCallback = NULL;
\r
239 psp[8].dwSize = sizeof(PROPSHEETPAGE);
\r
240 psp[8].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
241 psp[8].hInstance = GetFtpInst();
\r
242 psp[8].pszTemplate = MAKEINTRESOURCE(opt_fire_dlg);
\r
243 psp[8].pszIcon = NULL;
\r
244 psp[8].pfnDlgProc = FireSettingProc;
\r
245 psp[8].pszTitle = MSGJPN194;
\r
247 psp[8].pfnCallback = NULL;
\r
249 psp[9].dwSize = sizeof(PROPSHEETPAGE);
\r
250 psp[9].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
251 psp[9].hInstance = GetFtpInst();
\r
252 psp[9].pszTemplate = MAKEINTRESOURCE(opt_tool_dlg);
\r
253 psp[9].pszIcon = NULL;
\r
254 psp[9].pfnDlgProc = ToolSettingProc;
\r
255 psp[9].pszTitle = MSGJPN195;
\r
257 psp[9].pfnCallback = NULL;
\r
259 psp[10].dwSize = sizeof(PROPSHEETPAGE);
\r
260 psp[10].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
261 psp[10].hInstance = GetFtpInst();
\r
262 psp[10].pszTemplate = MAKEINTRESOURCE(opt_sound_dlg);
\r
263 psp[10].pszIcon = NULL;
\r
264 psp[10].pfnDlgProc = SoundSettingProc;
\r
265 psp[10].pszTitle = MSGJPN196;
\r
266 psp[10].lParam = 0;
\r
267 psp[10].pfnCallback = NULL;
\r
269 psp[11].dwSize = sizeof(PROPSHEETPAGE);
\r
270 psp[11].dwFlags = PSP_USETITLE | PSP_HASHELP;
\r
271 psp[11].hInstance = GetFtpInst();
\r
272 psp[11].pszTemplate = MAKEINTRESOURCE(opt_misc_dlg);
\r
273 psp[11].pszIcon = NULL;
\r
274 psp[11].pfnDlgProc = MiscSettingProc;
\r
275 psp[11].pszTitle = MSGJPN197;
\r
276 psp[11].lParam = 0;
\r
277 psp[11].pfnCallback = NULL;
\r
279 psh.dwSize = sizeof(PROPSHEETHEADER);
\r
280 psh.dwFlags = PSH_HASHELP | PSH_NOAPPLYNOW | PSH_PROPSHEETPAGE;
\r
281 psh.hwndParent = GetMainHwnd();
\r
282 psh.hInstance = GetFtpInst();
\r
283 psh.pszIcon = NULL;
\r
284 psh.pszCaption = MSGJPN198;
\r
285 psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
\r
286 psh.nStartPage = Start;
\r
287 psh.ppsp = (LPCPROPSHEETPAGE)&psp;
\r
288 psh.pfnCallback = NULL;
\r
290 PropertySheet(&psh);
\r
295 /*-----
\83\86\81[
\83U
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------------
\r
298 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
299 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
300 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
301 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
305 *----------------------------------------------------------------------------*/
\r
307 static BOOL CALLBACK UserSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
313 case WM_INITDIALOG :
\r
314 SendDlgItemMessage(hDlg, USER_ADRS, EM_LIMITTEXT, PASSWORD_LEN, 0);
\r
315 SendDlgItemMessage(hDlg, USER_ADRS, WM_SETTEXT, 0, (LPARAM)UserMailAdrs);
\r
319 pnmhdr = (NMHDR FAR *)lParam;
\r
320 switch(pnmhdr->code)
\r
323 SendDlgItemMessage(hDlg, USER_ADRS, WM_GETTEXT, USER_MAIL_LEN+1, (LPARAM)UserMailAdrs);
\r
330 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000041);
\r
339 /*-----
\93]
\91\97\90Ý
\92è
\82P
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------------
\r
342 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
343 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
344 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
345 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
349 *----------------------------------------------------------------------------*/
\r
351 static BOOL CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
355 char Tmp[FMAX_PATH+1];
\r
358 static const RADIOBUTTON ModeButton[] = {
\r
359 { TRMODE_AUTO, TYPE_X },
\r
360 { TRMODE_ASCII, TYPE_A },
\r
361 { TRMODE_BIN, TYPE_I }
\r
363 #define MODEBUTTONS (sizeof(ModeButton)/sizeof(RADIOBUTTON))
\r
367 case WM_INITDIALOG :
\r
368 SetMultiTextToList(hDlg, TRMODE_EXT_LIST, AsciiExt);
\r
369 SetRadioButtonByValue(hDlg, AskTransferType(), ModeButton, MODEBUTTONS);
\r
370 SendDlgItemMessage(hDlg, TRMODE_TIME, BM_SETCHECK, SaveTimeStamp, 0);
\r
371 SendDlgItemMessage(hDlg, TRMODE_EOF, BM_SETCHECK, RmEOF, 0);
\r
372 SendDlgItemMessage(hDlg, TRMODE_SEMICOLON, BM_SETCHECK, VaxSemicolon, 0);
\r
374 SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(TRMODE_EXT_LIST, 0), 0);
\r
379 pnmhdr = (NMHDR FAR *)lParam;
\r
380 switch(pnmhdr->code)
\r
383 SetTransferTypeImm(AskRadioButtonValue(hDlg, ModeButton, MODEBUTTONS));
\r
384 SaveTransferType();
\r
385 GetMultiTextFromList(hDlg, TRMODE_EXT_LIST, AsciiExt, ASCII_EXT_LEN+1);
\r
386 SaveTimeStamp = SendDlgItemMessage(hDlg, TRMODE_TIME, BM_GETCHECK, 0, 0);
\r
387 RmEOF = SendDlgItemMessage(hDlg, TRMODE_EOF, BM_GETCHECK, 0, 0);
\r
388 VaxSemicolon = SendDlgItemMessage(hDlg, TRMODE_SEMICOLON, BM_GETCHECK, 0, 0);
\r
395 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000042);
\r
401 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
403 case TRMODE_ASCII :
\r
405 EnableWindow(GetDlgItem(hDlg, TRMODE_EXT_LIST), FALSE);
\r
406 EnableWindow(GetDlgItem(hDlg, TRMODE_ADD), FALSE);
\r
407 EnableWindow(GetDlgItem(hDlg, TRMODE_DEL), FALSE);
\r
411 EnableWindow(GetDlgItem(hDlg, TRMODE_EXT_LIST), TRUE);
\r
412 EnableWindow(GetDlgItem(hDlg, TRMODE_ADD), TRUE);
\r
413 EnableWindow(GetDlgItem(hDlg, TRMODE_DEL), TRUE);
\r
418 if(InputDialogBox(fname_in_dlg, hDlg, MSGJPN199, Tmp, FMAX_PATH, &Trash, IDH_HELP_TOPIC_0000001) == YES)
\r
419 AddTextToListBox(hDlg, Tmp, TRMODE_EXT_LIST, ASCII_EXT_LEN+1);
\r
423 if((Num = SendDlgItemMessage(hDlg, TRMODE_EXT_LIST, LB_GETCURSEL, 0, 0)) != LB_ERR)
\r
424 SendDlgItemMessage(hDlg, TRMODE_EXT_LIST, LB_DELETESTRING, Num, 0);
\r
433 /*-----
\93]
\91\97\90Ý
\92è
\82Q
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------------
\r
436 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
437 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
438 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
439 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
443 *----------------------------------------------------------------------------*/
\r
445 static BOOL CALLBACK Trmode2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
448 char Tmp[FMAX_PATH+1];
\r
450 static const RADIOBUTTON CnvButton[] = {
\r
451 { TRMODE2_NOCNV, FNAME_NOCNV },
\r
452 { TRMODE2_LOWER, FNAME_LOWER },
\r
453 { TRMODE2_UPPER, FNAME_UPPER }
\r
455 #define CNVBUTTONS (sizeof(CnvButton)/sizeof(RADIOBUTTON))
\r
459 case WM_INITDIALOG :
\r
460 SendDlgItemMessage(hDlg, TRMODE2_LOCAL, EM_LIMITTEXT, FMAX_PATH, 0);
\r
461 SendDlgItemMessage(hDlg, TRMODE2_LOCAL, WM_SETTEXT, 0, (LPARAM)DefaultLocalPath);
\r
463 SetRadioButtonByValue(hDlg, FnameCnv, CnvButton, CNVBUTTONS);
\r
465 SendDlgItemMessage(hDlg, TRMODE2_TIMEOUT, EM_LIMITTEXT, (WPARAM)5, 0);
\r
466 sprintf(Tmp, "%d", TimeOut);
\r
467 SendDlgItemMessage(hDlg, TRMODE2_TIMEOUT, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
468 SendDlgItemMessage(hDlg, TRMODE2_TIMEOUT_SPN, UDM_SETRANGE, 0, MAKELONG(300, 0));
\r
472 pnmhdr = (NMHDR FAR *)lParam;
\r
473 switch(pnmhdr->code)
\r
476 SendDlgItemMessage(hDlg, TRMODE2_LOCAL, WM_GETTEXT, FMAX_PATH+1, (LPARAM)DefaultLocalPath);
\r
478 FnameCnv = AskRadioButtonValue(hDlg, CnvButton, CNVBUTTONS);
\r
480 SendDlgItemMessage(hDlg, TRMODE2_TIMEOUT, WM_GETTEXT, 5+1, (LPARAM)Tmp);
\r
481 TimeOut = atoi(Tmp);
\r
482 CheckRange2(&TimeOut, 300, 0);
\r
489 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000043);
\r
495 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
497 case TRMODE2_LOCAL_BR :
\r
498 if(SelectDir(hDlg, Tmp, FMAX_PATH) == TRUE)
\r
499 SendDlgItemMessage(hDlg, TRMODE2_LOCAL, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
508 /*-----
\93]
\91\97\90Ý
\92è
\82R
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------------
\r
511 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
512 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
513 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
514 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
518 *----------------------------------------------------------------------------*/
\r
520 static BOOL CALLBACK Trmode3SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
533 case WM_INITDIALOG :
\r
534 Tmp = SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
\r
535 Tmp |= LVS_EX_FULLROWSELECT;
\r
536 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)Tmp);
\r
538 GetClientRect(GetDlgItem(hDlg, TRMODE3_LIST), &Rect);
\r
540 LvCol.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
\r
541 LvCol.cx = (Rect.right / 3) * 2;
\r
542 LvCol.pszText = MSGJPN200;
\r
543 LvCol.iSubItem = 0;
\r
544 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_INSERTCOLUMN, 0, (LPARAM)&LvCol);
\r
546 LvCol.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;
\r
547 LvCol.cx = Rect.right - LvCol.cx;
\r
548 LvCol.pszText = MSGJPN201;
\r
549 LvCol.iSubItem = 1;
\r
550 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_INSERTCOLUMN, 1, (LPARAM)&LvCol);
\r
552 Fname = DefAttrList;
\r
553 while(*Fname != NUL)
\r
555 Attr = strchr(Fname, NUL) + 1;
\r
557 AddFnameAttrToListView(hDlg, Fname, Attr);
\r
558 Fname = strchr(Attr, NUL) + 1;
\r
561 SendDlgItemMessage(hDlg, TRMODE3_FOLDER, BM_SETCHECK, FolderAttr, 0);
\r
562 if(FolderAttr == NO)
\r
563 EnableWindow(GetDlgItem(hDlg, TRMODE3_FOLDER_ATTR), FALSE);
\r
565 SendDlgItemMessage(hDlg, TRMODE3_FOLDER_ATTR, EM_LIMITTEXT, (WPARAM)5, 0);
\r
566 sprintf(TmpStr, "%03d", FolderAttrNum);
\r
567 SendDlgItemMessage(hDlg, TRMODE3_FOLDER_ATTR, WM_SETTEXT, 0, (LPARAM)TmpStr);
\r
571 pnmhdr = (NMHDR FAR *)lParam;
\r
572 switch(pnmhdr->code)
\r
575 GetFnameAttrFromListView(hDlg, DefAttrList);
\r
576 SendDlgItemMessage(hDlg, TRMODE3_FOLDER_ATTR, WM_GETTEXT, 5+1, (LPARAM)TmpStr);
\r
577 FolderAttrNum = atoi(TmpStr);
\r
578 FolderAttr = SendDlgItemMessage(hDlg, TRMODE3_FOLDER, BM_GETCHECK, 0, 0);
\r
585 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000044);
\r
591 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
594 if(DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(def_attr_dlg), hDlg, DefAttrDlgProc, (LPARAM)&AttrSet) == YES)
\r
596 if((strlen(AttrSet.Fname) > 0) && (strlen(AttrSet.Attr) > 0))
\r
597 AddFnameAttrToListView(hDlg, AttrSet.Fname, AttrSet.Attr);
\r
602 if((Tmp = SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_GETNEXTITEM, -1, MAKELPARAM(LVNI_ALL | LVNI_SELECTED, 0))) != -1)
\r
603 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_DELETEITEM, Tmp, 0);
\r
606 case TRMODE3_FOLDER :
\r
607 if(SendDlgItemMessage(hDlg, TRMODE3_FOLDER, BM_GETCHECK, 0, 0) == 1)
\r
608 EnableWindow(GetDlgItem(hDlg, TRMODE3_FOLDER_ATTR), TRUE);
\r
610 EnableWindow(GetDlgItem(hDlg, TRMODE3_FOLDER_ATTR), FALSE);
\r
619 /*-----
\83t
\83@
\83C
\83\8b\91®
\90«
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------
\r
622 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
623 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
624 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
625 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
629 *----------------------------------------------------------------------------*/
\r
631 static BOOL CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
633 static ATTRSET *AttrSet;
\r
638 case WM_INITDIALOG :
\r
639 AttrSet = (ATTRSET *)lParam;
\r
640 SendDlgItemMessage(hDlg, DEFATTR_FNAME, EM_LIMITTEXT, (WPARAM)FMAX_PATH, 0);
\r
641 SendDlgItemMessage(hDlg, DEFATTR_ATTR, EM_LIMITTEXT, (WPARAM)4, 0);
\r
645 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
648 SendDlgItemMessage(hDlg, DEFATTR_FNAME, WM_GETTEXT, (WPARAM)FMAX_PATH+1, (LPARAM)AttrSet->Fname);
\r
649 SendDlgItemMessage(hDlg, DEFATTR_ATTR, WM_GETTEXT, (WPARAM)4+1, (LPARAM)AttrSet->Attr);
\r
650 EndDialog(hDlg, YES);
\r
654 EndDialog(hDlg, NO);
\r
657 case DEFATTR_ATTR_BR :
\r
658 SendDlgItemMessage(hDlg, DEFATTR_ATTR, WM_GETTEXT, (WPARAM)4+1, (LPARAM)Tmp);
\r
659 if(DialogBoxParam(GetFtpInst(), MAKEINTRESOURCE(chmod_dlg), GetMainHwnd(), ChmodDialogCallBack, (LPARAM)Tmp) == YES)
\r
660 SendDlgItemMessage(hDlg, DEFATTR_ATTR, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
669 /*-----
\83t
\83@
\83C
\83\8b\96¼
\82Æ
\91®
\90«
\82ð
\83\8a\83X
\83g
\83r
\83\85\81[
\82É
\92Ç
\89Á ----------------------------------
\r
672 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
673 * char *Fname :
\83t
\83@
\83C
\83\8b\96¼
\r
674 * char *Attr :
\91®
\90«
\r
678 *----------------------------------------------------------------------------*/
\r
680 static void AddFnameAttrToListView(HWND hDlg, char *Fname, char *Attr)
\r
684 char Buf[DEFATTRLIST_LEN+1];
\r
686 GetFnameAttrFromListView(hDlg, Buf);
\r
687 if(StrMultiLen(Buf) + strlen(Fname) + strlen(Attr) + 2 <= DEFATTRLIST_LEN)
\r
689 Num = SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_GETITEMCOUNT, 0, 0);
\r
691 LvItem.mask = LVIF_TEXT;
\r
692 LvItem.iItem = Num;
\r
693 LvItem.iSubItem = 0;
\r
694 LvItem.pszText = Fname;
\r
695 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_INSERTITEM, 0, (LPARAM)&LvItem);
\r
697 LvItem.mask = LVIF_TEXT;
\r
698 LvItem.iItem = Num;
\r
699 LvItem.iSubItem = 1;
\r
700 LvItem.pszText = Attr;
\r
701 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_SETITEM, 0, (LPARAM)&LvItem);
\r
710 /*-----
\83\8a\83X
\83g
\83r
\83\85\81[
\82Ì
\93à
\97e
\82ð
\83}
\83\8b\83`
\95¶
\8e\9a\97ñ
\82É
\82·
\82é --------------------------------
\r
713 * HWND hDlg :
\83_
\83C
\83A
\83\8d\83O
\83{
\83b
\83N
\83X
\82Ì
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
714 * int CtrlList :
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82ÌID
\r
715 * char *Buf :
\95¶
\8e\9a\97ñ
\82ð
\83Z
\83b
\83g
\82·
\82é
\83o
\83b
\83t
\83@
\r
716 * int BufSize :
\83o
\83b
\83t
\83@
\82Ì
\83T
\83C
\83Y
\r
720 *----------------------------------------------------------------------------*/
\r
722 static void GetFnameAttrFromListView(HWND hDlg, char *Buf)
\r
728 Num = SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_GETITEMCOUNT, 0, 0);
\r
729 for(i = 0; i < Num; i++)
\r
731 LvItem.mask = LVIF_TEXT;
\r
733 LvItem.iSubItem = 0;
\r
734 LvItem.pszText = Buf;
\r
735 LvItem.cchTextMax = FMAX_PATH;
\r
736 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_GETITEM, 0, (LPARAM)&LvItem);
\r
737 Buf = strchr(Buf, NUL) + 1;
\r
739 LvItem.mask = LVIF_TEXT;
\r
741 LvItem.iSubItem = 1;
\r
742 LvItem.pszText = Buf;
\r
743 LvItem.cchTextMax = FMAX_PATH;
\r
744 SendDlgItemMessage(hDlg, TRMODE3_LIST, LVM_GETITEM, 0, (LPARAM)&LvItem);
\r
745 Buf = strchr(Buf, NUL) + 1;
\r
753 /*-----
\83~
\83\89\81[
\83\8a\83\93\83O
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ----------------------------------
\r
756 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
757 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
758 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
759 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
763 *----------------------------------------------------------------------------*/
\r
765 static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
769 char Tmp[FMAX_PATH+1];
\r
774 case WM_INITDIALOG :
\r
775 SetMultiTextToList(hDlg, MIRROR_NOTRN_LIST, MirrorNoTrn);
\r
776 SetMultiTextToList(hDlg, MIRROR_NODEL_LIST, MirrorNoDel);
\r
777 SendDlgItemMessage(hDlg, MIRROR_LOW, BM_SETCHECK, MirrorFnameCnv, 0);
\r
778 SendDlgItemMessage(hDlg, MIRROR_UPDEL_NOTIFY, BM_SETCHECK, MirUpDelNotify, 0);
\r
779 SendDlgItemMessage(hDlg, MIRROR_DOWNDEL_NOTIFY, BM_SETCHECK, MirDownDelNotify, 0);
\r
783 pnmhdr = (NMHDR FAR *)lParam;
\r
784 switch(pnmhdr->code)
\r
787 GetMultiTextFromList(hDlg, MIRROR_NOTRN_LIST, MirrorNoTrn, MIRROR_LEN+1);
\r
788 GetMultiTextFromList(hDlg, MIRROR_NODEL_LIST, MirrorNoDel, MIRROR_LEN+1);
\r
789 MirrorFnameCnv = SendDlgItemMessage(hDlg, MIRROR_LOW, BM_GETCHECK, 0, 0);
\r
790 MirUpDelNotify = SendDlgItemMessage(hDlg, MIRROR_UPDEL_NOTIFY, BM_GETCHECK, 0, 0);
\r
791 MirDownDelNotify = SendDlgItemMessage(hDlg, MIRROR_DOWNDEL_NOTIFY, BM_GETCHECK, 0, 0);
\r
798 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000045);
\r
804 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
806 case MIRROR_NOTRN_ADD :
\r
808 if(InputDialogBox(fname_in_dlg, hDlg, MSGJPN202, Tmp, FMAX_PATH, &Trash, IDH_HELP_TOPIC_0000001) == YES)
\r
809 AddTextToListBox(hDlg, Tmp, MIRROR_NOTRN_LIST, MIRROR_LEN+1);
\r
812 case MIRROR_NODEL_ADD :
\r
814 if(InputDialogBox(fname_in_dlg, hDlg, MSGJPN203, Tmp, FMAX_PATH, &Trash, IDH_HELP_TOPIC_0000001) == YES)
\r
815 AddTextToListBox(hDlg, Tmp, MIRROR_NODEL_LIST, MIRROR_LEN+1);
\r
818 case MIRROR_NOTRN_DEL :
\r
819 if((Num = SendDlgItemMessage(hDlg, MIRROR_NOTRN_LIST, LB_GETCURSEL, 0, 0)) != LB_ERR)
\r
820 SendDlgItemMessage(hDlg, MIRROR_NOTRN_LIST, LB_DELETESTRING, Num, 0);
\r
823 case MIRROR_NODEL_DEL :
\r
824 if((Num = SendDlgItemMessage(hDlg, MIRROR_NODEL_LIST, LB_GETCURSEL, 0, 0)) != LB_ERR)
\r
825 SendDlgItemMessage(hDlg, MIRROR_NODEL_LIST, LB_DELETESTRING, Num, 0);
\r
834 /*-----
\91\80\8dì
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N --------------------------------------
\r
837 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
838 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
839 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
840 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
844 *----------------------------------------------------------------------------*/
\r
846 static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
850 static const RADIOBUTTON DownButton[] = {
\r
851 { NOTIFY_D_DLG, TRANS_DLG },
\r
852 { NOTIFY_D_OVW, TRANS_OVW }
\r
854 #define DOWNBUTTONS (sizeof(DownButton)/sizeof(RADIOBUTTON))
\r
856 static const RADIOBUTTON UpButton[] = {
\r
857 { NOTIFY_U_DLG, TRANS_DLG },
\r
858 { NOTIFY_U_OVW, TRANS_OVW }
\r
860 #define UPBUTTONS (sizeof(UpButton)/sizeof(RADIOBUTTON))
\r
862 static const RADIOBUTTON DclickButton[] = {
\r
863 { NOTIFY_OPEN, YES },
\r
864 { NOTIFY_DOWNLOAD, NO }
\r
866 #define DCLICKBUTTONS (sizeof(DclickButton)/sizeof(RADIOBUTTON))
\r
868 static const RADIOBUTTON MoveButton[] = {
\r
869 { NOTIFY_M_NODLG, MOVE_NODLG },
\r
870 { NOTIFY_M_DLG, MOVE_DLG },
\r
871 { NOTIFY_M_DISABLE, MOVE_DISABLE }
\r
873 #define MOVEBUTTONS (sizeof(MoveButton)/sizeof(RADIOBUTTON))
\r
877 case WM_INITDIALOG :
\r
878 SetRadioButtonByValue(hDlg, RecvMode, DownButton, DOWNBUTTONS);
\r
879 SetRadioButtonByValue(hDlg, SendMode, UpButton, UPBUTTONS);
\r
880 SetRadioButtonByValue(hDlg, DclickOpen, DclickButton, DCLICKBUTTONS);
\r
881 SetRadioButtonByValue(hDlg, MoveMode, MoveButton, MOVEBUTTONS);
\r
885 pnmhdr = (NMHDR FAR *)lParam;
\r
886 switch(pnmhdr->code)
\r
889 RecvMode = AskRadioButtonValue(hDlg, DownButton, DOWNBUTTONS);
\r
890 SendMode = AskRadioButtonValue(hDlg, UpButton, UPBUTTONS);
\r
891 DclickOpen = AskRadioButtonValue(hDlg, DclickButton, DCLICKBUTTONS);
\r
892 MoveMode = AskRadioButtonValue(hDlg, MoveButton, MOVEBUTTONS);
\r
899 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000046);
\r
908 /*-----
\95\
\8e¦
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N --------------------------------------
\r
911 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
912 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
913 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
914 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
918 *----------------------------------------------------------------------------*/
\r
920 static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
923 static LOGFONT TmpFont;
\r
927 case WM_INITDIALOG :
\r
928 memcpy(&TmpFont, &ListLogFont, sizeof(LOGFONT));
\r
929 if(ListFont != NULL)
\r
930 SendDlgItemMessage(hDlg, DISP_FONT, WM_SETTEXT, 0, (LPARAM)TmpFont.lfFaceName);
\r
931 SendDlgItemMessage(hDlg, DISP_HIDE, BM_SETCHECK, DispIgnoreHide, 0);
\r
932 SendDlgItemMessage(hDlg, DISP_DRIVE, BM_SETCHECK, DispDrives, 0);
\r
936 pnmhdr = (NMHDR FAR *)lParam;
\r
937 switch(pnmhdr->code)
\r
940 DispIgnoreHide = SendDlgItemMessage(hDlg, DISP_HIDE, BM_GETCHECK, 0, 0);
\r
941 DispDrives = SendDlgItemMessage(hDlg, DISP_DRIVE, BM_GETCHECK, 0, 0);
\r
942 if(strlen(TmpFont.lfFaceName) > 0)
\r
944 memcpy(&ListLogFont, &TmpFont, sizeof(LOGFONT));
\r
945 ListFont = CreateFontIndirect(&ListLogFont);
\r
953 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000047);
\r
959 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
961 case DISP_FONT_BR :
\r
962 if(SelectListFont(hDlg, &TmpFont) == YES)
\r
963 SendDlgItemMessage(hDlg, DISP_FONT, WM_SETTEXT, 0, (LPARAM)TmpFont.lfFaceName);
\r
972 /*-----
\83t
\83H
\83\93\83g
\82ð
\91I
\82Ô --------------------------------------------------------
\r
975 * HWND hWnd :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
976 * LOGFONT *lFont :
\83t
\83H
\83\93\83g
\8fî
\95ñ
\r
982 * HFONT *hFont :
\83t
\83H
\83\93\83g
\82Ì
\83n
\83\93\83h
\83\8b\r
983 * LOGFONT *lFont :
\83t
\83H
\83\93\83g
\8fî
\95ñ
\r
984 *----------------------------------------------------------------------------*/
\r
986 static int SelectListFont(HWND hWnd, LOGFONT *lFont)
\r
988 static CHOOSEFONT cFont;
\r
991 cFont.lStructSize = sizeof(CHOOSEFONT);
\r
992 cFont.hwndOwner = hWnd;
\r
994 cFont.lpLogFont = lFont;
\r
995 cFont.Flags = CF_FORCEFONTEXIST | CF_SCREENFONTS | CF_INITTOLOGFONTSTRUCT;
\r
996 cFont.nFontType = SCREEN_FONTTYPE;
\r
999 if(ChooseFont(&cFont) == TRUE)
\r
1006 /*-----
\90Ú
\91±
\81^
\90Ø
\92f
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N --------------------------------
\r
1009 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1010 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
1011 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
1012 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
1016 *----------------------------------------------------------------------------*/
\r
1018 static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
1024 case WM_INITDIALOG :
\r
1025 SendDlgItemMessage(hDlg, CONNECT_CONNECT, BM_SETCHECK, ConnectOnStart, 0);
\r
1026 SendDlgItemMessage(hDlg, CONNECT_OLDDLG, BM_SETCHECK, ConnectAndSet, 0);
\r
1027 SendDlgItemMessage(hDlg, CONNECT_RASCLOSE, BM_SETCHECK, RasClose, 0);
\r
1028 if(AskRasUsable() == NO)
\r
1029 EnableWindow(GetDlgItem(hDlg, CONNECT_RASCLOSE), FALSE);
\r
1030 SendDlgItemMessage(hDlg, CONNECT_CLOSE_NOTIFY, BM_SETCHECK, RasCloseNotify, 0);
\r
1031 if((RasClose == NO) || (AskRasUsable() == NO))
\r
1032 EnableWindow(GetDlgItem(hDlg, CONNECT_CLOSE_NOTIFY), FALSE);
\r
1033 SendDlgItemMessage(hDlg, CONNECT_HIST, EM_LIMITTEXT, (WPARAM)2, 0);
\r
1034 SetDecimalText(hDlg, CONNECT_HIST, FileHist);
\r
1035 SendDlgItemMessage(hDlg, CONNECT_HIST_SPN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(HISTORY_MAX, 0));
\r
1036 SendDlgItemMessage(hDlg, CONNECT_QUICK_ANONY, BM_SETCHECK, QuickAnonymous, 0);
\r
1037 SendDlgItemMessage(hDlg, CONNECT_HIST_PASS, BM_SETCHECK, PassToHist, 0);
\r
1038 SendDlgItemMessage(hDlg, CONNECT_SENDQUIT, BM_SETCHECK, SendQuit, 0);
\r
1039 SendDlgItemMessage(hDlg, CONNECT_NORAS, BM_SETCHECK, NoRasControl, 0);
\r
1043 pnmhdr = (NMHDR FAR *)lParam;
\r
1044 switch(pnmhdr->code)
\r
1047 ConnectOnStart = SendDlgItemMessage(hDlg, MISC_CONNECT, BM_GETCHECK, 0, 0);
\r
1048 ConnectAndSet = SendDlgItemMessage(hDlg, MISC_OLDDLG, BM_GETCHECK, 0, 0);
\r
1049 RasClose = SendDlgItemMessage(hDlg, CONNECT_RASCLOSE, BM_GETCHECK, 0, 0);
\r
1050 RasCloseNotify = SendDlgItemMessage(hDlg, CONNECT_CLOSE_NOTIFY, BM_GETCHECK, 0, 0);
\r
1051 FileHist = GetDecimalText(hDlg, CONNECT_HIST);
\r
1052 CheckRange2(&FileHist, HISTORY_MAX, 0);
\r
1053 QuickAnonymous = SendDlgItemMessage(hDlg, CONNECT_QUICK_ANONY, BM_GETCHECK, 0, 0);
\r
1054 PassToHist = SendDlgItemMessage(hDlg, CONNECT_HIST_PASS, BM_GETCHECK, 0, 0);
\r
1055 SendQuit = SendDlgItemMessage(hDlg, CONNECT_SENDQUIT, BM_GETCHECK, 0, 0);
\r
1056 NoRasControl = SendDlgItemMessage(hDlg, CONNECT_NORAS, BM_GETCHECK, 0, 0);
\r
1063 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000048);
\r
1069 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1071 case CONNECT_RASCLOSE :
\r
1072 if(SendDlgItemMessage(hDlg, CONNECT_RASCLOSE, BM_GETCHECK, 0, 0) == 1)
\r
1073 EnableWindow(GetDlgItem(hDlg, CONNECT_CLOSE_NOTIFY), TRUE);
\r
1075 EnableWindow(GetDlgItem(hDlg, CONNECT_CLOSE_NOTIFY), FALSE);
\r
1084 /*----- FireWall
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ----------------------------------
\r
1087 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1088 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
1089 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
1090 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
1094 *----------------------------------------------------------------------------*/
\r
1096 static BOOL CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
1102 static const INTCONVTBL TypeTbl[] = {
\r
1103 { 0, 0 }, { 1, 1 }, { 2, 2 }, { 3, 8 },
\r
1104 { 4, 3 }, { 5, 4 }, { 6, 5 }, { 7, 6 },
\r
1105 { 8, 7 }, { 9, 9 }
\r
1108 static const int HideTbl[9][6] = {
\r
1109 { TRUE, TRUE, TRUE, FALSE, TRUE, FALSE },
\r
1110 { TRUE, TRUE, TRUE, FALSE, FALSE, TRUE },
\r
1111 { TRUE, TRUE, TRUE, FALSE, FALSE, FALSE },
\r
1112 { FALSE, FALSE, FALSE, FALSE, FALSE, TRUE },
\r
1113 { FALSE, FALSE, FALSE, FALSE, TRUE, FALSE },
\r
1114 { TRUE, FALSE, FALSE, FALSE, FALSE, FALSE },
\r
1115 { FALSE, FALSE, FALSE, TRUE, FALSE, FALSE },
\r
1116 { TRUE, TRUE, FALSE, TRUE, FALSE, FALSE },
\r
1117 { TRUE, TRUE, FALSE, FALSE, TRUE, TRUE }
\r
1122 case WM_INITDIALOG :
\r
1123 Type = ConvertNum(FwallType, 1, TypeTbl, sizeof(TypeTbl)/sizeof(INTCONVTBL));
\r
1124 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN204);
\r
1125 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN205);
\r
1126 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN206);
\r
1127 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN207);
\r
1128 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN208);
\r
1129 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN209);
\r
1130 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN210);
\r
1131 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN211);
\r
1132 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN294);
\r
1133 SendDlgItemMessage(hDlg, FIRE_TYPE, CB_SETCURSEL, Type-1, 0);
\r
1135 SendDlgItemMessage(hDlg, FIRE_HOST, EM_LIMITTEXT, HOST_ADRS_LEN, 0);
\r
1136 SendDlgItemMessage(hDlg, FIRE_USER, EM_LIMITTEXT, USER_NAME_LEN, 0);
\r
1137 SendDlgItemMessage(hDlg, FIRE_PASS, EM_LIMITTEXT, PASSWORD_LEN, 0);
\r
1138 SendDlgItemMessage(hDlg, FIRE_PORT, EM_LIMITTEXT, 5, 0);
\r
1139 SendDlgItemMessage(hDlg, FIRE_DELIMIT, EM_LIMITTEXT, 1, 0);
\r
1141 SendDlgItemMessage(hDlg, FIRE_HOST, WM_SETTEXT, 0, (LPARAM)FwallHost);
\r
1142 SendDlgItemMessage(hDlg, FIRE_USER, WM_SETTEXT, 0, (LPARAM)FwallUser);
\r
1143 SendDlgItemMessage(hDlg, FIRE_PASS, WM_SETTEXT, 0, (LPARAM)FwallPass);
\r
1144 sprintf(Tmp, "%d", FwallPort);
\r
1145 SendDlgItemMessage(hDlg, FIRE_PORT, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1146 sprintf(Tmp, "%c", FwallDelimiter);
\r
1147 SendDlgItemMessage(hDlg, FIRE_DELIMIT, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1149 SendDlgItemMessage(hDlg, FIRE_USEIT, BM_SETCHECK, FwallDefault, 0);
\r
1150 SendDlgItemMessage(hDlg, FIRE_PASV, BM_SETCHECK, PasvDefault, 0);
\r
1151 SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_SETCHECK, FwallResolv, 0);
\r
1152 SendDlgItemMessage(hDlg, FIRE_LOWER, BM_SETCHECK, FwallLower, 0);
\r
1154 SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN212);
\r
1155 SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN213);
\r
1156 SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN214);
\r
1157 SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN215);
\r
1158 SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN216);
\r
1159 SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_SETCURSEL, FwallSecurity, 0);
\r
1163 pnmhdr = (NMHDR FAR *)lParam;
\r
1164 switch(pnmhdr->code)
\r
1167 Type = SendDlgItemMessage(hDlg, FIRE_TYPE, CB_GETCURSEL, 0, 0) + 1;
\r
1168 FwallType = ConvertNum(Type, 0, TypeTbl, sizeof(TypeTbl)/sizeof(INTCONVTBL));
\r
1169 SendDlgItemMessage(hDlg, FIRE_HOST, WM_GETTEXT, HOST_ADRS_LEN+1, (LPARAM)FwallHost);
\r
1170 SendDlgItemMessage(hDlg, FIRE_USER, WM_GETTEXT, USER_NAME_LEN+1, (LPARAM)FwallUser);
\r
1171 SendDlgItemMessage(hDlg, FIRE_PASS, WM_GETTEXT, PASSWORD_LEN, (LPARAM)FwallPass);
\r
1172 SendDlgItemMessage(hDlg, FIRE_PORT, WM_GETTEXT, 5+1, (LPARAM)Tmp);
\r
1173 FwallPort = atoi(Tmp);
\r
1174 SendDlgItemMessage(hDlg, FIRE_DELIMIT, WM_GETTEXT, 5, (LPARAM)Tmp);
\r
1175 FwallDelimiter = Tmp[0];
\r
1176 FwallDefault = SendDlgItemMessage(hDlg, FIRE_USEIT, BM_GETCHECK, 0, 0);
\r
1177 PasvDefault = SendDlgItemMessage(hDlg, FIRE_PASV, BM_GETCHECK, 0, 0);
\r
1178 FwallResolv = SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_GETCHECK, 0, 0);
\r
1179 FwallLower = SendDlgItemMessage(hDlg, FIRE_LOWER, BM_GETCHECK, 0, 0);
\r
1180 FwallSecurity = SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_GETCURSEL, 0, 0);
\r
1187 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000049);
\r
1193 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1196 Num = SendDlgItemMessage(hDlg, FIRE_TYPE, CB_GETCURSEL, 0, 0);
\r
1197 EnableWindow(GetDlgItem(hDlg, FIRE_USER), HideTbl[Num][0]);
\r
1198 EnableWindow(GetDlgItem(hDlg, FIRE_PASS), HideTbl[Num][1]);
\r
1199 EnableWindow(GetDlgItem(hDlg, FIRE_SECURITY), HideTbl[Num][2]);
\r
1200 EnableWindow(GetDlgItem(hDlg, FIRE_RESOLV), HideTbl[Num][3]);
\r
1201 EnableWindow(GetDlgItem(hDlg, FIRE_LOWER), HideTbl[Num][4]);
\r
1202 EnableWindow(GetDlgItem(hDlg, FIRE_DELIMIT), HideTbl[Num][5]);
\r
1211 /*-----
\83c
\81[
\83\8b\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------------
\r
1214 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1215 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
1216 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
1217 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
1221 *----------------------------------------------------------------------------*/
\r
1223 static BOOL CALLBACK ToolSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
1226 char Tmp[FMAX_PATH+1];
\r
1230 case WM_INITDIALOG :
\r
1231 SendDlgItemMessage(hDlg, TOOL_EDITOR1, EM_LIMITTEXT, FMAX_PATH, 0);
\r
1232 SendDlgItemMessage(hDlg, TOOL_EDITOR2, EM_LIMITTEXT, FMAX_PATH, 0);
\r
1233 SendDlgItemMessage(hDlg, TOOL_EDITOR3, EM_LIMITTEXT, FMAX_PATH, 0);
\r
1234 SendDlgItemMessage(hDlg, TOOL_EDITOR1, WM_SETTEXT, 0, (LPARAM)ViewerName[0]);
\r
1235 SendDlgItemMessage(hDlg, TOOL_EDITOR2, WM_SETTEXT, 0, (LPARAM)ViewerName[1]);
\r
1236 SendDlgItemMessage(hDlg, TOOL_EDITOR3, WM_SETTEXT, 0, (LPARAM)ViewerName[2]);
\r
1240 pnmhdr = (NMHDR FAR *)lParam;
\r
1241 switch(pnmhdr->code)
\r
1244 SendDlgItemMessage(hDlg, TOOL_EDITOR1, WM_GETTEXT, FMAX_PATH+1, (LPARAM)ViewerName[0]);
\r
1245 SendDlgItemMessage(hDlg, TOOL_EDITOR2, WM_GETTEXT, FMAX_PATH+1, (LPARAM)ViewerName[1]);
\r
1246 SendDlgItemMessage(hDlg, TOOL_EDITOR3, WM_GETTEXT, FMAX_PATH+1, (LPARAM)ViewerName[2]);
\r
1253 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000050);
\r
1259 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1261 case TOOL_EDITOR1_BR :
\r
1262 case TOOL_EDITOR2_BR :
\r
1263 case TOOL_EDITOR3_BR :
\r
1265 if(SelectFile(hDlg, Tmp, MSGJPN217, MSGJPN218, NULL, OFN_FILEMUSTEXIST, 0) == TRUE)
\r
1267 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1269 case TOOL_EDITOR1_BR :
\r
1270 SendDlgItemMessage(hDlg, TOOL_EDITOR1, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1273 case TOOL_EDITOR2_BR :
\r
1274 SendDlgItemMessage(hDlg, TOOL_EDITOR2, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1277 case TOOL_EDITOR3_BR :
\r
1278 SendDlgItemMessage(hDlg, TOOL_EDITOR3, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1290 /*-----
\83T
\83E
\83\93\83h
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ----------------------------------
\r
1293 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1294 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
1295 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
1296 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
1300 *----------------------------------------------------------------------------*/
\r
1302 static BOOL CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
1305 char Tmp[FMAX_PATH+1];
\r
1309 case WM_INITDIALOG :
\r
1310 SendDlgItemMessage(hDlg, SOUND_CONNECT, BM_SETCHECK, Sound[SND_CONNECT].On, 0);
\r
1311 SendDlgItemMessage(hDlg, SOUND_TRANS, BM_SETCHECK, Sound[SND_TRANS].On, 0);
\r
1312 SendDlgItemMessage(hDlg, SOUND_ERROR, BM_SETCHECK, Sound[SND_ERROR].On, 0);
\r
1314 SendDlgItemMessage(hDlg, SOUND_CONNECT_WAV, EM_LIMITTEXT, (WPARAM)FMAX_PATH, 0);
\r
1315 SendDlgItemMessage(hDlg, SOUND_TRANS_WAV, EM_LIMITTEXT, (WPARAM)FMAX_PATH, 0);
\r
1316 SendDlgItemMessage(hDlg, SOUND_ERROR_WAV, EM_LIMITTEXT, (WPARAM)FMAX_PATH, 0);
\r
1317 SendDlgItemMessage(hDlg, SOUND_CONNECT_WAV, WM_SETTEXT, 0, (LPARAM)Sound[SND_CONNECT].Fname);
\r
1318 SendDlgItemMessage(hDlg, SOUND_TRANS_WAV, WM_SETTEXT, 0, (LPARAM)Sound[SND_TRANS].Fname);
\r
1319 SendDlgItemMessage(hDlg, SOUND_ERROR_WAV, WM_SETTEXT, 0, (LPARAM)Sound[SND_ERROR].Fname);
\r
1323 pnmhdr = (NMHDR FAR *)lParam;
\r
1324 switch(pnmhdr->code)
\r
1327 Sound[SND_CONNECT].On = SendDlgItemMessage(hDlg, SOUND_CONNECT, BM_GETCHECK, 0, 0);
\r
1328 Sound[SND_TRANS].On = SendDlgItemMessage(hDlg, SOUND_TRANS, BM_GETCHECK, 0, 0);
\r
1329 Sound[SND_ERROR].On = SendDlgItemMessage(hDlg, SOUND_ERROR, BM_GETCHECK, 0, 0);
\r
1330 SendDlgItemMessage(hDlg, SOUND_CONNECT_WAV, WM_GETTEXT, FMAX_PATH+1, (LPARAM)Sound[SND_CONNECT].Fname);
\r
1331 SendDlgItemMessage(hDlg, SOUND_TRANS_WAV, WM_GETTEXT, FMAX_PATH+1, (LPARAM)Sound[SND_TRANS].Fname);
\r
1332 SendDlgItemMessage(hDlg, SOUND_ERROR_WAV, WM_GETTEXT, FMAX_PATH+1, (LPARAM)Sound[SND_ERROR].Fname);
\r
1339 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000051);
\r
1345 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1347 case SOUND_CONNECT_BR :
\r
1348 case SOUND_TRANS_BR :
\r
1349 case SOUND_ERROR_BR :
\r
1351 if(SelectFile(hDlg, Tmp, MSGJPN219, MSGJPN277, NULL, OFN_FILEMUSTEXIST, 0) == TRUE)
\r
1353 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1355 case SOUND_CONNECT_BR :
\r
1356 SendDlgItemMessage(hDlg, SOUND_CONNECT_WAV, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1359 case SOUND_TRANS_BR :
\r
1360 SendDlgItemMessage(hDlg, SOUND_TRANS_WAV, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1363 case SOUND_ERROR_BR :
\r
1364 SendDlgItemMessage(hDlg, SOUND_ERROR_WAV, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1370 case SOUND_CONNECT_TEST :
\r
1371 SendDlgItemMessage(hDlg, SOUND_CONNECT_WAV, WM_GETTEXT, FMAX_PATH+1, (LPARAM)Tmp);
\r
1372 sndPlaySound(Tmp, SND_ASYNC | SND_NODEFAULT);
\r
1375 case SOUND_TRANS_TEST :
\r
1376 SendDlgItemMessage(hDlg, SOUND_TRANS_WAV, WM_GETTEXT, FMAX_PATH+1, (LPARAM)Tmp);
\r
1377 sndPlaySound(Tmp, SND_ASYNC | SND_NODEFAULT);
\r
1380 case SOUND_ERROR_TEST :
\r
1381 SendDlgItemMessage(hDlg, SOUND_ERROR_WAV, WM_GETTEXT, FMAX_PATH+1, (LPARAM)Tmp);
\r
1382 sndPlaySound(Tmp, SND_ASYNC | SND_NODEFAULT);
\r
1391 /*-----
\82»
\82Ì
\91¼
\82Ì
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ----------------------------------
\r
1394 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1395 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
1396 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
1397 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
1401 *----------------------------------------------------------------------------*/
\r
1403 static BOOL CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
1406 char Tmp[FMAX_PATH+1];
\r
1410 case WM_INITDIALOG :
\r
1411 SendDlgItemMessage(hDlg, MISC_WINPOS, BM_SETCHECK, SaveWinPos, 0);
\r
1412 SendDlgItemMessage(hDlg, MISC_DEBUG, BM_SETCHECK, DebugConsole, 0);
\r
1413 SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_SETCHECK, RegType, 0);
\r
1415 SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_SETCHECK, CacheSave, 0);
\r
1416 SendDlgItemMessage(hDlg, MISC_BUFNUM, EM_LIMITTEXT, (WPARAM)2, 0);
\r
1417 SetDecimalText(hDlg, MISC_BUFNUM, abs(CacheEntry));
\r
1418 SendDlgItemMessage(hDlg, MISC_BUFNUM_SPIN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(99, 1));
\r
1419 if(CacheEntry > 0)
\r
1421 SendDlgItemMessage(hDlg, MISC_CACHE, BM_SETCHECK, 1, 0);
\r
1422 EnableWindow(GetDlgItem(hDlg, MISC_BUFNUM), TRUE);
\r
1423 EnableWindow(GetDlgItem(hDlg, MISC_CACHE_SAVE), TRUE);
\r
1427 SendDlgItemMessage(hDlg, MISC_CACHE, BM_SETCHECK, 0, 0);
\r
1428 EnableWindow(GetDlgItem(hDlg, MISC_BUFNUM), FALSE);
\r
1429 EnableWindow(GetDlgItem(hDlg, MISC_CACHE_SAVE), FALSE);
\r
1432 SendDlgItemMessage(hDlg, MISC_CACHEDIR, EM_LIMITTEXT, (WPARAM)FMAX_PATH, 0);
\r
1433 SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_SETTEXT, 0, (LPARAM)TmpPath);
\r
1437 pnmhdr = (NMHDR FAR *)lParam;
\r
1438 switch(pnmhdr->code)
\r
1441 SaveWinPos = SendDlgItemMessage(hDlg, MISC_WINPOS, BM_GETCHECK, 0, 0);
\r
1442 DebugConsole = SendDlgItemMessage(hDlg, MISC_DEBUG, BM_GETCHECK, 0, 0);
\r
1443 RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);
\r
1445 CacheSave = SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_GETCHECK, 0, 0);
\r
1446 CacheEntry = GetDecimalText(hDlg, MISC_BUFNUM);
\r
1447 if(SendDlgItemMessage(hDlg, MISC_CACHE, BM_GETCHECK, 0, 0) == 0)
\r
1448 CacheEntry = -CacheEntry;
\r
1450 SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_GETTEXT, FMAX_PATH+1, (LPARAM)TmpPath);
\r
1457 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000052);
\r
1463 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1466 if(SendDlgItemMessage(hDlg, MISC_CACHE, BM_GETCHECK, 0, 0) == 1)
\r
1468 EnableWindow(GetDlgItem(hDlg, TRMODE_EXT), TRUE);
\r
1469 EnableWindow(GetDlgItem(hDlg, MISC_CACHE_SAVE), TRUE);
\r
1473 EnableWindow(GetDlgItem(hDlg, TRMODE_EXT), FALSE);
\r
1474 EnableWindow(GetDlgItem(hDlg, MISC_CACHE_SAVE), FALSE);
\r
1478 case MISC_CACHEDIR_BR :
\r
1479 if(SelectDir(hDlg, Tmp, FMAX_PATH) == TRUE)
\r
1480 SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1483 case MISC_CACHEDIR_DEF :
\r
1484 GetTempPath(FMAX_PATH, Tmp);
\r
1485 SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1494 /*-----
\83\
\81[
\83g
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E --------------------------------------------------
\r
1500 * int
\83X
\83e
\81[
\83^
\83X (YES=
\8eÀ
\8ds/NO=
\8eæ
\8fÁ)
\r
1501 *----------------------------------------------------------------------------*/
\r
1503 int SortSetting(void)
\r
1507 Sts = DialogBox(GetFtpInst(), MAKEINTRESOURCE(sort_dlg), GetMainHwnd(), SortSettingProc);
\r
1512 /*-----
\83\
\81[
\83g
\90Ý
\92è
\83E
\83C
\83\93\83h
\83E
\82Ì
\83R
\81[
\83\8b\83o
\83b
\83N ------------------------------------
\r
1515 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1516 * UINT message :
\83\81\83b
\83Z
\81[
\83W
\94Ô
\8d\86\r
1517 * WPARAM wParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì WPARAM
\88ø
\90\94\r
1518 * LPARAM lParam :
\83\81\83b
\83Z
\81[
\83W
\82Ì LPARAM
\88ø
\90\94\r
1522 *----------------------------------------------------------------------------*/
\r
1524 static BOOL CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
\r
1531 static const RADIOBUTTON LsortOrdButton[] = {
\r
1532 { SORT_LFILE_NAME, SORT_NAME },
\r
1533 { SORT_LFILE_EXT, SORT_EXT },
\r
1534 { SORT_LFILE_SIZE, SORT_SIZE },
\r
1535 { SORT_LFILE_DATE, SORT_DATE }
\r
1537 #define LSORTORDBUTTONS (sizeof(LsortOrdButton)/sizeof(RADIOBUTTON))
\r
1539 static const RADIOBUTTON LDirsortOrdButton[] = {
\r
1540 { SORT_LDIR_NAME, SORT_NAME },
\r
1541 { SORT_LDIR_DATE, SORT_DATE }
\r
1543 #define LDIRSORTORDBUTTONS (sizeof(LDirsortOrdButton)/sizeof(RADIOBUTTON))
\r
1545 static const RADIOBUTTON RsortOrdButton[] = {
\r
1546 { SORT_RFILE_NAME, SORT_NAME },
\r
1547 { SORT_RFILE_EXT, SORT_EXT },
\r
1548 { SORT_RFILE_SIZE, SORT_SIZE },
\r
1549 { SORT_RFILE_DATE, SORT_DATE }
\r
1551 #define RSORTORDBUTTONS (sizeof(RsortOrdButton)/sizeof(RADIOBUTTON))
\r
1553 static const RADIOBUTTON RDirsortOrdButton[] = {
\r
1554 { SORT_RDIR_NAME, SORT_NAME },
\r
1555 { SORT_RDIR_DATE, SORT_DATE }
\r
1557 #define RDIRSORTORDBUTTONS (sizeof(RDirsortOrdButton)/sizeof(RADIOBUTTON))
\r
1561 case WM_INITDIALOG :
\r
1563 SetRadioButtonByValue(hDlg, AskSortType(ITEM_LFILE) & SORT_MASK_ORD, LsortOrdButton, LSORTORDBUTTONS);
\r
1565 if((AskSortType(ITEM_LFILE) & SORT_GET_ORD) == SORT_ASCENT)
\r
1566 SendDlgItemMessage(hDlg, SORT_LFILE_REV, BM_SETCHECK, 0, 0);
\r
1568 SendDlgItemMessage(hDlg, SORT_LFILE_REV, BM_SETCHECK, 1, 0);
\r
1570 SetRadioButtonByValue(hDlg, AskSortType(ITEM_LDIR) & SORT_MASK_ORD, LDirsortOrdButton, LDIRSORTORDBUTTONS);
\r
1572 if((AskSortType(ITEM_LDIR) & SORT_GET_ORD) == SORT_ASCENT)
\r
1573 SendDlgItemMessage(hDlg, SORT_LDIR_REV, BM_SETCHECK, 0, 0);
\r
1575 SendDlgItemMessage(hDlg, SORT_LDIR_REV, BM_SETCHECK, 1, 0);
\r
1577 SetRadioButtonByValue(hDlg, AskSortType(ITEM_RFILE) & SORT_MASK_ORD, RsortOrdButton, RSORTORDBUTTONS);
\r
1579 if((AskSortType(ITEM_RFILE) & SORT_GET_ORD) == SORT_ASCENT)
\r
1580 SendDlgItemMessage(hDlg, SORT_RFILE_REV, BM_SETCHECK, 0, 0);
\r
1582 SendDlgItemMessage(hDlg, SORT_RFILE_REV, BM_SETCHECK, 1, 0);
\r
1584 SetRadioButtonByValue(hDlg, AskSortType(ITEM_RDIR) & SORT_MASK_ORD, RDirsortOrdButton, RDIRSORTORDBUTTONS);
\r
1586 if((AskSortType(ITEM_RDIR) & SORT_GET_ORD) == SORT_ASCENT)
\r
1587 SendDlgItemMessage(hDlg, SORT_RDIR_REV, BM_SETCHECK, 0, 0);
\r
1589 SendDlgItemMessage(hDlg, SORT_RDIR_REV, BM_SETCHECK, 1, 0);
\r
1591 SendDlgItemMessage(hDlg, SORT_SAVEHOST, BM_SETCHECK, AskSaveSortToHost(), 0);
\r
1596 switch(GET_WM_COMMAND_ID(wParam, lParam))
\r
1599 LFsort = AskRadioButtonValue(hDlg, LsortOrdButton, LSORTORDBUTTONS);
\r
1601 if(SendDlgItemMessage(hDlg, SORT_LFILE_REV, BM_GETCHECK, 0, 0) == 1)
\r
1602 LFsort |= SORT_DESCENT;
\r
1604 LDsort = AskRadioButtonValue(hDlg, LDirsortOrdButton, LDIRSORTORDBUTTONS);
\r
1606 if(SendDlgItemMessage(hDlg, SORT_LDIR_REV, BM_GETCHECK, 0, 0) == 1)
\r
1607 LDsort |= SORT_DESCENT;
\r
1609 RFsort = AskRadioButtonValue(hDlg, RsortOrdButton, RSORTORDBUTTONS);
\r
1611 if(SendDlgItemMessage(hDlg, SORT_RFILE_REV, BM_GETCHECK, 0, 0) == 1)
\r
1612 RFsort |= SORT_DESCENT;
\r
1614 RDsort = AskRadioButtonValue(hDlg, RDirsortOrdButton, RDIRSORTORDBUTTONS);
\r
1616 if(SendDlgItemMessage(hDlg, SORT_RDIR_REV, BM_GETCHECK, 0, 0) == 1)
\r
1617 RDsort |= SORT_DESCENT;
\r
1619 SetSortTypeImm(LFsort, LDsort, RFsort, RDsort);
\r
1621 SetSaveSortToHost(SendDlgItemMessage(hDlg, SORT_SAVEHOST, BM_GETCHECK, 0, 0));
\r
1623 EndDialog(hDlg, YES);
\r
1627 EndDialog(hDlg, NO);
\r
1631 hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000001);
\r
1640 /*-----
\83_
\83C
\83A
\83\8d\83O
\82Ì
\83R
\83\93\83g
\83\8d\81[
\83\8b\82©
\82ç
\82P
\82O
\90i
\90\94\82ð
\8eæ
\93¾ ----------------------------
\r
1643 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1644 * int Ctrl :
\83R
\83\93\83g
\83\8d\81[
\83\8b\82ÌID
\r
1648 *----------------------------------------------------------------------------*/
\r
1650 static int GetDecimalText(HWND hDlg, int Ctrl)
\r
1654 SendDlgItemMessage(hDlg, Ctrl, WM_GETTEXT, (WPARAM)39, (LPARAM)Tmp);
\r
1655 return(atoi(Tmp));
\r
1659 /*-----
\83_
\83C
\83A
\83\8d\83O
\82Ì
\83R
\83\93\83g
\83\8d\81[
\83\8b\82É
\82P
\82O
\90i
\90\94\82ð
\83Z
\83b
\83g ----------------------------
\r
1662 * HWND hDlg :
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1663 * int Ctrl :
\83R
\83\93\83g
\83\8d\81[
\83\8b\82ÌID
\r
1664 * int Num :
\90\94\92l
\r
1668 *----------------------------------------------------------------------------*/
\r
1670 static void SetDecimalText(HWND hDlg, int Ctrl, int Num)
\r
1674 sprintf(Tmp, "%d", Num);
\r
1675 SendDlgItemMessage(hDlg, Ctrl, WM_SETTEXT, 0, (LPARAM)Tmp);
\r
1680 /*-----
\90Ý
\92è
\92l
\82Ì
\94Í
\88Í
\83`
\83F
\83b
\83N --------------------------------------------------
\r
1683 * int *Cur :
\90Ý
\92è
\92l
\r
1684 * int Max :
\8dÅ
\91å
\92l
\r
1685 * int Min :
\8dÅ
\8f¬
\92l
\r
1690 * Parameter change
\r
1691 * int *Cur :
\90Ý
\92è
\92l
\r
1692 *----------------------------------------------------------------------------*/
\r
1694 static void CheckRange2(int *Cur, int Max, int Min)
\r
1704 /*-----
\95¶
\8e\9a\97ñ
\82ð
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82É
\92Ç
\89Á ------------------------------------------
\r
1707 * HWND hDlg :
\83_
\83C
\83A
\83\8d\83O
\83{
\83b
\83N
\83X
\82Ì
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1708 * char *Str :
\95¶
\8e\9a\97ñ
\r
1709 * int CtrlList :
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82ÌID
\r
1710 * int BufSize :
\83o
\83b
\83t
\83@
\83T
\83C
\83Y
\r
1714 *----------------------------------------------------------------------------*/
\r
1716 static void AddTextToListBox(HWND hDlg, char *Str, int CtrlList, int BufSize)
\r
1718 char Tmp[FMAX_PATH+1];
\r
1723 Len = strlen(Str);
\r
1727 Num = SendDlgItemMessage(hDlg, CtrlList, LB_GETCOUNT, 0, 0);
\r
1728 for(i = 0; i < Num; i++)
\r
1730 SendDlgItemMessage(hDlg, CtrlList, LB_GETTEXT, i, (LPARAM)Tmp);
\r
1731 Len += strlen(Tmp) + 1;
\r
1734 if(Len > (BufSize-1))
\r
1737 SendDlgItemMessage(hDlg, CtrlList, LB_ADDSTRING, 0, (LPARAM)Str);
\r
1743 /*-----
\83}
\83\8b\83`
\95¶
\8e\9a\97ñ
\82ð
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82É
\83Z
\83b
\83g ----------------------------------
\r
1746 * HWND hDlg :
\83_
\83C
\83A
\83\8d\83O
\83{
\83b
\83N
\83X
\82Ì
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1747 * int CtrlList :
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82ÌID
\r
1748 * char *Text :
\95¶
\8e\9a\97ñ
\r
1752 *----------------------------------------------------------------------------*/
\r
1754 static void SetMultiTextToList(HWND hDlg, int CtrlList, char *Text)
\r
1759 while(*Pos != NUL)
\r
1761 SendDlgItemMessage(hDlg, CtrlList, LB_ADDSTRING, 0, (LPARAM)Pos);
\r
1762 Pos += strlen(Pos) + 1;
\r
1768 /*-----
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82Ì
\93à
\97e
\82ð
\83}
\83\8b\83`
\95¶
\8e\9a\97ñ
\82É
\82·
\82é ------------------------------
\r
1771 * HWND hDlg :
\83_
\83C
\83A
\83\8d\83O
\83{
\83b
\83N
\83X
\82Ì
\83E
\83C
\83\93\83h
\83E
\83n
\83\93\83h
\83\8b\r
1772 * int CtrlList :
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82ÌID
\r
1773 * char *Buf :
\95¶
\8e\9a\97ñ
\82ð
\83Z
\83b
\83g
\82·
\82é
\83o
\83b
\83t
\83@
\r
1774 * int BufSize :
\83o
\83b
\83t
\83@
\82Ì
\83T
\83C
\83Y
\r
1778 *----------------------------------------------------------------------------*/
\r
1780 static void GetMultiTextFromList(HWND hDlg, int CtrlList, char *Buf, int BufSize)
\r
1782 char Tmp[FMAX_PATH+1];
\r
1786 memset(Buf, NUL, BufSize);
\r
1787 Num = SendDlgItemMessage(hDlg, CtrlList, LB_GETCOUNT, 0, 0);
\r
1788 for(i = 0; i < Num; i++)
\r
1790 SendDlgItemMessage(hDlg, CtrlList, LB_GETTEXT, i, (LPARAM)Tmp);
\r
1791 strcpy(Buf + StrMultiLen(Buf), Tmp);
\r