Loweynet
修订版 | e587af53be87fb0de7da2daf07813970b6e0bfad (tree) |
---|---|
时间 | 2011-12-12 21:03:28 |
作者 | s_kawamoto <s_kawamoto@user...> |
Commiter | s_kawamoto |
Added support for displaying icons in the local file list.
Modify documents.
@@ -235,9 +235,9 @@ FONT 9, " | ||
235 | 235 | BEGIN |
236 | 236 | DEFPUSHBUTTON "OK",IDOK,133,294,50,14 |
237 | 237 | ICON ffftp,-1,7,4,20,20 |
238 | - CTEXT "FFFTP Ver 1.98d",-1,113,11,90,8 | |
238 | + CTEXT "FFFTP Ver 1.98e",-1,113,11,90,8 | |
239 | 239 | CTEXT "FFFTPÍfreewareÅ·",-1,7,279,305,8 |
240 | - CTEXT "Copyright(C) 1997-2010 Sota & ²¦Í¢½¾¢½ûX\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, ¤È[, Asami, fortran90, tomo1192)",-1,7,25,305,44,SS_NOPREFIX | |
240 | + CTEXT "Copyright(C) 1997-2010 Sota & ²¦Í¢½¾¢½ûX\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, ¤È[, Asami, fortran90, tomo1192, Yuji Tanaka)",-1,7,25,305,44,SS_NOPREFIX | |
241 | 241 | CTEXT "",ABOUT_JRE,7,96,305,8 |
242 | 242 | EDITTEXT ABOUT_URL,7,76,305,12,ES_CENTER | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER |
243 | 243 | CTEXT "OLE D&&D@\ by ½cL³ñAnakka³ñ\nzXgàÅÌt@CÚ®@\ by ½cL³ñ\n¢Â©Ì@\ by miau³ñ\n}X^[pX[h@\ by °ñ°ñ³ñ\nAESû by Moca³ñ\n\n¼A½Ìû̲¦Í𢽾«Üµ½B",-1,7,143,305,60 |
@@ -1290,6 +1290,7 @@ BEGIN | ||
1290 | 1290 | CONTROL "Bµ®«Ìt@CAtH_Í\¦µÈ¢(&H)",DISP_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,30,172,10 |
1291 | 1291 | LTEXT "Bµ®«Ìt@Cð\¦µÈ¢æ¤É·éÆA~[OAbv[hÅàBµ®«Ìt@CÍAbv[hµÈ¢æ¤ÉÈèÜ·B",-1,29,44,167,27,SS_SUNKEN |
1292 | 1292 | CONTROL "[J¤Ìt@CêÉhCu¼à\¦·é(&D)",DISP_DRIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,79,172,10 |
1293 | + CONTROL "[J¤Ìt@CêÉACRð\¦·é(&I)",DISP_ICON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,93,172,10 | |
1293 | 1294 | END |
1294 | 1295 | |
1295 | 1296 | bmark_edit_dlg DIALOG 0, 0, 187, 83 |
@@ -2073,8 +2074,8 @@ nodrop_csr CURSOR "nodrop_c.cur" | ||
2073 | 2074 | // |
2074 | 2075 | |
2075 | 2076 | VS_VERSION_INFO VERSIONINFO |
2076 | - FILEVERSION 1,98,4,0 | |
2077 | - PRODUCTVERSION 1,98,4,0 | |
2077 | + FILEVERSION 1,98,5,0 | |
2078 | + PRODUCTVERSION 1,98,5,0 | |
2078 | 2079 | FILEFLAGSMASK 0x3fL |
2079 | 2080 | #ifdef _DEBUG |
2080 | 2081 | FILEFLAGS 0x1L |
@@ -2092,12 +2093,12 @@ BEGIN | ||
2092 | 2093 | VALUE "Comments", "±êÍt[\tgEGAÅ·B" |
2093 | 2094 | VALUE "CompanyName", " " |
2094 | 2095 | VALUE "FileDescription", "FFFTP" |
2095 | - VALUE "FileVersion", "1, 98, 4, 0" | |
2096 | + VALUE "FileVersion", "1, 98, 5, 0" | |
2096 | 2097 | VALUE "InternalName", "FFFTP" |
2097 | - VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & ²¦Í¢½¾¢½ûX\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, ¤È[, Asami, fortran90, tomo1192)." | |
2098 | + VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & ²¦Í¢½¾¢½ûX\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, ¤È[, Asami, fortran90, tomo1192, Yuji Tanaka)." | |
2098 | 2099 | VALUE "OriginalFilename", "FFFTP.exe" |
2099 | 2100 | VALUE "ProductName", "FFFTP" |
2100 | - VALUE "ProductVersion", "1, 98, 4, 0" | |
2101 | + VALUE "ProductVersion", "1, 98, 5, 0" | |
2101 | 2102 | END |
2102 | 2103 | END |
2103 | 2104 | BLOCK "VarFileInfo" |
@@ -202,6 +202,7 @@ | ||
202 | 202 | #define FIRE_RESOLV 1013 |
203 | 203 | #define HSET_DIALNOTIFY 1013 |
204 | 204 | #define MIRROR_DOWNDEL_NOTIFY 1013 |
205 | +#define DISP_ICON 1013 | |
205 | 206 | #define OPT1_EDITOR_BR 1014 |
206 | 207 | #define PERM_G_WRITE 1014 |
207 | 208 | #define SORT_RDIR_REV 1014 |
@@ -235,9 +235,9 @@ FONT 9, "MS Sans Serif", 0, 0, 0x0 | ||
235 | 235 | BEGIN |
236 | 236 | DEFPUSHBUTTON "OK",IDOK,132,296,50,14 |
237 | 237 | ICON ffftp,-1,7,4,20,20 |
238 | - CTEXT "FFFTP Ver 1.98d",-1,110,11,90,8 | |
238 | + CTEXT "FFFTP Ver 1.98e",-1,110,11,90,8 | |
239 | 239 | CTEXT "FFFTP is freeware",-1,7,281,301,8 |
240 | - CTEXT "Copyright(C) 1997-2010 Sota && cooperators\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192)",-1,7,25,301,44 | |
240 | + CTEXT "Copyright(C) 1997-2010 Sota && cooperators\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka)",-1,7,25,301,44 | |
241 | 241 | CTEXT "",ABOUT_JRE,7,93,301,8 |
242 | 242 | EDITTEXT ABOUT_URL,7,76,301,12,ES_CENTER | ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER |
243 | 243 | CTEXT "OLE D&&D by Yutaka Hirata-san, nakka-san\nIn site file mover by Hirata-san\nAny issues by miau-san\nMaster Password by Gengen-san\nAES encryption by Moca-san\n\nI had cooperation of many other one.",-1,7,142,301,59 |
@@ -1315,6 +1315,7 @@ BEGIN | ||
1315 | 1315 | CONTROL "Do not display &hidden files/folders",DISP_HIDE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,30,172,10 |
1316 | 1316 | LTEXT "If this box is checked, hidden files/folders are not transferred during Mirror operations.",-1,29,44,167,27,SS_SUNKEN |
1317 | 1317 | CONTROL "&Display drives in the file list",DISP_DRIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,76,172,10 |
1318 | + CONTROL "Display &icons in the file list",DISP_ICON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,90,172,10 | |
1318 | 1319 | END |
1319 | 1320 | |
1320 | 1321 | bmark_edit_dlg DIALOG 0, 0, 187, 83 |
@@ -2098,8 +2099,8 @@ nodrop_csr CURSOR "nodrop_c.cur" | ||
2098 | 2099 | // |
2099 | 2100 | |
2100 | 2101 | VS_VERSION_INFO VERSIONINFO |
2101 | - FILEVERSION 1,98,4,0 | |
2102 | - PRODUCTVERSION 1,98,4,0 | |
2102 | + FILEVERSION 1,98,5,0 | |
2103 | + PRODUCTVERSION 1,98,5,0 | |
2103 | 2104 | FILEFLAGSMASK 0x3fL |
2104 | 2105 | #ifdef _DEBUG |
2105 | 2106 | FILEFLAGS 0x1L |
@@ -2117,12 +2118,12 @@ BEGIN | ||
2117 | 2118 | VALUE "Comments", "This software is Free Software" |
2118 | 2119 | VALUE "CompanyName", " Sota" |
2119 | 2120 | VALUE "FileDescription", "FFFTP" |
2120 | - VALUE "FileVersion", "1, 98, 4, 0" | |
2121 | + VALUE "FileVersion", "1, 98, 5, 0" | |
2121 | 2122 | VALUE "InternalName", "FFFTP" |
2122 | - VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & cooperators\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192)." | |
2123 | + VALUE "LegalCopyright", "Copyright (C) 1997-2010 Sota & cooperators\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka)." | |
2123 | 2124 | VALUE "OriginalFilename", "FFFTP.exe" |
2124 | 2125 | VALUE "ProductName", "FFFTP" |
2125 | - VALUE "ProductVersion", "1, 98, 4, 0" | |
2126 | + VALUE "ProductVersion", "1, 98, 5, 0" | |
2126 | 2127 | END |
2127 | 2128 | END |
2128 | 2129 | BLOCK "VarFileInfo" |
@@ -202,6 +202,7 @@ | ||
202 | 202 | #define FIRE_RESOLV 1013 |
203 | 203 | #define HSET_DIALNOTIFY 1013 |
204 | 204 | #define MIRROR_DOWNDEL_NOTIFY 1013 |
205 | +#define DISP_ICON 1013 | |
205 | 206 | #define OPT1_EDITOR_BR 1014 |
206 | 207 | #define PERM_G_WRITE 1014 |
207 | 208 | #define SORT_RDIR_REV 1014 |
@@ -70,9 +70,9 @@ | ||
70 | 70 | //#define VER_STR "1.97b" |
71 | 71 | //#define VER_NUM 1921 /* 設定バージョン */ |
72 | 72 | //#define PROGRAM_VERSION_NUM 1972 /* バージョン */ |
73 | -#define VER_STR "1.98d" | |
74 | -#define VER_NUM 1984 /* 設定バージョン */ | |
75 | -#define PROGRAM_VERSION_NUM 1984 /* バージョン */ | |
73 | +#define VER_STR "1.98e" | |
74 | +#define VER_NUM 1985 /* 設定バージョン */ | |
75 | +#define PROGRAM_VERSION_NUM 1985 /* バージョン */ | |
76 | 76 | |
77 | 77 | |
78 | 78 | // SourceForge.JPによるフォーク |
@@ -1085,6 +1085,8 @@ typedef struct filelist { | ||
1085 | 1085 | FILETIME Time; /* 時間(UTC) */ |
1086 | 1086 | char Owner[OWNER_NAME_LEN+1]; /* オーナ名 */ |
1087 | 1087 | char InfoExist; /* ファイル一覧に存在した情報のフラグ (FINFO_xxx) */ |
1088 | + // ファイルアイコン表示対応 | |
1089 | + int ImageId; /* アイコン画像番号 */ | |
1088 | 1090 | struct filelist *Next; |
1089 | 1091 | } FILELIST; |
1090 | 1092 |
@@ -1280,6 +1282,8 @@ BOOL __stdcall SSLConfirmCallback(BOOL* pbAborted, BOOL bVerified, LPCSTR Certif | ||
1280 | 1282 | BOOL LoadSSLRootCAFile(); |
1281 | 1283 | // マルチコアCPUの特定環境下でファイル通信中にクラッシュするバグ対策 |
1282 | 1284 | BOOL IsMainThread(); |
1285 | +// ファイルアイコン表示対応 | |
1286 | +int AskDispFileIcon(void); | |
1283 | 1287 | |
1284 | 1288 | /*===== filelist.c =====*/ |
1285 | 1289 |
@@ -1,7 +1,7 @@ | ||
1 | 1 | ============================================================ |
2 | -[Software Name] FFFTP Ver.1.98d (FTP Client software) | |
2 | +[Software Name] FFFTP Ver.1.98e (FTP Client software) | |
3 | 3 | [Copyright] Copyright(C) 1997-2010 Sota & cooperators |
4 | - Copyright(C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192). | |
4 | + Copyright(C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka). | |
5 | 5 | [Environment] Windows 7, Vista, XP, 2000 |
6 | 6 | ============================================================ |
7 | 7 |
@@ -28,38 +28,17 @@ following menu. | ||
28 | 28 | File ->@Settings -> Change Master password |
29 | 29 | |
30 | 30 | |
31 | -Changes in Ver.1.98d | |
31 | +Changes in Ver.1.98e | |
32 | 32 | -------------------- |
33 | 33 | |
34 | --- MLSD command became used for retrieving filenames on appropriate hosts. | |
35 | - That is helpful for hosts that do not return filenames properly. | |
34 | +-- Fixed bugs that an inputted password is ignored if failed in login. | |
36 | 35 | |
37 | --- Enhanced communication routines to reduce waiting time. | |
36 | +-- Fixed bugs to crash under multicore CPU environment. | |
38 | 37 | |
39 | --- Changed to display responses from hosts after decoding as Kanji code of | |
40 | - filenames. | |
38 | +-- Changed the location of temporary files. | |
39 | + This resolves interference in file list caches between instances of FFFTP. | |
41 | 40 | |
42 | --- Fixed bugs of arbitrary code execution in saving registry settings to a | |
43 | - file. | |
44 | - | |
45 | --- Fixed bugs of launching wrong files if correct ones contain no extensions. | |
46 | - | |
47 | --- Internet Protocol Version 6 became available. | |
48 | - IPv6 will be used when name resolution for IPv4 is unavailable by default. | |
49 | - | |
50 | --- Changed to detect encoding of strings in INI file automatically. | |
51 | - | |
52 | --- Changed to verify SSL/TLS certificates with root CAs in FTPS connections. | |
53 | - Please modify "ssl.pem" in PEM format if you want to update root CA list. | |
54 | - | |
55 | --- Added a feature to send commands for keep alive. | |
56 | - This is disabled by default. | |
57 | - | |
58 | --- Reduced chance of stopping transfer when numerous files are transfered. | |
59 | - | |
60 | --- Added a feature to retry transfering files if failed. | |
61 | - | |
62 | --- Enhanced automatic detection of Kanji code of filenames. | |
41 | +-- Supported the file list format of linux-ftpd. | |
63 | 42 | |
64 | 43 | |
65 | 44 | Outline |
@@ -94,7 +73,7 @@ Warranty Disclaimer | ||
94 | 73 | License Agreement |
95 | 74 | ----------------- |
96 | 75 | Copyright(C) 1997-2010, Sota & cooperators. All rights reserved. |
97 | -Copyright(C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192). | |
76 | +Copyright(C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka). | |
98 | 77 | |
99 | 78 | Redistribution and use in source and binary forms, with or without |
100 | 79 | modification, are permitted provided that the following conditions |
@@ -1,5 +1,17 @@ | ||
1 | 1 | FFFTP version history. |
2 | 2 | |
3 | +Changes in Ver.1.98e | |
4 | +-------------------- | |
5 | + | |
6 | +-- Fixed bugs that an inputted password is ignored if failed in login. | |
7 | + | |
8 | +-- Fixed bugs to crash under multicore CPU environment. | |
9 | + | |
10 | +-- Changed the location of temporary files. | |
11 | + This resolves interference in file list caches between instances of FFFTP. | |
12 | + | |
13 | +-- Supported the file list format of linux-ftpd. | |
14 | + | |
3 | 15 | Changes in Ver.1.98d |
4 | 16 | -------------------- |
5 | 17 |
@@ -1,5 +1,5 @@ | ||
1 | 1 | ============================================================ |
2 | -y\tg¼z@FTPNCAg FFFTPisf.jpÅj Ver 1.98d | |
2 | +y\tg¼z@FTPNCAg FFFTPisf.jpÅj Ver 1.98e | |
3 | 3 | y®ìmF«z@Windows 7AVistaAXPA2000 |
4 | 4 | yT|[gz@http://sourceforge.jp/projects/ffftp/ |
5 | 5 | ============================================================ |
@@ -27,46 +27,18 @@ FFFTP Ver.1.96d+009 | ||
27 | 27 | }X^[pX[hÌüͪßçêÜ·ÌÅAü͵ľ³¢B |
28 | 28 | |
29 | 29 | |
30 | -Ver 1.98dÅÌÏX_ | |
30 | +Ver 1.98eÅÌÏX_ | |
31 | 31 | ------------------- |
32 | 32 | |
33 | -EMLSDR}hÉε½zXgÅÍMLSDR}hðp¢Ät@Cêð | |
34 | -@æ¾·éæ¤ÉµÜµ½BLISTR}hÌÉÁèÌt@Cª | |
35 | -@ÜÜêÈ¢êÌzXgÅà³µñÅ«éÂ\«ªÈèÜ·B | |
33 | +EzXgÌpX[hª³µÈ¢êÉpX[hðè®ÅÄxü͵Äà | |
34 | +@OCÅ«È¢oOðC³µÜµ½B | |
36 | 35 | |
37 | -EÊMÌ[`ðÒ¿Ôª¸éæ¤ÉüPµÜµ½B | |
36 | +E}`RACPUÌÁ諺ÅNbV ·éoOðC³µÜµ½B | |
38 | 37 | |
39 | -EzXgÌðzXgÌt@C¼Ì¿R[hÅfR[hµÄ©çOÉ | |
40 | -@\¦·éæ¤ÉÏXµÜµ½B | |
38 | +EìÆt@CðÛ¶·étH_Ì\¬ðÏXµÜµ½B±êÉæèFFFTPð | |
39 | +@¡N®µÄàLbV ª±ÂµÈÈèÜ·B | |
41 | 40 | |
42 | -EWXgÌÝèðt@CÉÛ¶·éÆ«ÉCÓÌR[hªÀs³êé | |
43 | -@Â\«ª éoOðC³µÜµ½B | |
44 | - | |
45 | -Eg£qª³¢t@Cð_uNbNµ½êÉIð³ê½àÌÆÙÈé | |
46 | -@t@Cª\¦³êéoOðC³µÜµ½B | |
47 | - | |
48 | -EzXgÆÌÚ±ÉInternet Protocol Version 6iªÌIPv6jªgpÅ«é | |
49 | -@æ¤ÉÈèܵ½BftHgÅÍ]ÌIPv4żOðªÅ«È¢êÉ | |
50 | -@IPv6ÅÚ±ðÝéæ¤ÉÈèÜ·B | |
51 | - | |
52 | -EINIt@C̶ñ̶R[h𩮻ʷéæ¤ÉÏXµÜµ½B | |
53 | - | |
54 | -ECEBhEªgpµÄ¢éÚ±ð]pÉÄgp·é½ßÌÝèð | |
55 | -@ÇÁµÜµ½B±êÉæè1.97bÈOÅ]Â\¾Á½ª1.98Å]s\É | |
56 | -@ÈéÆ¢¤ÇóªüP³êÜ·ªAs襁·éÂ\«ª èÜ·B | |
57 | - | |
58 | -EFTPSÅÚ±µ½ÉSSL/TLSÌ[gؾðp¢ÄzXgÌؾðØ | |
59 | -@·éæ¤ÉÏXµÜµ½B[gؾðXV·éÉͯ«Ì"ssl.pem" | |
60 | -@t@CðPEM`®É]ÁÄ«·¦Ä¾³¢B | |
61 | - | |
62 | -EzXgÆÌÚ±ðÛ·é½ßÉêèÔ²ÆÉR}hðM·é@\ð | |
63 | -@ÇÁµÜµ½B½¾µ±Ì@\ÍftHgÅͳøÉÝè³êÜ·B | |
64 | - | |
65 | -EåÊÌt@Cð]µ½ÉrÅ]ªI¹·éoOðy¸µÜµ½B | |
66 | - | |
67 | -Et@CÌ]ɸsµ½êÉ]ðâè¼·@\ðÇÁµÜµ½B | |
68 | - | |
69 | -EzXgÌt@C¼Ì¿R[hÌ©®»Ê̸xðüPµÜµ½B | |
41 | +Elinux-ftpdÌt@Cê`®Éεܵ½B | |
70 | 42 | |
71 | 43 | |
72 | 44 | Ver 1.96dÈOÖß·ê |
@@ -143,7 +115,7 @@ jre32.dll -------- | ||
143 | 115 | µÜ·B |
144 | 116 | |
145 | 117 | Copyright(C) 1997-2010, Sota & cooperators. All rights reserved. |
146 | -Copyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192). | |
118 | +Copyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka). | |
147 | 119 | |
148 | 120 | Redistribution and use in source and binary forms, with or without |
149 | 121 | modification, are permitted provided that the following conditions |
@@ -169,7 +141,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
169 | 141 | *** ȺÍú{êó(Ql) *** |
170 | 142 | |
171 | 143 | Copyright(C) 1997-2010 Sota & ²¦Í¢½¾¢½ûX. All rights reserved. |
172 | -Copyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192). | |
144 | +Copyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka). | |
173 | 145 | |
174 | 146 | \[XR[h`®ÅàoCi`®ÅàAÏXÌL³ÉÖíç¸AȺÌðð |
175 | 147 | ½·êÉAÄzz¨æÑgpðµܷB |
@@ -1,5 +1,17 @@ | ||
1 | 1 | FFFTP@üÅXg |
2 | 2 | |
3 | +¡Ver 1.98e | |
4 | + | |
5 | +EzXgÌpX[hª³µÈ¢êÉpX[hðè®ÅÄxü͵Äà | |
6 | +@OCÅ«È¢oOðC³µÜµ½B | |
7 | + | |
8 | +E}`RACPUÌÁ諺ÅNbV ·éoOðC³µÜµ½B | |
9 | + | |
10 | +EìÆt@CðÛ¶·étH_Ì\¬ðÏXµÜµ½B±êÉæèFFFTPð | |
11 | +@¡N®µÄàLbV ª±ÂµÈÈèÜ·B | |
12 | + | |
13 | +Elinux-ftpdÌt@Cê`®Éεܵ½B | |
14 | + | |
3 | 15 | ¡Ver 1.98d |
4 | 16 | |
5 | 17 | EMLSDR}hÉε½zXgÅÍMLSDR}hðp¢Ät@Cêð |
@@ -83,7 +83,9 @@ static LRESULT FileListCommonWndProc(HWND hWnd, UINT message, WPARAM wParam, LPA | ||
83 | 83 | static void AddDispFileList(FLISTANCHOR *Anchor, char *Name, FILETIME *Time, LONGLONG Size, int Attr, int Type, int Link, char *Owner, int InfoExist, int Win); |
84 | 84 | static void EraseDispFileList(FLISTANCHOR *Anchor); |
85 | 85 | static void DispFileList2View(HWND hWnd, FLISTANCHOR *Anchor); |
86 | -static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, FILETIME *Time, int Attr, char *Owner, int Link, int InfoExist); | |
86 | +// ファイルアイコン表示対応 | |
87 | +//static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, FILETIME *Time, int Attr, char *Owner, int Link, int InfoExist); | |
88 | +static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, FILETIME *Time, int Attr, char *Owner, int Link, int InfoExist, int ImageId); | |
87 | 89 | // 64ビット対応 |
88 | 90 | //static BOOL CALLBACK SelectDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); |
89 | 91 | static INT_PTR CALLBACK SelectDialogCallBack(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam); |
@@ -1318,6 +1320,57 @@ void GetRemoteDirForWnd(int Mode, int *CancelCheckWork) | ||
1318 | 1320 | * なし |
1319 | 1321 | *----------------------------------------------------------------------------*/ |
1320 | 1322 | |
1323 | +// ファイルアイコン表示対応 | |
1324 | +void RefreshIconImageList(FLISTANCHOR *Anchor) | |
1325 | +{ | |
1326 | + HBITMAP hBitmap; | |
1327 | + int ImageId; | |
1328 | + FILELIST *Pos; | |
1329 | + int i; | |
1330 | + char Cur[FMAX_PATH+1]; | |
1331 | + SHFILEINFO FileInfo; | |
1332 | + SendMessage(hWndListLocal, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)NULL); | |
1333 | + ShowWindow(hWndListLocal, SW_SHOW); | |
1334 | + SendMessage(hWndListRemote, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)NULL); | |
1335 | + ShowWindow(hWndListRemote, SW_SHOW); | |
1336 | + ImageList_Destroy(ListImg); | |
1337 | + ListImg = ImageList_Create(16, 16, ILC_MASK | ILC_COLOR24, 0, 1); | |
1338 | + hBitmap = LoadBitmap(GetFtpInst(), MAKEINTRESOURCE(dirattr_bmp)); | |
1339 | + ImageList_AddMasked(ListImg, hBitmap, RGB(255,0,0)); | |
1340 | + DeleteObject(hBitmap); | |
1341 | + ImageId = 0; | |
1342 | + Pos = Anchor->Top; | |
1343 | + for(i = 0; i < Anchor->Files; i++) | |
1344 | + { | |
1345 | + Pos->ImageId = -1; | |
1346 | + if(AskDispFileIcon() == YES) | |
1347 | + { | |
1348 | + if(Pos->Node == NODE_DRIVE) | |
1349 | + strcpy(Cur, Pos->File); | |
1350 | + else | |
1351 | + { | |
1352 | + AskLocalCurDir(Cur, FMAX_PATH); | |
1353 | + SetYenTail(Cur); | |
1354 | + strcat(Cur, Pos->File); | |
1355 | + } | |
1356 | + if(SHGetFileInfoM(Cur, 0, &FileInfo, sizeof(SHFILEINFO), SHGFI_SMALLICON | SHGFI_ICON) != 0) | |
1357 | + { | |
1358 | + if(ImageList_AddIcon(ListImg, FileInfo.hIcon) >= 0) | |
1359 | + { | |
1360 | + Pos->ImageId = ImageId; | |
1361 | + ImageId++; | |
1362 | + } | |
1363 | + DestroyIcon(FileInfo.hIcon); | |
1364 | + } | |
1365 | + } | |
1366 | + Pos = Pos->Next; | |
1367 | + } | |
1368 | + SendMessage(hWndListLocal, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)ListImg); | |
1369 | + ShowWindow(hWndListLocal, SW_SHOW); | |
1370 | + SendMessage(hWndListRemote, LVM_SETIMAGELIST, LVSIL_SMALL, (LPARAM)ListImg); | |
1371 | + ShowWindow(hWndListRemote, SW_SHOW); | |
1372 | +} | |
1373 | + | |
1321 | 1374 | void GetLocalDirForWnd(void) |
1322 | 1375 | { |
1323 | 1376 | HANDLE fHnd; |
@@ -1386,6 +1439,8 @@ void GetLocalDirForWnd(void) | ||
1386 | 1439 | } |
1387 | 1440 | } |
1388 | 1441 | |
1442 | + // ファイルアイコン表示対応 | |
1443 | + RefreshIconImageList(&Anchor); | |
1389 | 1444 | DispFileList2View(GetLocalHwnd(), &Anchor); |
1390 | 1445 | EraseDispFileList(&Anchor); |
1391 | 1446 |
@@ -1565,7 +1620,9 @@ static void DispFileList2View(HWND hWnd, FLISTANCHOR *Anchor) | ||
1565 | 1620 | Pos = Anchor->Top; |
1566 | 1621 | for(i = 0; i < Anchor->Files; i++) |
1567 | 1622 | { |
1568 | - AddListView(hWnd, -1, Pos->File, Pos->Node, Pos->Size, &Pos->Time, Pos->Attr, Pos->Owner, Pos->Link, Pos->InfoExist); | |
1623 | + // ファイルアイコン表示対応 | |
1624 | +// AddListView(hWnd, -1, Pos->File, Pos->Node, Pos->Size, &Pos->Time, Pos->Attr, Pos->Owner, Pos->Link, Pos->InfoExist); | |
1625 | + AddListView(hWnd, -1, Pos->File, Pos->Node, Pos->Size, &Pos->Time, Pos->Attr, Pos->Owner, Pos->Link, Pos->InfoExist, Pos->ImageId); | |
1569 | 1626 | Pos = Pos->Next; |
1570 | 1627 | } |
1571 | 1628 |
@@ -1595,7 +1652,9 @@ static void DispFileList2View(HWND hWnd, FLISTANCHOR *Anchor) | ||
1595 | 1652 | * なし |
1596 | 1653 | *----------------------------------------------------------------------------*/ |
1597 | 1654 | |
1598 | -static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, FILETIME *Time, int Attr, char *Owner, int Link, int InfoExist) | |
1655 | +// ファイルアイコン表示対応 | |
1656 | +//static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, FILETIME *Time, int Attr, char *Owner, int Link, int InfoExist) | |
1657 | +static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, FILETIME *Time, int Attr, char *Owner, int Link, int InfoExist, int ImageId) | |
1599 | 1658 | { |
1600 | 1659 | LV_ITEM LvItem; |
1601 | 1660 | char Tmp[20]; |
@@ -1614,6 +1673,9 @@ static void AddListView(HWND hWnd, int Pos, char *Name, int Type, LONGLONG Size, | ||
1614 | 1673 | LvItem.iImage = Type; |
1615 | 1674 | else |
1616 | 1675 | LvItem.iImage = 4; |
1676 | + // ファイルアイコン表示対応 | |
1677 | + if(hWnd == GetLocalHwnd() && ImageId >= 0) | |
1678 | + LvItem.iImage = 5 + ImageId; | |
1617 | 1679 | LvItem.iItem = SendMessage(hWnd, LVM_INSERTITEM, 0, (LPARAM)&LvItem); |
1618 | 1680 | |
1619 | 1681 | /* 日付/時刻 */ |
@@ -231,6 +231,9 @@ int FolderAttrNum = 777; | ||
231 | 231 | // 暗号化通信対応 |
232 | 232 | BYTE CertificateCacheHash[MAX_CERT_CACHE_HASH][20]; |
233 | 233 | BYTE SSLRootCAFileHash[20]; |
234 | +// ファイルアイコン表示対応 | |
235 | +int DispFileIcon = NO; | |
236 | + | |
234 | 237 | |
235 | 238 | |
236 | 239 |
@@ -534,7 +537,7 @@ static int InitApp(LPSTR lpszCmdLine, int cmdShow) | ||
534 | 537 | DispWindowTitle(); |
535 | 538 | // SourceForge.JPによるフォーク |
536 | 539 | // SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators."); |
537 | - SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192)."); | |
540 | + SetTaskMsg("FFFTP Ver." VER_STR " Copyright(C) 1997-2010 Sota & cooperators.\r\nCopyright (C) 2011 FFFTP Project (Hiromichi Matsushima, Suguru Kawamoto, IWAMOTO Kouichi, vitamin0x, unarist, Asami, fortran90, tomo1192, Yuji Tanaka)."); | |
538 | 541 | |
539 | 542 | if(ForceIni) |
540 | 543 | SetTaskMsg("%s%s", MSGJPN283, IniPath); |
@@ -3068,4 +3071,11 @@ BOOL IsMainThread() | ||
3068 | 3071 | if(GetCurrentThreadId() != MainThreadId) |
3069 | 3072 | return FALSE; |
3070 | 3073 | return TRUE; |
3071 | -} | |
\ No newline at end of file | ||
3074 | +} | |
3075 | + | |
3076 | +// ファイルアイコン表示対応 | |
3077 | +int AskDispFileIcon(void) | |
3078 | +{ | |
3079 | + return(DispFileIcon); | |
3080 | +} | |
3081 | + |
@@ -1875,6 +1875,27 @@ END_ROUTINE | ||
1875 | 1875 | return r; |
1876 | 1876 | } |
1877 | 1877 | |
1878 | +DWORD_PTR SHGetFileInfoM(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags) | |
1879 | +{ | |
1880 | + DWORD_PTR r = 0; | |
1881 | + wchar_t* pw0 = NULL; | |
1882 | + SHFILEINFOW wsfi; | |
1883 | +START_ROUTINE | |
1884 | + pw0 = DuplicateMtoWMultiString(pszPath); | |
1885 | + if((r = SHGetFileInfoW(pw0, dwFileAttributes, &wsfi, cbFileInfo, uFlags)) != 0) | |
1886 | + { | |
1887 | + psfi->hIcon = wsfi.hIcon; | |
1888 | + psfi->iIcon = wsfi.iIcon; | |
1889 | + psfi->dwAttributes = wsfi.dwAttributes; | |
1890 | + WtoM(psfi->szDisplayName, MAX_PATH, wsfi.szDisplayName, -1); | |
1891 | + WtoM(psfi->szTypeName, 80, wsfi.szTypeName, -1); | |
1892 | + } | |
1893 | +END_ROUTINE | |
1894 | + FreeDuplicatedString(pw0); | |
1895 | + return r; | |
1896 | +} | |
1897 | + | |
1898 | + | |
1878 | 1899 | BOOL AppendMenuM(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem) |
1879 | 1900 | { |
1880 | 1901 | int r = 0; |
@@ -143,6 +143,9 @@ BOOL SHGetPathFromIDListM(PCIDLIST_ABSOLUTE pidl, LPSTR pszPath); | ||
143 | 143 | #undef SHFileOperation |
144 | 144 | #define SHFileOperation SHFileOperationM |
145 | 145 | int SHFileOperationM(LPSHFILEOPSTRUCTA lpFileOp); |
146 | +#undef SHGetFileInfo | |
147 | +#define SHGetFileInfo SHGetFileInfoM | |
148 | +DWORD_PTR SHGetFileInfoM(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags); | |
146 | 149 | #undef AppendMenu |
147 | 150 | #define AppendMenu AppendMenuM |
148 | 151 | BOOL AppendMenuM(HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem); |
@@ -166,6 +166,8 @@ extern int MirUpDelNotify; | ||
166 | 166 | extern int MirDownDelNotify; |
167 | 167 | extern int FolderAttr; |
168 | 168 | extern int FolderAttrNum; |
169 | +// ファイルアイコン表示対応 | |
170 | +extern int DispFileIcon; | |
169 | 171 | |
170 | 172 | |
171 | 173 | /*----- オプションのプロパティシート ------------------------------------------ |
@@ -976,6 +978,8 @@ static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, | ||
976 | 978 | SendDlgItemMessage(hDlg, DISP_FONT, WM_SETTEXT, 0, (LPARAM)TmpFont.lfFaceName); |
977 | 979 | SendDlgItemMessage(hDlg, DISP_HIDE, BM_SETCHECK, DispIgnoreHide, 0); |
978 | 980 | SendDlgItemMessage(hDlg, DISP_DRIVE, BM_SETCHECK, DispDrives, 0); |
981 | + // ファイルアイコン表示対応 | |
982 | + SendDlgItemMessage(hDlg, DISP_ICON, BM_SETCHECK, DispFileIcon, 0); | |
979 | 983 | return(TRUE); |
980 | 984 | |
981 | 985 | case WM_NOTIFY: |
@@ -985,6 +989,8 @@ static INT_PTR CALLBACK DispSettingProc(HWND hDlg, UINT message, WPARAM wParam, | ||
985 | 989 | case PSN_APPLY : |
986 | 990 | DispIgnoreHide = SendDlgItemMessage(hDlg, DISP_HIDE, BM_GETCHECK, 0, 0); |
987 | 991 | DispDrives = SendDlgItemMessage(hDlg, DISP_DRIVE, BM_GETCHECK, 0, 0); |
992 | + // ファイルアイコン表示対応 | |
993 | + DispFileIcon = SendDlgItemMessage(hDlg, DISP_ICON, BM_GETCHECK, 0, 0); | |
988 | 994 | if(strlen(TmpFont.lfFaceName) > 0) |
989 | 995 | { |
990 | 996 | memcpy(&ListLogFont, &TmpFont, sizeof(LOGFONT)); |
@@ -193,6 +193,8 @@ extern int FolderAttrNum; | ||
193 | 193 | // 暗号化通信対応 |
194 | 194 | extern BYTE CertificateCacheHash[MAX_CERT_CACHE_HASH][20]; |
195 | 195 | extern BYTE SSLRootCAFileHash[20]; |
196 | +// ファイルアイコン表示対応 | |
197 | +extern int DispFileIcon; | |
196 | 198 | |
197 | 199 | /*----- マスタパスワードの設定 ---------------------------------------------- |
198 | 200 | * |
@@ -611,6 +613,8 @@ void SaveRegistory(void) | ||
611 | 613 | StrCatOut((char*)&SSLRootCAFileHash, sizeof(SSLRootCAFileHash), Buf); |
612 | 614 | EncodePassword(Buf, Str); |
613 | 615 | WriteStringToReg(hKey4, "RootCertHash", Str); |
616 | + // ファイルアイコン表示対応 | |
617 | + WriteIntValueToReg(hKey4, "ListIcon", DispFileIcon); | |
614 | 618 | } |
615 | 619 | CloseSubKey(hKey4); |
616 | 620 | } |
@@ -980,6 +984,8 @@ int LoadRegistory(void) | ||
980 | 984 | ReadStringFromReg(hKey4, "RootCertHash", Str, PRIVATE_KEY_LEN*4+1); |
981 | 985 | DecodePassword(Str, Buf); |
982 | 986 | StrReadIn(Buf, sizeof(SSLRootCAFileHash), (char*)&SSLRootCAFileHash); |
987 | + // ファイルアイコン表示対応 | |
988 | + ReadIntValueFromReg(hKey4, "ListIcon", &DispFileIcon); | |
983 | 989 | |
984 | 990 | CloseSubKey(hKey4); |
985 | 991 | } |