OSDN Git Service

Add options for displaying file permissions in numbers.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 22 Dec 2012 07:58:58 +0000 (16:58 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 22 Dec 2012 07:58:58 +0000 (16:58 +0900)
14 files changed:
FFFTP_Eng_Release/FFFTP.exe
Release/FFFTP.exe
Resource/FFFTP.rc
Resource/resource.h
Resource_eng/FFFTP-eng.rc
Resource_eng/resource.h
common.h
filelist.c
main.c
mesg-eng.h
mesg-jpn.h
misc.c
option.c
registry.c

index 4ca82a6..7cb1ae7 100644 (file)
Binary files a/FFFTP_Eng_Release/FFFTP.exe and b/FFFTP_Eng_Release/FFFTP.exe differ
index b7be7d2..bd46e77 100644 (file)
Binary files a/Release/FFFTP.exe and b/Release/FFFTP.exe differ
index abdcb34..48f028d 100644 (file)
@@ -1283,7 +1283,7 @@ BEGIN
     PUSHBUTTON      "\83L\83\83\83\93\83Z\83\8b",IDCANCEL,96,72,50,14\r
 END\r
 \r
-opt_disp_dlg DIALOG  0, 0, 211, 155\r
+opt_disp1_dlg DIALOG  0, 0, 211, 155\r
 STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION\r
 FONT 9, "MS Shell Dlg"\r
 BEGIN\r
@@ -1449,6 +1449,13 @@ BEGIN
     CONTROL         "UTF-8 BOM",TRMODE4_UTF8BOM_CNV,"Button",BS_AUTORADIOBUTTON,12,69,81,10\r
 END\r
 \r
+opt_disp2_dlg DIALOG  0, 0, 211, 155\r
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION\r
+FONT 9, "MS Shell Dlg"\r
+BEGIN\r
+    CONTROL         "\83t\83@\83C\83\8b\82Ì\91®\90«\82ð\90\94\8e\9a\82Å\95\\8e¦\82·\82é(&P)",DISP2_PERMIT_NUM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,196,10\r
+END\r
+\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -2017,7 +2024,7 @@ BEGIN
         BOTTOMMARGIN, 86\r
     END\r
 \r
-    opt_disp_dlg, DIALOG\r
+    opt_disp1_dlg, DIALOG\r
     BEGIN\r
         LEFTMARGIN, 7\r
         RIGHTMARGIN, 204\r
@@ -2120,6 +2127,14 @@ BEGIN
         TOPMARGIN, 7\r
         BOTTOMMARGIN, 148\r
     END\r
+\r
+    opt_disp2_dlg, DIALOG\r
+    BEGIN\r
+        LEFTMARGIN, 7\r
+        RIGHTMARGIN, 204\r
+        TOPMARGIN, 7\r
+        BOTTOMMARGIN, 148\r
+    END\r
 END\r
 #endif    // APSTUDIO_INVOKED\r
 \r
index 29f5c31..5f47b2e 100644 (file)
 #define rasreconnect_dlg                178\r
 #define dial_dlg                        179\r
 #define dial_password_dlg               180\r
-#define opt_disp_dlg                    181\r
+#define opt_disp1_dlg                   181\r
 #define bmark_edit_dlg                  182\r
 #define opt_tool_dlg1                   183\r
 #define IDD_OLEDRAG                     184\r
 #define updown_as_with_ext_dlg          193\r
 #define ini_from_reg_dlg                194\r
 #define opt_trmode4_dlg                 195\r
+#define opt_disp2_dlg                   196\r
 #define TRANS_TIME_BAR                  1002\r
 #define TRANS_TEXT                      1003\r
 #define TRANS_REMOTE                    1003\r
 #define SOUND_TRNNG                     1015\r
 #define TOOL_EDITOR1_BR                 1015\r
 #define CONNECT_CLOSE_NOTIFY            1015\r
+#define DISP2_PERMIT_NUM                1015\r
 #define PERM_O_EXEC                     1016\r
 #define TOOL_EDITOR2_BR                 1016\r
 #define CONNECT_QUICK_ANONY             1016\r
 // \r
 #ifdef APSTUDIO_INVOKED\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NEXT_RESOURCE_VALUE        196\r
+#define _APS_NEXT_RESOURCE_VALUE        197\r
 #define _APS_NEXT_COMMAND_VALUE         40177\r
 #define _APS_NEXT_CONTROL_VALUE         1220\r
 #define _APS_NEXT_SYMED_VALUE           101\r
index a6d83a9..c4abaed 100644 (file)
@@ -1309,7 +1309,7 @@ BEGIN
     PUSHBUTTON      "Cancel",IDCANCEL,96,63,50,14\r
 END\r
 \r
-opt_disp_dlg DIALOG  0, 0, 211, 155\r
+opt_disp1_dlg DIALOG  0, 0, 211, 155\r
 STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION\r
 FONT 9, "MS Shell Dlg"\r
 BEGIN\r
@@ -1479,6 +1479,13 @@ BEGIN
     CONTROL         "UTF-8 BOM",TRMODE4_UTF8BOM_CNV,"Button",BS_AUTORADIOBUTTON,12,69,81,10\r
 END\r
 \r
+opt_disp2_dlg DIALOG  0, 0, 211, 155\r
+STYLE DS_SETFONT | WS_CHILD | WS_DISABLED | WS_CAPTION\r
+FONT 9, "MS Shell Dlg"\r
+BEGIN\r
+    CONTROL         "Display file &permissions in numbers",DISP2_PERMIT_NUM,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,7,196,10\r
+END\r
+\r
 \r
 /////////////////////////////////////////////////////////////////////////////\r
 //\r
@@ -2047,7 +2054,7 @@ BEGIN
         BOTTOMMARGIN, 78\r
     END\r
 \r
-    opt_disp_dlg, DIALOG\r
+    opt_disp1_dlg, DIALOG\r
     BEGIN\r
         LEFTMARGIN, 7\r
         RIGHTMARGIN, 204\r
@@ -2147,6 +2154,14 @@ BEGIN
         TOPMARGIN, 7\r
         BOTTOMMARGIN, 148\r
     END\r
+\r
+    opt_disp2_dlg, DIALOG\r
+    BEGIN\r
+        LEFTMARGIN, 7\r
+        RIGHTMARGIN, 204\r
+        TOPMARGIN, 7\r
+        BOTTOMMARGIN, 148\r
+    END\r
 END\r
 #endif    // APSTUDIO_INVOKED\r
 \r
index 50e2ce8..0cf6842 100644 (file)
 #define rasreconnect_dlg                178\r
 #define dial_dlg                        179\r
 #define dial_password_dlg               180\r
-#define opt_disp_dlg                    181\r
+#define opt_disp1_dlg                   181\r
 #define bmark_edit_dlg                  182\r
 #define opt_tool_dlg1                   183\r
 #define IDD_OLEDRAG                     184\r
 #define updown_as_with_ext_dlg          193\r
 #define ini_from_reg_dlg                194\r
 #define opt_trmode4_dlg                 195\r
+#define opt_disp2_dlg                   196\r
 #define TRANS_TIME_BAR                  1002\r
 #define TRANS_TEXT                      1003\r
 #define TRANS_REMOTE                    1003\r
 #define SOUND_TRNNG                     1015\r
 #define TOOL_EDITOR1_BR                 1015\r
 #define CONNECT_CLOSE_NOTIFY            1015\r
+#define DISP2_PERMIT_NUM                1015\r
 #define PERM_O_EXEC                     1016\r
 #define TOOL_EDITOR2_BR                 1016\r
 #define CONNECT_QUICK_ANONY             1016\r
 // \r
 #ifdef APSTUDIO_INVOKED\r
 #ifndef APSTUDIO_READONLY_SYMBOLS\r
-#define _APS_NEXT_RESOURCE_VALUE        196\r
+#define _APS_NEXT_RESOURCE_VALUE        197\r
 #define _APS_NEXT_COMMAND_VALUE         40177\r
 #define _APS_NEXT_CONTROL_VALUE         1220\r
 #define _APS_NEXT_SYMED_VALUE           101\r
index 9708d63..f25e0d5 100644 (file)
--- a/common.h
+++ b/common.h
@@ -1830,7 +1830,9 @@ int TimeString2FileTime(char *Time, FILETIME *Buf);
 void FileTime2TimeString(FILETIME *Time, char *Buf, int Mode, int InfoExist, int ShowSeconds);\r
 void SpecificLocalFileTime2FileTime(FILETIME *Time, int TimeZone);\r
 int AttrString2Value(char *Str);\r
-void AttrValue2String(int Attr, char *Buf);\r
+// ファイルの属性を数字で表示\r
+//void AttrValue2String(int Attr, char *Buf);\r
+void AttrValue2String(int Attr, char *Buf, int ShowNumber);\r
 void FormatIniString(char *Str);\r
 int SelectFile(HWND hWnd, char *Fname, char *Title, char *Filters, char *Ext, int Flags, int Save);\r
 int SelectDir(HWND hWnd, char *Buf, int MaxLen);\r
index 37a6075..85eab06 100755 (executable)
@@ -146,6 +146,8 @@ extern int MoveMode;
 extern int DispFileIcon;\r
 // タイムスタンプのバグ修正\r
 extern int DispTimeSeconds;\r
+// ファイルの属性を数字で表示\r
+extern int DispPermissionsNumber;\r
 \r
 /*===== ローカルなワーク =====*/\r
 \r
@@ -1820,7 +1822,9 @@ static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size,
 #else\r
                if(InfoExist & FINFO_ATTR)\r
 #endif\r
-                       AttrValue2String(Attr, Tmp);\r
+                       // ファイルの属性を数字で表示\r
+//                     AttrValue2String(Attr, Tmp);\r
+                       AttrValue2String(Attr, Tmp, DispPermissionsNumber);\r
                LvItem.mask = LVIF_TEXT;\r
                LvItem.iItem = Pos;\r
                LvItem.iSubItem = 4;\r
diff --git a/main.c b/main.c
index 71318f4..67802e1 100644 (file)
--- a/main.c
+++ b/main.c
@@ -248,6 +248,8 @@ BYTE SSLRootCAFileHash[20];
 int DispFileIcon = NO;\r
 // タイムスタンプのバグ修正\r
 int DispTimeSeconds = NO;\r
+// ファイルの属性を数字で表示\r
+int DispPermissionsNumber = NO;\r
 // ディレクトリ自動作成\r
 int MakeAllDir = YES;\r
 // UTF-8対応\r
index 4ca0f64..0158e92 100644 (file)
 #define MSGJPN189              _Tu8("Transfer3", "Transfer3")\r
 #define MSGJPN190              _Tu8("Mirroring", "Mirroring")\r
 #define MSGJPN191              _Tu8("Operation", "Operation")\r
-#define MSGJPN192              _Tu8("View", "View")\r
+#define MSGJPN192              _Tu8("View1", "View1")\r
 #define MSGJPN193              _Tu8("Connecting", "Connecting")\r
 #define MSGJPN194              _Tu8("Firewall", "Firewall")\r
 #define MSGJPN195              _Tu8("Tool", "Tool")\r
 #define MSGJPN337              _Tu8("Resume all later", "Resume all later")\r
 #define MSGJPN338              _Tu8("Skip all", "Skip all")\r
 #define MSGJPN339              _Tu8("Transfer4", "Transfer4")\r
+#define MSGJPN340              _Tu8("View2", "View2")\r
 #if defined(HAVE_TANDEM)\r
 #define MSGJPN2000             _Tu8("NonStop Server", "NonStop Server")\r
 #define MSGJPN2001             _Tu8("OSS<->GUARDIAN Switch(&O)", "OSS<->GUARDIAN Switch(&O)")\r
index faa8e90..c5e8cce 100644 (file)
 #define MSGJPN189              _Tu8("転送3", "\xE8\xBB\xA2\xE9\x80\x81\x33")\r
 #define MSGJPN190              _Tu8("ミラーリング", "\xE3\x83\x9F\xE3\x83\xA9\xE3\x83\xBC\xE3\x83\xAA\xE3\x83\xB3\xE3\x82\xB0")\r
 #define MSGJPN191              _Tu8("操作", "\xE6\x93\x8D\xE4\xBD\x9C")\r
-#define MSGJPN192              _Tu8("表示", "\xE8\xA1\xA8\xE7\xA4\xBA")\r
+#define MSGJPN192              _Tu8("表示1", "\xE8\xA1\xA8\xE7\xA4\xBA\x31")\r
 #define MSGJPN193              _Tu8("接続/切断", "\xE6\x8E\xA5\xE7\xB6\x9A/\xE5\x88\x87\xE6\x96\xAD")\r
 #define MSGJPN194              _Tu8("FireWall", "FireWall")\r
 #define MSGJPN195              _Tu8("ツール", "\xE3\x83\x84\xE3\x83\xBC\xE3\x83\xAB")\r
 #define MSGJPN337              _Tu8("全て後でリジューム", "\xE5\x85\xA8\xE3\x81\xA6\xE5\xBE\x8C\xE3\x81\xA7\xE3\x83\xAA\xE3\x82\xB8\xE3\x83\xA5\xE3\x83\xBC\xE3\x83\xA0")\r
 #define MSGJPN338              _Tu8("全てスキップ", "\xE5\x85\xA8\xE3\x81\xA6\xE3\x82\xB9\xE3\x82\xAD\xE3\x83\x83\xE3\x83\x97")\r
 #define MSGJPN339              _Tu8("転送4", "\xE8\xBB\xA2\xE9\x80\x81\x34")\r
+#define MSGJPN340              _Tu8("表示2", "\xE8\xA1\xA8\xE7\xA4\xBA\x32")\r
 #if defined(HAVE_TANDEM)\r
 #define MSGJPN2000             _Tu8("NonStop Server", "NonStop Server")\r
 #define MSGJPN2001             _Tu8("OSS<->GUARDIAN 切り替え(&O)", "OSS<->GUARDIAN \xE5\x88\x87\xE3\x82\x8A\xE6\x9B\xBF\xE3\x81\x88(&O)")\r
diff --git a/misc.c b/misc.c
index 9e27dfe..05f9e0a 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -1240,28 +1240,59 @@ int AttrString2Value(char *Str)
 \r
        Ret = 0;\r
        memset(Tmp, 0, 10);\r
-       strncpy(Tmp, Str, 9);\r
-\r
-       if(Tmp[0] != '-')\r
-               Ret |= 0x400;\r
-       if(Tmp[1] != '-')\r
-               Ret |= 0x200;\r
-       if(Tmp[2] != '-')\r
-               Ret |= 0x100;\r
-\r
-       if(Tmp[3] != '-')\r
-               Ret |= 0x40;\r
-       if(Tmp[4] != '-')\r
-               Ret |= 0x20;\r
-       if(Tmp[5] != '-')\r
-               Ret |= 0x10;\r
-\r
-       if(Tmp[6] != '-')\r
-               Ret |= 0x4;\r
-       if(Tmp[7] != '-')\r
-               Ret |= 0x2;\r
-       if(Tmp[8] != '-')\r
-               Ret |= 0x1;\r
+       // ファイルの属性を数字で表示\r
+//     strncpy(Tmp, Str, 9);\r
+//\r
+//     if(Tmp[0] != '-')\r
+//             Ret |= 0x400;\r
+//     if(Tmp[1] != '-')\r
+//             Ret |= 0x200;\r
+//     if(Tmp[2] != '-')\r
+//             Ret |= 0x100;\r
+//\r
+//     if(Tmp[3] != '-')\r
+//             Ret |= 0x40;\r
+//     if(Tmp[4] != '-')\r
+//             Ret |= 0x20;\r
+//     if(Tmp[5] != '-')\r
+//             Ret |= 0x10;\r
+//\r
+//     if(Tmp[6] != '-')\r
+//             Ret |= 0x4;\r
+//     if(Tmp[7] != '-')\r
+//             Ret |= 0x2;\r
+//     if(Tmp[8] != '-')\r
+//             Ret |= 0x1;\r
+       if(strlen(Str) >= 9)\r
+       {\r
+               strncpy(Tmp, Str, 9);\r
+\r
+               if(Tmp[0] != '-')\r
+                       Ret |= 0x400;\r
+               if(Tmp[1] != '-')\r
+                       Ret |= 0x200;\r
+               if(Tmp[2] != '-')\r
+                       Ret |= 0x100;\r
+\r
+               if(Tmp[3] != '-')\r
+                       Ret |= 0x40;\r
+               if(Tmp[4] != '-')\r
+                       Ret |= 0x20;\r
+               if(Tmp[5] != '-')\r
+                       Ret |= 0x10;\r
+\r
+               if(Tmp[6] != '-')\r
+                       Ret |= 0x4;\r
+               if(Tmp[7] != '-')\r
+                       Ret |= 0x2;\r
+               if(Tmp[8] != '-')\r
+                       Ret |= 0x1;\r
+       }\r
+       else if(strlen(Str) >= 3)\r
+       {\r
+               strncpy(Tmp, Str, 3);\r
+               Ret = strtol(Tmp, NULL, 16);\r
+       }\r
 \r
        return(Ret);\r
 }\r
@@ -1277,30 +1308,62 @@ int AttrString2Value(char *Str)
 *              int 値\r
 *----------------------------------------------------------------------------*/\r
 \r
-void AttrValue2String(int Attr, char *Buf)\r
+// ファイルの属性を数字で表示\r
+//void AttrValue2String(int Attr, char *Buf)\r
+void AttrValue2String(int Attr, char *Buf, int ShowNumber)\r
 {\r
-       strcpy(Buf, "---------");\r
-\r
-       if(Attr & 0x400)\r
-               Buf[0] = 'r';\r
-       if(Attr & 0x200)\r
-               Buf[1] = 'w';\r
-       if(Attr & 0x100)\r
-               Buf[2] = 'x';\r
-\r
-       if(Attr & 0x40)\r
-               Buf[3] = 'r';\r
-       if(Attr & 0x20)\r
-               Buf[4] = 'w';\r
-       if(Attr & 0x10)\r
-               Buf[5] = 'x';\r
-\r
-       if(Attr & 0x4)\r
-               Buf[6] = 'r';\r
-       if(Attr & 0x2)\r
-               Buf[7] = 'w';\r
-       if(Attr & 0x1)\r
-               Buf[8] = 'x';\r
+       // ファイルの属性を数字で表示\r
+//     strcpy(Buf, "---------");\r
+//\r
+//     if(Attr & 0x400)\r
+//             Buf[0] = 'r';\r
+//     if(Attr & 0x200)\r
+//             Buf[1] = 'w';\r
+//     if(Attr & 0x100)\r
+//             Buf[2] = 'x';\r
+//\r
+//     if(Attr & 0x40)\r
+//             Buf[3] = 'r';\r
+//     if(Attr & 0x20)\r
+//             Buf[4] = 'w';\r
+//     if(Attr & 0x10)\r
+//             Buf[5] = 'x';\r
+//\r
+//     if(Attr & 0x4)\r
+//             Buf[6] = 'r';\r
+//     if(Attr & 0x2)\r
+//             Buf[7] = 'w';\r
+//     if(Attr & 0x1)\r
+//             Buf[8] = 'x';\r
+       if(ShowNumber == YES)\r
+       {\r
+               sprintf(Buf, "%03x", Attr);\r
+       }\r
+       else\r
+       {\r
+               strcpy(Buf, "---------");\r
+\r
+               if(Attr & 0x400)\r
+                       Buf[0] = 'r';\r
+               if(Attr & 0x200)\r
+                       Buf[1] = 'w';\r
+               if(Attr & 0x100)\r
+                       Buf[2] = 'x';\r
+\r
+               if(Attr & 0x40)\r
+                       Buf[3] = 'r';\r
+               if(Attr & 0x20)\r
+                       Buf[4] = 'w';\r
+               if(Attr & 0x10)\r
+                       Buf[5] = 'x';\r
+\r
+               if(Attr & 0x4)\r
+                       Buf[6] = 'r';\r
+               if(Attr & 0x2)\r
+                       Buf[7] = 'w';\r
+               if(Attr & 0x1)\r
+                       Buf[8] = 'x';\r
+       }\r
 \r
        return;\r
 }\r
index 65fdcc3..8d795d7 100644 (file)
--- a/option.c
+++ b/option.c
@@ -66,12 +66,14 @@ static INT_PTR CALLBACK DefAttrDlgProc(HWND hDlg, UINT message, WPARAM wParam, L
 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
@@ -172,6 +174,8 @@ extern int FolderAttrNum;
 extern int DispFileIcon;\r
 // タイムスタンプのバグ修正\r
 extern int DispTimeSeconds;\r
+// ファイルの属性を数字で表示\r
+extern int DispPermissionsNumber;\r
 // ディレクトリ自動作成\r
 extern int MakeAllDir;\r
 \r
@@ -189,7 +193,7 @@ void SetOption(int Start)
 {\r
        // UTF-8対応\r
 //     PROPSHEETPAGE psp[12];\r
-       PROPSHEETPAGE psp[13];\r
+       PROPSHEETPAGE psp[14];\r
        PROPSHEETHEADER psh;\r
 \r
        // 変数が未初期化のバグ修正\r
@@ -350,9 +354,9 @@ void SetOption(int Start)
        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
@@ -360,53 +364,63 @@ void SetOption(int Start)
        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_misc_dlg);\r
+       psp[13].pszIcon = NULL;\r
+       psp[13].pfnDlgProc = MiscSettingProc;\r
+       psp[13].pszTitle = MSGJPN197;\r
+       psp[13].lParam = 0;\r
+       psp[13].pfnCallback = NULL;\r
+\r
        psh.dwSize = sizeof(PROPSHEETHEADER);\r
        psh.dwFlags = PSH_HASHELP | PSH_NOAPPLYNOW | PSH_PROPSHEETPAGE;\r
        psh.hwndParent = GetMainHwnd();\r
@@ -1111,8 +1125,9 @@ static INT_PTR CALLBACK NotifySettingProc(HWND hDlg, UINT message, WPARAM wParam
 *----------------------------------------------------------------------------*/\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
@@ -1172,6 +1187,40 @@ static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam,
 }\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
+                   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
+                                       break;\r
+\r
+                               case PSN_RESET :\r
+                                       break;\r
+\r
+                               case PSN_HELP :\r
+                                       // TODO:\r
+//                                     hHelpWin = HtmlHelp(NULL, AskHelpFilePath(), HH_HELP_CONTEXT, IDH_HELP_TOPIC_0000047);\r
+                                       break;\r
+                       }\r
+                       break;\r
+       }\r
+    return(FALSE);\r
+}\r
+\r
+\r
 /*----- フォントを選ぶ --------------------------------------------------------\r
 *\r
 *      Parameter\r
index 6b60d7b..ab65c44 100644 (file)
@@ -197,6 +197,8 @@ extern BYTE SSLRootCAFileHash[20];
 extern int DispFileIcon;\r
 // タイムスタンプのバグ修正\r
 extern int DispTimeSeconds;\r
+// ファイルの属性を数字で表示\r
+extern int DispPermissionsNumber;\r
 // ディレクトリ自動作成\r
 extern int MakeAllDir;\r
 // UTF-8対応\r
@@ -629,6 +631,8 @@ void SaveRegistry(void)
                                WriteIntValueToReg(hKey4, "ListIcon", DispFileIcon);\r
                                // タイムスタンプのバグ修正\r
                                WriteIntValueToReg(hKey4, "ListSecond", DispTimeSeconds);\r
+                               // ファイルの属性を数字で表示\r
+                               WriteIntValueToReg(hKey4, "ListPermitNum", DispPermissionsNumber);\r
                                // ディレクトリ自動作成\r
                                WriteIntValueToReg(hKey4, "MakeDir", MakeAllDir);\r
                                // UTF-8対応\r
@@ -1037,6 +1041,8 @@ int LoadRegistry(void)
                        ReadIntValueFromReg(hKey4, "ListIcon", &DispFileIcon);\r
                        // タイムスタンプのバグ修正\r
                        ReadIntValueFromReg(hKey4, "ListSecond", &DispTimeSeconds);\r
+                       // ファイルの属性を数字で表示\r
+                       ReadIntValueFromReg(hKey4, "ListPermitNum", &DispPermissionsNumber);\r
                        // ディレクトリ自動作成\r
                        ReadIntValueFromReg(hKey4, "MakeDir", &MakeAllDir);\r
                        // UTF-8対応\r