static void AddFnameAttrToListView(HWND hDlg, char *Fname, char *Attr);\r
static void GetFnameAttrFromListView(HWND hDlg, char *Buf);\r
// 64ビット対応\r
+// ファイルの属性を数字で表示\r
//static BOOL CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
//static BOOL CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
//static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static INT_PTR CALLBACK MirrorSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static INT_PTR CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
-static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Disp1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static int SelectListFont(HWND hWnd, LOGFONT *lFont);\r
// 64ビット対応\r
//static BOOL CALLBACK ConnectSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static INT_PTR CALLBACK SoundSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static INT_PTR CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
static INT_PTR CALLBACK SortSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
+// ソフトウェア自動更新\r
+static INT_PTR CALLBACK UpdatesSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);\r
// hostman.cで使用\r
//static int GetDecimalText(HWND hDlg, int Ctrl);\r
//static void SetDecimalText(HWND hDlg, int Ctrl, int Num);\r
extern int FwallType;\r
extern int FwallDefault;\r
extern int FwallSecurity;\r
-extern int FwallResolv;\r
+extern int FwallResolve;\r
extern int FwallLower;\r
extern int FwallDelimiter;\r
extern int PasvDefault;\r
extern int DispFileIcon;\r
// タイムスタンプのバグ修正\r
extern int DispTimeSeconds;\r
+// ファイルの属性を数字で表示\r
+extern int DispPermissionsNumber;\r
// ディレクトリ自動作成\r
extern int MakeAllDir;\r
+// UPnP対応\r
+extern int UPnPEnabled;\r
+// 全設定暗号化対応\r
+extern int EncryptAllSettings;\r
+// ローカル側自動更新\r
+extern int AutoRefreshFileList;\r
+// 古い処理内容を消去\r
+extern int RemoveOldLog;\r
+// ソフトウェア自動更新\r
+extern int AutoCheckForUpdates;\r
+extern int AutoApplyUpdates;\r
+extern int AutoCheckForUptatesInterval;\r
\r
\r
/*----- オプションのプロパティシート ------------------------------------------\r
{\r
// UTF-8対応\r
// PROPSHEETPAGE psp[12];\r
- PROPSHEETPAGE psp[13];\r
+ PROPSHEETPAGE psp[15];\r
PROPSHEETHEADER psh;\r
\r
// 変数が未初期化のバグ修正\r
psp[7].dwSize = sizeof(PROPSHEETPAGE);\r
psp[7].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
psp[7].hInstance = GetFtpInst();\r
- psp[7].pszTemplate = MAKEINTRESOURCE(opt_disp_dlg);\r
+ psp[7].pszTemplate = MAKEINTRESOURCE(opt_disp1_dlg);\r
psp[7].pszIcon = NULL;\r
- psp[7].pfnDlgProc = DispSettingProc;\r
+ psp[7].pfnDlgProc = Disp1SettingProc;\r
psp[7].pszTitle = MSGJPN192;\r
psp[7].lParam = 0;\r
psp[7].pfnCallback = NULL;\r
psp[8].dwSize = sizeof(PROPSHEETPAGE);\r
psp[8].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
psp[8].hInstance = GetFtpInst();\r
- psp[8].pszTemplate = MAKEINTRESOURCE(opt_connect_dlg);\r
+ psp[8].pszTemplate = MAKEINTRESOURCE(opt_disp2_dlg);\r
psp[8].pszIcon = NULL;\r
- psp[8].pfnDlgProc = ConnectSettingProc;\r
- psp[8].pszTitle = MSGJPN193;\r
+ psp[8].pfnDlgProc = Disp2SettingProc;\r
+ psp[8].pszTitle = MSGJPN340;\r
psp[8].lParam = 0;\r
psp[8].pfnCallback = NULL;\r
\r
psp[9].dwSize = sizeof(PROPSHEETPAGE);\r
psp[9].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
psp[9].hInstance = GetFtpInst();\r
- psp[9].pszTemplate = MAKEINTRESOURCE(opt_fire_dlg);\r
+ psp[9].pszTemplate = MAKEINTRESOURCE(opt_connect_dlg);\r
psp[9].pszIcon = NULL;\r
- psp[9].pfnDlgProc = FireSettingProc;\r
- psp[9].pszTitle = MSGJPN194;\r
+ psp[9].pfnDlgProc = ConnectSettingProc;\r
+ psp[9].pszTitle = MSGJPN193;\r
psp[9].lParam = 0;\r
psp[9].pfnCallback = NULL;\r
\r
psp[10].dwSize = sizeof(PROPSHEETPAGE);\r
psp[10].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
psp[10].hInstance = GetFtpInst();\r
- psp[10].pszTemplate = MAKEINTRESOURCE(opt_tool_dlg);\r
+ psp[10].pszTemplate = MAKEINTRESOURCE(opt_fire_dlg);\r
psp[10].pszIcon = NULL;\r
- psp[10].pfnDlgProc = ToolSettingProc;\r
- psp[10].pszTitle = MSGJPN195;\r
+ psp[10].pfnDlgProc = FireSettingProc;\r
+ psp[10].pszTitle = MSGJPN194;\r
psp[10].lParam = 0;\r
psp[10].pfnCallback = NULL;\r
\r
psp[11].dwSize = sizeof(PROPSHEETPAGE);\r
psp[11].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
psp[11].hInstance = GetFtpInst();\r
- psp[11].pszTemplate = MAKEINTRESOURCE(opt_sound_dlg);\r
+ psp[11].pszTemplate = MAKEINTRESOURCE(opt_tool_dlg);\r
psp[11].pszIcon = NULL;\r
- psp[11].pfnDlgProc = SoundSettingProc;\r
- psp[11].pszTitle = MSGJPN196;\r
+ psp[11].pfnDlgProc = ToolSettingProc;\r
+ psp[11].pszTitle = MSGJPN195;\r
psp[11].lParam = 0;\r
psp[11].pfnCallback = NULL;\r
\r
psp[12].dwSize = sizeof(PROPSHEETPAGE);\r
psp[12].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
psp[12].hInstance = GetFtpInst();\r
- psp[12].pszTemplate = MAKEINTRESOURCE(opt_misc_dlg);\r
+ psp[12].pszTemplate = MAKEINTRESOURCE(opt_sound_dlg);\r
psp[12].pszIcon = NULL;\r
- psp[12].pfnDlgProc = MiscSettingProc;\r
- psp[12].pszTitle = MSGJPN197;\r
+ psp[12].pfnDlgProc = SoundSettingProc;\r
+ psp[12].pszTitle = MSGJPN196;\r
psp[12].lParam = 0;\r
psp[12].pfnCallback = NULL;\r
\r
+ psp[13].dwSize = sizeof(PROPSHEETPAGE);\r
+ psp[13].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+ psp[13].hInstance = GetFtpInst();\r
+ psp[13].pszTemplate = MAKEINTRESOURCE(opt_updates_dlg);\r
+ psp[13].pszIcon = NULL;\r
+ psp[13].pfnDlgProc = UpdatesSettingProc;\r
+ psp[13].pszTitle = MSGJPN360;\r
+ psp[13].lParam = 0;\r
+ psp[13].pfnCallback = NULL;\r
+\r
+ psp[14].dwSize = sizeof(PROPSHEETPAGE);\r
+ psp[14].dwFlags = PSP_USETITLE | PSP_HASHELP;\r
+ psp[14].hInstance = GetFtpInst();\r
+ psp[14].pszTemplate = MAKEINTRESOURCE(opt_misc_dlg);\r
+ psp[14].pszIcon = NULL;\r
+ psp[14].pfnDlgProc = MiscSettingProc;\r
+ psp[14].pszTitle = MSGJPN197;\r
+ psp[14].lParam = 0;\r
+ psp[14].pfnCallback = NULL;\r
+\r
psh.dwSize = sizeof(PROPSHEETHEADER);\r
psh.dwFlags = PSH_HASHELP | PSH_NOAPPLYNOW | PSH_PROPSHEETPAGE;\r
psh.hwndParent = GetMainHwnd();\r
break;\r
\r
case PSN_HELP :\r
- // TODO:\r
-// hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000044);\r
+ hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000067);\r
break;\r
}\r
break;\r
*----------------------------------------------------------------------------*/\r
\r
// 64ビット対応\r
+// ファイルの属性を数字で表示\r
//static BOOL CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
-static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+static INT_PTR CALLBACK Disp1SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
{\r
NMHDR *pnmhdr;\r
static LOGFONT TmpFont;\r
}\r
\r
\r
+// ファイルの属性を数字で表示\r
+// ローカル側自動更新\r
+static INT_PTR CALLBACK Disp2SettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+ NMHDR *pnmhdr;\r
+ static LOGFONT TmpFont;\r
+\r
+ switch (message)\r
+ {\r
+ case WM_INITDIALOG :\r
+ SendDlgItemMessage(hDlg, DISP2_PERMIT_NUM, BM_SETCHECK, DispPermissionsNumber, 0);\r
+ SendDlgItemMessage(hDlg, DISP2_AUTO_REFRESH, BM_SETCHECK, AutoRefreshFileList, 0);\r
+ SendDlgItemMessage(hDlg, DISP2_REMOVE_OLD_LOG, BM_SETCHECK, RemoveOldLog, 0);\r
+ return(TRUE);\r
+\r
+ case WM_NOTIFY:\r
+ pnmhdr = (NMHDR FAR *)lParam;\r
+ switch(pnmhdr->code)\r
+ {\r
+ case PSN_APPLY :\r
+ DispPermissionsNumber = SendDlgItemMessage(hDlg, DISP2_PERMIT_NUM, BM_GETCHECK, 0, 0);\r
+ AutoRefreshFileList = SendDlgItemMessage(hDlg, DISP2_AUTO_REFRESH, BM_GETCHECK, 0, 0);\r
+ RemoveOldLog = SendDlgItemMessage(hDlg, DISP2_REMOVE_OLD_LOG, BM_GETCHECK, 0, 0);\r
+ break;\r
+\r
+ case PSN_RESET :\r
+ break;\r
+\r
+ case PSN_HELP :\r
+ hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000068);\r
+ break;\r
+ }\r
+ break;\r
+ }\r
+ return(FALSE);\r
+}\r
+\r
+\r
/*----- フォントを選ぶ --------------------------------------------------------\r
*\r
* Parameter\r
SendDlgItemMessage(hDlg, CONNECT_HIST_PASS, BM_SETCHECK, PassToHist, 0);\r
SendDlgItemMessage(hDlg, CONNECT_SENDQUIT, BM_SETCHECK, SendQuit, 0);\r
SendDlgItemMessage(hDlg, CONNECT_NORAS, BM_SETCHECK, NoRasControl, 0);\r
+ // UPnP対応\r
+ SendDlgItemMessage(hDlg, CONNECT_UPNP, BM_SETCHECK, UPnPEnabled, 0);\r
return(TRUE);\r
\r
case WM_NOTIFY:\r
PassToHist = SendDlgItemMessage(hDlg, CONNECT_HIST_PASS, BM_GETCHECK, 0, 0);\r
SendQuit = SendDlgItemMessage(hDlg, CONNECT_SENDQUIT, BM_GETCHECK, 0, 0);\r
NoRasControl = SendDlgItemMessage(hDlg, CONNECT_NORAS, BM_GETCHECK, 0, 0);\r
+ // UPnP対応\r
+ if(IsUPnPLoaded() == YES)\r
+ UPnPEnabled = SendDlgItemMessage(hDlg, CONNECT_UPNP, BM_GETCHECK, 0, 0);\r
break;\r
\r
case PSN_RESET :\r
\r
SendDlgItemMessage(hDlg, FIRE_USEIT, BM_SETCHECK, FwallDefault, 0);\r
SendDlgItemMessage(hDlg, FIRE_PASV, BM_SETCHECK, PasvDefault, 0);\r
- SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_SETCHECK, FwallResolv, 0);\r
+ SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_SETCHECK, FwallResolve, 0);\r
SendDlgItemMessage(hDlg, FIRE_LOWER, BM_SETCHECK, FwallLower, 0);\r
\r
SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_ADDSTRING, 0, (LPARAM)MSGJPN212);\r
FwallDelimiter = Tmp[0];\r
FwallDefault = SendDlgItemMessage(hDlg, FIRE_USEIT, BM_GETCHECK, 0, 0);\r
PasvDefault = SendDlgItemMessage(hDlg, FIRE_PASV, BM_GETCHECK, 0, 0);\r
- FwallResolv = SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_GETCHECK, 0, 0);\r
+ FwallResolve = SendDlgItemMessage(hDlg, FIRE_RESOLV, BM_GETCHECK, 0, 0);\r
FwallLower = SendDlgItemMessage(hDlg, FIRE_LOWER, BM_GETCHECK, 0, 0);\r
FwallSecurity = SendDlgItemMessage(hDlg, FIRE_SECURITY, CB_GETCURSEL, 0, 0);\r
break;\r
// ポータブル版判定\r
if(AskForceIni() == YES)\r
EnableWindow(GetDlgItem(hDlg, MISC_REGTYPE), FALSE);\r
+ // 全設定暗号化対応\r
+ SendDlgItemMessage(hDlg, MISC_ENCRYPT_SETTINGS, BM_SETCHECK, EncryptAllSettings, 0);\r
\r
SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_SETCHECK, CacheSave, 0);\r
SendDlgItemMessage(hDlg, MISC_BUFNUM, EM_LIMITTEXT, (WPARAM)2, 0);\r
// RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);\r
if(AskForceIni() == NO)\r
RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);\r
+ // 全設定暗号化対応\r
+ EncryptAllSettings = SendDlgItemMessage(hDlg, MISC_ENCRYPT_SETTINGS, BM_GETCHECK, 0, 0);\r
\r
CacheSave = SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_GETCHECK, 0, 0);\r
CacheEntry = GetDecimalText(hDlg, MISC_BUFNUM);\r
}\r
\r
\r
+// ソフトウェア自動更新\r
+static INT_PTR CALLBACK UpdatesSettingProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)\r
+{\r
+ NMHDR *pnmhdr;\r
+\r
+ switch (message)\r
+ {\r
+ case WM_INITDIALOG :\r
+ SendDlgItemMessage(hDlg, UPDATES_AUTO_CHECK, BM_SETCHECK, AutoCheckForUpdates, 0);\r
+ SendDlgItemMessage(hDlg, UPDATES_AUTO_APPLY, BM_SETCHECK, AutoApplyUpdates, 0);\r
+ SendDlgItemMessage(hDlg, UPDATES_INTERVAL, EM_LIMITTEXT, (WPARAM)3, 0);\r
+ SetDecimalText(hDlg, UPDATES_INTERVAL, AutoCheckForUptatesInterval);\r
+ SendDlgItemMessage(hDlg, UPDATES_INTERVAL_SPN, UDM_SETRANGE, 0, (LPARAM)MAKELONG(999, 0));\r
+ if(AutoCheckForUpdates == YES)\r
+ {\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), TRUE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), TRUE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), TRUE);\r
+ }\r
+ else\r
+ {\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), FALSE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), FALSE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), FALSE);\r
+ }\r
+ return(TRUE);\r
+\r
+ case WM_NOTIFY:\r
+ pnmhdr = (NMHDR FAR *)lParam;\r
+ switch(pnmhdr->code)\r
+ {\r
+ case PSN_APPLY :\r
+ AutoCheckForUpdates = SendDlgItemMessage(hDlg, UPDATES_AUTO_CHECK, BM_GETCHECK, 0, 0);\r
+ AutoApplyUpdates = SendDlgItemMessage(hDlg, UPDATES_AUTO_APPLY, BM_GETCHECK, 0, 0);\r
+ AutoCheckForUptatesInterval = GetDecimalText(hDlg, UPDATES_INTERVAL);\r
+ CheckRange2(&AutoCheckForUptatesInterval, 999, 0);\r
+ break;\r
+\r
+ case PSN_RESET :\r
+ break;\r
+\r
+ case PSN_HELP :\r
+// hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000069);\r
+ break;\r
+ }\r
+ break;\r
+\r
+ case WM_COMMAND :\r
+ switch(GET_WM_COMMAND_ID(wParam, lParam))\r
+ {\r
+ case UPDATES_AUTO_CHECK :\r
+ if(SendDlgItemMessage(hDlg, UPDATES_AUTO_CHECK, BM_GETCHECK, 0, 0) == 1)\r
+ {\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), TRUE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), TRUE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), TRUE);\r
+ }\r
+ else\r
+ {\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_AUTO_APPLY), FALSE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL), FALSE);\r
+ EnableWindow(GetDlgItem(hDlg, UPDATES_INTERVAL_SPN), FALSE);\r
+ }\r
+ break;\r
+ }\r
+ return(TRUE);\r
+ }\r
+ return(FALSE);\r
+}\r
+\r
/*----- ダイアログのコントロールから10進数を取得 ----------------------------\r
*\r
* Parameter\r