OSDN Git Service

Add extensions of files that will be transferred in ASCII mode.
[ffftp/ffftp.git] / option.c
index e4906fc..025128e 100644 (file)
--- a/option.c
+++ b/option.c
@@ -166,6 +166,10 @@ extern int MirUpDelNotify;
 extern int MirDownDelNotify;\r
 extern int FolderAttr;\r
 extern int FolderAttrNum;\r
+// ファイルアイコン表示対応\r
+extern int DispFileIcon;\r
+// ディレクトリ自動作成\r
+extern int MakeAllDir;\r
 \r
 \r
 /*----- オプションのプロパティシート ------------------------------------------\r
@@ -404,6 +408,8 @@ static INT_PTR CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wPara
                        SendDlgItemMessage(hDlg, TRMODE_TIME, BM_SETCHECK, SaveTimeStamp, 0);\r
                        SendDlgItemMessage(hDlg, TRMODE_EOF, BM_SETCHECK, RmEOF, 0);\r
                        SendDlgItemMessage(hDlg, TRMODE_SEMICOLON, BM_SETCHECK, VaxSemicolon, 0);\r
+                       // ディレクトリ自動作成\r
+                       SendDlgItemMessage(hDlg, TRMODE_MAKEDIR, BM_SETCHECK, MakeAllDir, 0);\r
 \r
                        SendMessage(hDlg, WM_COMMAND, MAKEWPARAM(TRMODE_EXT_LIST, 0), 0);\r
 \r
@@ -420,6 +426,8 @@ static INT_PTR CALLBACK Trmode1SettingProc(HWND hDlg, UINT message, WPARAM wPara
                                        SaveTimeStamp = SendDlgItemMessage(hDlg, TRMODE_TIME, BM_GETCHECK, 0, 0);\r
                                        RmEOF = SendDlgItemMessage(hDlg, TRMODE_EOF, BM_GETCHECK, 0, 0);\r
                                        VaxSemicolon = SendDlgItemMessage(hDlg, TRMODE_SEMICOLON, BM_GETCHECK, 0, 0);\r
+                                       // ディレクトリ自動作成\r
+                                       MakeAllDir = SendDlgItemMessage(hDlg, TRMODE_MAKEDIR, BM_GETCHECK, 0, 0);\r
                                        break;\r
 \r
                                case PSN_RESET :\r
@@ -976,6 +984,8 @@ static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                                SendDlgItemMessage(hDlg, DISP_FONT, WM_SETTEXT, 0, (LPARAM)TmpFont.lfFaceName);\r
                        SendDlgItemMessage(hDlg, DISP_HIDE, BM_SETCHECK, DispIgnoreHide, 0);\r
                        SendDlgItemMessage(hDlg, DISP_DRIVE, BM_SETCHECK, DispDrives, 0);\r
+                       // ファイルアイコン表示対応\r
+                       SendDlgItemMessage(hDlg, DISP_ICON, BM_SETCHECK, DispFileIcon, 0);\r
                    return(TRUE);\r
 \r
                case WM_NOTIFY:\r
@@ -985,6 +995,8 @@ static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                                case PSN_APPLY :\r
                                        DispIgnoreHide = SendDlgItemMessage(hDlg, DISP_HIDE, BM_GETCHECK, 0, 0);\r
                                        DispDrives = SendDlgItemMessage(hDlg, DISP_DRIVE, BM_GETCHECK, 0, 0);\r
+                                       // ファイルアイコン表示対応\r
+                                       DispFileIcon = SendDlgItemMessage(hDlg, DISP_ICON, BM_GETCHECK, 0, 0);\r
                                        if(strlen(TmpFont.lfFaceName) > 0)\r
                                        {\r
                                                memcpy(&ListLogFont, &TmpFont, sizeof(LOGFONT));\r
@@ -1170,6 +1182,8 @@ static INT_PTR CALLBACK FireSettingProc(HWND hDlg, UINT message, WPARAM wParam,
        switch (message)\r
        {\r
                case WM_INITDIALOG :\r
+                       // プロセス保護\r
+                       ProtectAllEditControls(hDlg);\r
                        Type = ConvertNum(FwallType, 1, TypeTbl, sizeof(TypeTbl)/sizeof(INTCONVTBL));\r
                        SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN204);\r
                        SendDlgItemMessage(hDlg, FIRE_TYPE, CB_ADDSTRING, 0, (LPARAM)MSGJPN205);\r
@@ -1467,6 +1481,9 @@ static INT_PTR CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                        SendDlgItemMessage(hDlg, MISC_WINPOS, BM_SETCHECK, SaveWinPos, 0);\r
                        SendDlgItemMessage(hDlg, MISC_DEBUG, BM_SETCHECK, DebugConsole, 0);\r
                        SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_SETCHECK, RegType, 0);\r
+                       // ポータブル版判定\r
+                       if(AskForceIni() == YES)\r
+                               EnableWindow(GetDlgItem(hDlg, MISC_REGTYPE), FALSE);\r
 \r
                        SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_SETCHECK, CacheSave, 0);\r
                        SendDlgItemMessage(hDlg, MISC_BUFNUM, EM_LIMITTEXT, (WPARAM)2, 0);\r
@@ -1496,7 +1513,10 @@ static INT_PTR CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                                case PSN_APPLY :\r
                                        SaveWinPos = SendDlgItemMessage(hDlg, MISC_WINPOS, BM_GETCHECK, 0, 0);\r
                                        DebugConsole = SendDlgItemMessage(hDlg, MISC_DEBUG, BM_GETCHECK, 0, 0);\r
-                                       RegType = SendDlgItemMessage(hDlg, MISC_REGTYPE, BM_GETCHECK, 0, 0);\r
+                                       // ポータブル版判定\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
                                        CacheSave = SendDlgItemMessage(hDlg, MISC_CACHE_SAVE, BM_GETCHECK, 0, 0);\r
                                        CacheEntry = GetDecimalText(hDlg, MISC_BUFNUM);\r
@@ -1537,7 +1557,10 @@ static INT_PTR CALLBACK MiscSettingProc(HWND hDlg, UINT message, WPARAM wParam,
                                        break;\r
 \r
                                case MISC_CACHEDIR_DEF :\r
-                                       GetTempPath(FMAX_PATH, Tmp);\r
+                                       // 環境依存の不具合対策\r
+//                                     GetTempPath(FMAX_PATH, Tmp);\r
+                                       GetAppTempPath(Tmp);\r
+                                       SetYenTail(Tmp);\r
                                        SendDlgItemMessage(hDlg, MISC_CACHEDIR, WM_SETTEXT, 0, (LPARAM)Tmp);\r
                                        break;\r
                        }\r