Rev 5576 | Rev 5606 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5576 | Rev 5591 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | ?define PR_T_CONTAINS "®¤¥à¦¨â: " |
12 | ?define PR_T_CONTAINS "®¤¥à¦¨â: " |
13 | ?define FLAGS " ââਡãâë " |
13 | ?define FLAGS " ââਡãâë " |
14 | ?define PR_T_HIDDEN "ªàëâë©" |
14 | ?define PR_T_HIDDEN "ªàëâë©" |
15 | ?define PR_T_SYSTEM "¨á⥬ë©" |
15 | ?define PR_T_SYSTEM "¨á⥬ë©" |
16 | ?define PR_T_ONLY_READ "®«ìª® ç⥨¥" |
16 | ?define PR_T_ONLY_READ "®«ìª® ç⥨¥" |
- | 17 | ?define SET_BYTE_LANG "¡ ©â" |
|
17 | #else |
18 | #else |
18 | ?define WINDOW_TITLE_PROPERTIES "Properties" |
19 | ?define WINDOW_TITLE_PROPERTIES "Properties" |
19 | ?define BTN_CLOSE "Close" |
20 | ?define BTN_CLOSE "Close" |
20 | ?define PR_T_NAME "Name:" |
21 | ?define PR_T_NAME "Name:" |
21 | ?define PR_T_DEST "Destination:" |
22 | ?define PR_T_DEST "Destination:" |
Line 28... | Line 29... | ||
28 | ?define PR_T_CONTAINS "Contains: " |
29 | ?define PR_T_CONTAINS "Contains: " |
29 | ?define FLAGS " Attributes " |
30 | ?define FLAGS " Attributes " |
30 | ?define PR_T_HIDDEN "Hidden" |
31 | ?define PR_T_HIDDEN "Hidden" |
31 | ?define PR_T_SYSTEM "System" |
32 | ?define PR_T_SYSTEM "System" |
32 | ?define PR_T_ONLY_READ "Read-only" |
33 | ?define PR_T_ONLY_READ "Read-only" |
- | 34 | ?define SET_BYTE_LANG "byte" |
|
33 | #endif |
35 | #endif |
Line 34... | Line 36... | ||
34 | 36 | ||
35 | dword mouse_ddd2; |
37 | dword mouse_ddd2; |
36 | char path_to_file[4096]="\0"; |
38 | char path_to_file[4096]="\0"; |
Line 47... | Line 49... | ||
47 | void SetProperties(byte id) |
49 | void SetProperties(byte id) |
48 | { |
50 | { |
49 | if (selected_count) return; |
51 | if (selected_count) return; |
50 | else |
52 | else |
51 | { |
53 | { |
52 | if (id==20) file_info_general.readonly ^= 1; |
54 | if (id==20) file_info_general.readonly ^= true; |
53 | if (id==21) file_info_general.hidden ^= 1; |
55 | if (id==21) file_info_general.hidden ^= true; |
54 | if (id==22) file_info_general.system ^= 1; |
56 | if (id==22) file_info_general.system ^= true; |
55 | SetFileInfo(#file_path, #file_info_general); |
57 | SetFileInfo(#file_path, #file_info_general); |
56 | } |
58 | } |
57 | } |
59 | } |
Line 58... | Line 60... | ||
58 | 60 | ||
59 | void GetSizeDir(dword way) |
61 | void GetSizeDir(dword way) |
60 | { |
62 | { |
61 | dword dirbuf, fcount, i, filename; |
63 | dword dirbuf, fcount, i, filename; |
62 | char cur_file[4096]; |
64 | dword cur_file; |
63 | if (isdir(way)) |
65 | if (isdir(way)) |
- | 66 | { |
|
- | 67 | cur_file = malloc(4096); |
|
64 | { |
68 | // In the process of recursive descent, memory must be allocated dynamically, because the static memory -> was a bug !!! But unfortunately pass away to sacrifice speed. |
65 | GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL); |
69 | GetDir(#dirbuf, #fcount, way, DIRS_ONLYREAL); |
66 | for (i=0; i |
70 | for (i=0; i |
67 | { |
71 | { |
68 | filename = i*304+dirbuf+72; |
72 | filename = i*304+dirbuf+72; |
- | 73 | sprintf(cur_file,"%s/%s",way,filename); |
|
69 | sprintf(#cur_file,"%s/%s",way,filename); |
74 | |
70 | if ( TestBit(ESDWORD[filename-40], 4) ) |
75 | if (TestBit(ESDWORD[filename-40], 4) ) |
71 | { |
76 | { |
72 | dir_count++; |
77 | dir_count++; |
73 | GetSizeDir(#cur_file); |
78 | GetSizeDir(cur_file); |
74 | } |
79 | } |
75 | else |
80 | else |
76 | { |
81 | { |
77 | GetFileInfo(#cur_file, #file_info_dirsize); |
82 | GetFileInfo(cur_file, #file_info_dirsize); |
78 | size_dir = size_dir + file_info_dirsize.sizelo; |
83 | size_dir += file_info_dirsize.sizelo; |
79 | file_count++; |
84 | file_count++; |
80 | } |
85 | } |
- | 86 | } |
|
81 | } |
87 | free(cur_file); |
82 | } |
88 | } |
Line 83... | Line 89... | ||
83 | } |
89 | } |
84 | 90 | ||
Line 94... | Line 100... | ||
94 | 100 | ||
95 | for (i=0; i |
101 | for (i=0; i |
96 | { |
102 | { |
97 | selected_offset2 = file_mas[i]*304 + buf+32 + 7; |
103 | selected_offset2 = file_mas[i]*304 + buf+32 + 7; |
98 | if (ESBYTE[selected_offset2]) { |
104 | if (ESBYTE[selected_offset2]) { |
Line 99... | Line 105... | ||
99 | sprintf(#cur_file,way,file_mas[i]*304+buf+72); |
105 | sprintf(#cur_file,"%s/%s",way,file_mas[i]*304+buf+72); |
100 | 106 | ||
101 | GetFileInfo(#cur_file, #file_info_general); |
107 | GetFileInfo(#cur_file, #file_info_general); |
102 | if ( file_info_general.isfolder ) |
108 | if ( file_info_general.isfolder ) |
Line 147... | Line 153... | ||
147 | SetEventMask(0x27); |
153 | SetEventMask(0x27); |
148 | loop() switch(WaitEvent()) |
154 | loop() switch(WaitEvent()) |
149 | { |
155 | { |
150 | case evButton: |
156 | case evButton: |
151 | id=GetButtonID(); |
157 | id=GetButtonID(); |
152 | IF (id==1) || (id==10){cmd_free=3;ExitProcess();} |
158 | if (id==1) || (id==10) |
- | 159 | { |
|
- | 160 | cmd_free=3; |
|
- | 161 | ExitProcess(); |
|
- | 162 | } |
|
153 | if (id==20) SetProperties(id); |
163 | if (id==20) SetProperties(id); |
154 | if (id==21) SetProperties(id); |
164 | if (id==21) SetProperties(id); |
155 | if (id==22) SetProperties(id); |
165 | if (id==22) SetProperties(id); |
156 | DrawPropertiesCheckBoxes(); |
166 | DrawPropertiesCheckBoxes(); |
157 | break; |
167 | break; |
Line 161... | Line 171... | ||
161 | edit_box_mouse stdcall (#path_to_file_ed); |
171 | edit_box_mouse stdcall (#path_to_file_ed); |
162 | break; |
172 | break; |
Line 163... | Line 173... | ||
163 | 173 | ||
164 | case evKey: |
174 | case evKey: |
- | 175 | key = GetKey(); |
|
- | 176 | if (key==27) |
|
- | 177 | { |
|
165 | key = GetKey(); |
178 | cmd_free=3; |
- | 179 | ExitProcess(); |
|
166 | IF (key==27){cmd_free=3;ExitProcess();} |
180 | } |
167 | EAX=key<<8; |
181 | EAX=key<<8; |
168 | edit_box_key stdcall(#file_name_ed); |
182 | edit_box_key stdcall(#file_name_ed); |
169 | edit_box_key stdcall(#path_to_file_ed); |
183 | edit_box_key stdcall(#path_to_file_ed); |
Line 183... | Line 197... | ||
183 | if (selected_count) |
197 | if (selected_count) |
184 | { |
198 | { |
185 | Put_icon('', 18, 19, 0xFFFfff, 0); |
199 | Put_icon('', 18, 19, 0xFFFfff, 0); |
186 | sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count); |
200 | sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count); |
187 | WriteText(50, 23, 0x80, 0x000000, #folder_info); |
201 | WriteText(50, 23, 0x80, 0x000000, #folder_info); |
188 | EAX = ConvertSize(size_dir); |
- | |
189 | strcpy(#element_size_label, EAX); |
- | |
190 | strcat(#element_size_label, " ("); |
- | |
191 | strcat(#element_size_label, itoa(size_dir)); |
202 | sprintf(#element_size_label,"%s (%d %s)",ConvertSize(size_dir),size_dir,SET_BYTE_LANG); |
192 | strcat(#element_size_label, " b)"); |
- | |
193 | //tmp = ConvertSize(size_dir); |
- | |
194 | //sprintf(#element_size_label," ( byte)"); |
- | |
195 | WriteText(100, 65, 0x80, 0x000000, #element_size_label); |
203 | WriteText(100, 65, 0x80, 0x000000, #element_size_label); |
196 | } |
204 | } |
197 | else |
205 | else |
198 | { |
206 | { |
199 | if ( file_info_general.isfolder ) |
207 | if ( file_info_general.isfolder ) |
Line 202... | Line 210... | ||
202 | Put_icon(#file_name2+strrchr(#file_name2,'.'), 18, 19, 0xFFFfff, 0); |
210 | Put_icon(#file_name2+strrchr(#file_name2,'.'), 18, 19, 0xFFFfff, 0); |
Line 203... | Line 211... | ||
203 | 211 | ||
204 | WriteText(50, 13, 0x80, 0x000000, PR_T_NAME); |
212 | WriteText(50, 13, 0x80, 0x000000, PR_T_NAME); |
Line 205... | Line -... | ||
205 | edit_box_draw stdcall (#file_name_ed); |
- | |
206 | - | ||
207 | if (!itdir) |
213 | edit_box_draw stdcall (#file_name_ed); |
208 | { |
- | |
209 | element_size = file_info_general.sizelo; |
214 | |
210 | } |
215 | if (!itdir) element_size = file_info_general.sizelo; |
211 | else |
216 | else |
212 | { |
217 | { |
213 | WriteText(10, 80, 0x80, 0x000000, PR_T_CONTAINS); |
218 | WriteText(10, 80, 0x80, 0x000000, PR_T_CONTAINS); |
214 | sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count); |
219 | sprintf(#folder_info,"%s%d%s%d",SET_6,file_count,SET_7,dir_count); |
215 | WriteText(100, 80, 0x80, 0x000000, #folder_info); |
220 | WriteText(100, 80, 0x80, 0x000000, #folder_info); |
216 | element_size = size_dir; |
- | |
217 | } |
221 | element_size = size_dir; |
218 | 222 | } |
|
219 | WriteText(10, 95, 0x80, 0x000000, SET_3); |
223 | WriteText(10, 95, 0x80, 0x000000, SET_3); |
220 | WriteText(10, 110, 0x80, 0x000000, SET_4); |
224 | WriteText(10, 110, 0x80, 0x000000, SET_4); |
221 | WriteText(10, 125, 0x80, 0x000000, SET_5); |
225 | WriteText(10, 125, 0x80, 0x000000, SET_5); |
222 | DrawDate(100, 95, 0, #file_info_general.datecreate); |
226 | DrawDate(100, 95, 0, #file_info_general.datecreate); |
Line 223... | Line -... | ||
223 | DrawDate(100, 110, 0, #file_info_general.datelastaccess); |
- | |
224 | DrawDate(100, 125, 0, #file_info_general.datelastedit); |
- | |
225 | - | ||
226 | EAX = ConvertSize(element_size); |
- | |
227 | strcpy(#element_size_label, EAX); |
- | |
228 | strcat(#element_size_label, " ("); |
- | |
229 | strcat(#element_size_label, itoa(element_size)); |
- | |
230 | strcat(#element_size_label, " b)"); |
227 | DrawDate(100, 110, 0, #file_info_general.datelastaccess); |
231 | //sprintf(#element_size_label,"%s (%d byte)","",element_size); |
228 | DrawDate(100, 125, 0, #file_info_general.datelastedit); |
Line 232... | Line 229... | ||
232 | //tmp = ConvertSize(element_size); |
229 | |
233 | //sprintf(#element_size_label,"%s (%d byte)",tmp,element_size); |
230 | sprintf(#element_size_label,"%s (%d %s)",ConvertSize(element_size),element_size,SET_BYTE_LANG); |
234 | WriteText(100, 65, 0x80, 0x000000, #element_size_label); |
231 | WriteText(100, 65, 0x80, 0x000000, #element_size_label); |