Rev 935 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 935 | Rev 937 | ||
---|---|---|---|
Line 2... | Line 2... | ||
2 | 2 | ||
3 | #codesize |
3 | #codesize |
4 | #include "lib\kolibri.h--" |
4 | #include "lib\kolibri.h--" |
5 | #include "lib\memory.h--" |
5 | #include "lib\memory.h--" |
6 | #include "lib\edit_box_lib.h--" |
6 | #include "lib\edit_box_lib.h--" |
7 | #include "include\run_file.h--" |
7 | #include "lib\file_system.h--" |
8 | #include "imgs\toolbar.txt" |
8 | #include "imgs\toolbar.txt" |
Line 9... | Line 9... | ||
9 | #include "imgs\left_p.cpp" |
9 | #include "imgs\left_p.txt" |
10 | 10 | ||
11 | //ëîêàëèçàöèÿ è íàñòðîéêè |
11 | //ëîêàëèçàöèÿ è íàñòðîéêè |
12 | byte header[27] = "Eolite File Manager v0.97"; |
12 | #define header "Eolite File Manager v0.97.1"; |
13 | #define videlenie 0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
13 | #define videlenie 0xFEA4B7; //0x94AECE,,0x8BCDFF,0x9EACCA,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
14 | byte toolbar_buttons_x[6]={14,51,90,139,172,208}; |
14 | byte toolbar_buttons_x[6]={14,51,90,139,172,208}; |
15 | // |
15 | // |
16 | dword but_num=0, kolichestvo=0, curbtn=0, za_kadrom=0; |
16 | dword but_num, kolichestvo, za_kadrom, curbtn, razm_scrl; |
17 | byte cut_active, rename_active, del_active; |
- | |
18 | byte show_actions=1, show_preview=0, sort_num=1, isdir; |
17 | byte cut_active, rename_active, del_active; |
19 | dword razm_scrl; //äëÿ ñêðîëà |
18 | byte show_actions=1, show_preview=0, sort_num=1, isdir; |
20 | byte path[256]="/rd/1/", edit_path[256], PathHistory[2560], temp[256]; //äëÿ ïóòåé |
19 | char path[256]="/rd/1/", edit_path[256], PathHistory[2560], temp[256]; //äëÿ ïóòåé |
21 | byte file_path[256], file_name[256]; //äëÿ ôàéëîâ |
- | |
22 | byte copyfile[256],copy_name[256]; //êîïèðîâàíèå |
20 | char file_path[256], file_name[256]; //äëÿ ôàéëîâ |
23 | dword i; //äëÿ öèêëîâ |
21 | char copyfile[256],copy_name[256]; //êîïèðîâàíèå |
24 | dword file_mas[6898]; //ñïèñîê ôàéëîâ |
22 | dword file_mas[6898]; //ñïèñîê ôàéëîâ |
Line 25... | Line 23... | ||
25 | int temp_int, j; |
23 | int temp_int, j, i; |
26 | dword stak[100]=0; //îêíî About |
24 | dword stak[100]=0; //îêíî About |
Line 27... | Line 25... | ||
27 | 25 | ||
28 | edit_box edit1= {250,252,17,0xffffff,0x94AECE,0xD3DDEB,0xffffff,0,248,#edit_path,64,6,6}; |
- | |
29 | edit_box edit2= {250,218,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,64,6,6}; |
26 | edit_box edit1= {250,252,17,0xffffff,0x94AECE,0xD3DDEB,0xffffff,0,248,#edit_path,64,6,6}; |
30 | 27 | edit_box edit2= {250,218,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,64,6,6}; |
|
31 | proc_info Form; |
28 | |
32 | f70 open_dir_70; |
29 | proc_info Form; |
Line -... | Line 30... | ||
- | 30 | dword buf=0, off; //äëÿ òåêñòà è áóôåðà |
|
- | 31 | dword devbuf=0, dev_num; |
|
- | 32 | #include "include\LVabout.c--" |
|
- | 33 | #include "include\icons_f.h--" |
|
- | 34 | ||
- | 35 | ||
- | 36 | ||
- | 37 | //IPC |
|
- | 38 | /*#include "lib\Nable_lib.h--" |
|
- | 39 | #include "lib\ipc.h--" |
|
- | 40 | ||
- | 41 | int pLoadedImage; |
|
- | 42 | void GetImage(dword ipath) |
|
- | 43 | { |
|
- | 44 | IF (pLoadedImage) free(pLoadedImage); |
|
33 | dword buf=0, off; //äëÿ òåêñòà è áóôåðà |
45 | pLoadedImage=loadimage_viaIPC(ipath, #CurrentImage); |
34 | dword devbuf=0, dev_num; |
46 | SetEventMask(100111b); //restore normal event mask |
35 | #include "include\LVabout.c--" |
47 | }*/ |
- | 48 | ||
36 | #include "include\icons_f.h--" |
49 | |
37 | 50 | void main() |
|
38 | void main() |
- | |
39 | byte pressed, key, id; |
- | |
40 | mouse m; |
- | |
41 | { |
- | |
42 | devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
- | |
43 | open_dir_70.func = 1; |
- | |
44 | open_dir_70.param1 = 0; |
51 | byte pressed, key, id; |
45 | open_dir_70.param2 = 0; |
- | |
46 | open_dir_70.param3 = 10; |
- | |
47 | open_dir_70.param4 = devbuf; |
- | |
48 | open_dir_70.rezerv = 0; |
52 | mouse m; |
49 | open_dir_70.name = "/"; |
53 | int pressed_y; |
50 | $mov eax,70 |
54 | { |
51 | $mov ebx,#open_dir_70.func |
55 | devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
- | 56 | ReadDir(10, devbuf, "/"); |
|
- | 57 | dev_num=EBX; |
|
52 | $int 0x40 |
58 | load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì |
53 | dev_num=EBX; |
59 | IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();} |
54 | load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì |
60 | Open_Dir(#path,2); |
55 | IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();} |
61 | //GetImage("/sys/wallpaper.gif"); |
56 | Open_Dir(#path,2); |
62 | //DrawImage(#CurrentImage, 0*65536+0); |
Line 66... | Line 72... | ||
66 | // |
72 | // |
67 | IF (vert==65535) IF (curbtn==0) FileList_ReDraw(-3); ELSE FileList_ReDraw(-1); |
73 | IF (vert==65535) IF (curbtn==0) FileList_ReDraw(-3); ELSE FileList_ReDraw(-1); |
68 | IF (vert==1) IF (curbtn==but_num-1) FileList_ReDraw(3); ELSE FileList_ReDraw(1); |
74 | IF (vert==1) IF (curbtn==but_num-1) FileList_ReDraw(3); ELSE FileList_ReDraw(1); |
69 | //âûäåëåíèå èñïîëüçóÿ ÏÊÌ |
75 | //âûäåëåíèå èñïîëüçóÿ ÏÊÌ |
70 | //IF (m.pkm==1) && (m.x>197) && (m.x |
76 | //IF (m.pkm==1) && (m.x>197) && (m.x |
71 | // IF (m.y-skin_width-56/18<>curbtn) FileList_ReDraw(m.y-skin_width-56/18-curbtn); |
77 | // && (m.y-skin_width-56/18<>curbtn) FileList_ReDraw(m.y-skin_width-56/18-curbtn); |
72 | //ñêðîëë |
78 | //ñêðîëë |
73 | IF (m.y>Form.width) || (57+razm_scrl>m.y) m.y=57+razm_scrl; //åñëè êóðñîð íàä îêíîì |
79 | IF (m.y>Form.width) || (razm_scrl/2+57>m.y) m.y=razm_scrl/2+57; //åñëè êóðñîð íàä îêíîì |
74 | IF (m.lkm==0) pressed=0; ELSE |
80 | IF (m.lkm==0) pressed=0; ELSE |
75 | IF (m.x>=Form.width-21) && (m.x<=Form.width-6) pressed=1; |
81 | IF (m.x>=Form.width-21) && (m.x<=Form.width-6) pressed=1; |
76 | IF (pressed==1) |
82 | IF (pressed==1) |
77 | { |
83 | { |
78 | temp_int=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî |
84 | temp_int=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî |
- | 85 | j= razm_scrl/2; |
|
79 | za_kadrom = m.y -57-razm_scrl * kolichestvo / onTop(22,57); |
86 | za_kadrom = m.y -j -57 * kolichestvo / onTop(22,57); |
80 | IF (but_num+za_kadrom>kolichestvo) za_kadrom=kolichestvo-but_num; |
87 | IF (but_num+za_kadrom>kolichestvo) za_kadrom=kolichestvo-but_num; |
81 | IF (temp_int<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü |
88 | IF (temp_int<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü |
82 | } |
89 | } |
83 | break; |
90 | break; |
84 | //Button pressed----------------------------------------------------------------------------- |
91 | //Button pressed----------------------------------------------------------------------------- |
Line 108... | Line 115... | ||
108 | ECX = #authors; EDX = #stak; |
115 | ECX = #authors; EDX = #stak; |
109 | $int 40h; |
116 | $int 40h; |
110 | break; |
117 | break; |
111 | case 50: //ñòðåëêà ââåðõ íà ñêðîëå |
118 | case 50: //ñòðåëêà ââåðõ íà ñêðîëå |
112 | FileList_ReDraw(-1); |
119 | FileList_ReDraw(-1); |
113 | BREAK; |
120 | break; |
114 | case 51: //ñòðåëêà âíèç íà ñêðîëå |
121 | case 51: //ñòðåëêà âíèç íà ñêðîëå |
115 | FileList_ReDraw(1); |
122 | FileList_ReDraw(1); |
116 | BREAK; |
123 | break; |
117 | case 78: //preview |
124 | case 78: //preview |
118 | IF (show_preview==1) show_preview=0; ELSE show_preview=1; |
125 | IF (show_preview==1) show_preview=0; ELSE show_preview=1; |
119 | Preview(); |
126 | Preview(); |
120 | BREAK; |
127 | break; |
121 | case 77: //actions |
128 | case 77: //actions |
122 | IF (show_actions==1) show_actions=0; ELSE show_actions=1; |
129 | IF (show_actions==1) show_actions=0; ELSE show_actions=1; |
123 | Actions(); Preview(); |
130 | Actions(); Preview(); |
124 | BREAK; |
131 | break; |
125 | case 80: goto REN_MARK; //rename |
132 | case 80: //rename |
- | 133 | goto REN_MARK; |
|
126 | case 81: Del_Form(); BREAK;//Delete file |
134 | case 81: //Delete file |
- | 135 | Del_Form(); |
|
- | 136 | break; |
|
- | 137 | case 82: //create folder |
|
- | 138 | NEW_FOLDER_MARK: |
|
- | 139 | copystr(#path, #temp); |
|
- | 140 | copystr("New folder", #temp+strlen(#temp)); |
|
- | 141 | CreateFolder(#temp); |
|
- | 142 | za_kadrom=curbtn=0; |
|
- | 143 | Open_Dir(#path,1); |
|
- | 144 | FOR (i=0; i |
|
- | 145 | IF (strcmp("New folder",file_mas[i]*304+buf+72)==0) {IF(!strcmp("..",buf+72+304))i--; FileList_ReDraw(i); break;} |
|
- | 146 | goto REN_MARK; |
|
- | 147 | case 100...120: |
|
- | 148 | DEVICE_MARK: |
|
- | 149 | copystr(id-100*304+ devbuf+72, #path); |
|
- | 150 | IF (path[0]=='r') copystr("/rd/1",#file_path); |
|
- | 151 | ELSE { |
|
- | 152 | copystr("/", #file_path); |
|
- | 153 | copystr(#path, #file_path+strlen(#file_path)); |
|
127 | } |
154 | } |
- | 155 | goto OPEN_DEV; |
|
- | 156 | default: |
|
128 | if (id>200) //êíîïêè èç ñïèñêà ôàéëîâ |
157 | if (id<200) break; //êíîïêè èç ñïèñêà ôàéëîâ |
129 | { |
- | |
130 | IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} |
158 | IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} |
131 | else OPEN_MARK: |
159 | else OPEN_MARK: |
132 | if (!isdir) Run_File(#file_path); else |
160 | if (!isdir) Run_File(#file_path); else |
133 | if (strcmp(za_kadrom+curbtn+1*304 + buf+72,"..")==0) Dir_Up(); else |
161 | if (strcmp(za_kadrom+curbtn+1*304 + buf+72,"..")==0) Dir_Up(); else |
134 | { OPEN_DEV: |
162 | { OPEN_DEV: |
Line 138... | Line 166... | ||
138 | za_kadrom=curbtn=0; |
166 | za_kadrom=curbtn=0; |
139 | Open_Dir(#path,1); |
167 | Open_Dir(#path,1); |
140 | } |
168 | } |
141 | break; |
169 | break; |
142 | } |
170 | } |
143 | if (id>=100) && (id<130) //ïîäêëþ÷¸ííûå íîñèòåëè èíôîðìàöèè |
- | |
144 | { DEVICE_MARK: |
- | |
145 | copystr(id-100*304+ devbuf+72, #path); |
- | |
146 | IF (strcmp(#path,"rd")==0) copystr("/rd/1",#file_path); |
- | |
147 | ELSE { |
- | |
148 | copystr("/", #file_path); |
- | |
149 | copystr(#path, #file_path+strlen(#file_path)); |
- | |
150 | } |
- | |
151 | GOTO OPEN_DEV; |
- | |
152 | } |
- | |
153 | break; |
171 | break; |
154 | //Key pressed----------------------------------------------------------------------------- |
172 | //Key pressed----------------------------------------------------------------------------- |
155 | case evKey: |
173 | case evKey: |
156 | key = GetKey(); |
174 | key = GetKey(); |
157 | IF (del_active==1) |
175 | IF (del_active==1) |
Line 164... | Line 182... | ||
164 | IF (edit2.flags<>64) && (key<>13) && (key<>27) {EAX=key<<8; edit_box_key stdcall (#edit2); break;} |
182 | IF (edit2.flags<>64) && (key<>13) && (key<>27) {EAX=key<<8; edit_box_key stdcall (#edit2); break;} |
165 | switch (key) |
183 | switch (key) |
166 | { |
184 | { |
167 | case 209...217: id=key-109; IF(dev_num>id-100)GOTO DEVICE_MARK; break; |
185 | case 209...217: id=key-109; IF(dev_num>id-100)GOTO DEVICE_MARK; break; |
168 | case 8: GoBack(); break; //Íàçàä |
186 | case 8: GoBack(); break; //Íàçàä |
169 | case 014: MoveSize(80,80,OLD,OLD); Run_Program("/sys/File Managers/Eolite", #path); break; //íîâîå îêíî |
187 | case 014: MoveSize(80,80,OLD,OLD); RunProgram("/sys/File Managers/Eolite", #path); break; //íîâîå îêíî |
170 | case 024: //Ctrl+X cut |
188 | case 024: //Ctrl+X cut |
171 | case 089: //Ctrl+Ins copy |
189 | case 089: //Ctrl+Ins copy |
172 | case 003: //Ctrl+C copy |
190 | case 003: //Ctrl+C copy |
173 | CTRLC_MARK: |
191 | CTRLC_MARK: |
174 | IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì |
192 | IF (isdir) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì |
Line 176... | Line 194... | ||
176 | copystr(#file_path,#copyfile); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü |
194 | copystr(#file_path,#copyfile); //âû÷èñëÿåì êàêîé ôàéë êîïèðîâàòü |
177 | IF (key==24) cut_active=1; ELSE cut_active=0; |
195 | IF (key==24) cut_active=1; ELSE cut_active=0; |
178 | break; |
196 | break; |
179 | case 022: Paste(); break;//Ctrl+V paste |
197 | case 022: Paste(); break;//Ctrl+V paste |
180 | case 027: //Esc |
198 | case 027: //Esc |
181 | IF (rename_active==1) Line_ReDraw(videlenie, 100); |
199 | IF (rename_active==1) {Line_ReDraw(videlenie, 100);} |
182 | break; |
200 | break; |
183 | case 013: //Enter |
201 | case 013: //Enter |
184 | IF (rename_active==1) {Line_ReDraw(videlenie, curbtn); break;} |
202 | IF (rename_active==1) {Line_ReDraw(videlenie, curbtn); break;} |
185 | IF (strcmp(#path,#edit_path)<>0) Goto_edit_path(); |
203 | IF (strcmp(#path,#edit_path)<>0) Goto_edit_path(); |
186 | ELSE GOTO OPEN_MARK; |
204 | ELSE GOTO OPEN_MARK; |
187 | break; |
205 | break; |
- | 206 | case 55: //F6 - new folder |
|
- | 207 | goto NEW_FOLDER_MARK; |
|
188 | case 56: //IF (rename_active==1) break;//up |
208 | case 56: //IF (rename_active==1) break;//up |
189 | case 178: //up |
209 | case 178: //up |
190 | FileList_ReDraw(-1); |
210 | FileList_ReDraw(-1); |
191 | break; |
211 | break; |
192 | case 177: //down |
212 | case 177: //down |
Line 204... | Line 224... | ||
204 | case 184: //Page Up |
224 | case 184: //Page Up |
205 | FileList_ReDraw(-but_num+1); |
225 | FileList_ReDraw(-but_num+1); |
206 | break; |
226 | break; |
207 | case 051: //Íàæàòà F2 |
227 | case 051: //Íàæàòà F2 |
208 | REN_MARK: |
228 | REN_MARK: |
209 | IF (isdir==1) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì |
229 | //IF (isdir==1) break; //ïàïêè ïîêà ÷òî êîïèðîâàòü íå óìååì |
210 | edit2.flags=66; //äåëàåì êîìïîíåíò àêòèâíûì |
230 | edit2.flags=66; //äåëàåì êîìïîíåíò àêòèâíûì |
211 | DeleteButton(curbtn+201); //ýòî ÷òîá ìîæíî áûëî âûäåëÿòü ìûøüþ |
231 | DeleteButton(curbtn+201); //ýòî ÷òîá ìîæíî áûëî âûäåëÿòü ìûøüþ |
212 | edit2.width=onLeft(24,217); |
232 | edit2.width=onLeft(24,217); |
213 | edit2.top=curbtn*18+59+skin_width; |
233 | edit2.top=curbtn*18+59+skin_width; |
214 | edit2.size=strlen(#file_name); edit2.pos=strlen(#file_name); |
234 | edit2.size=strlen(#file_name); edit2.pos=strlen(#file_name); |
215 | edit_box_draw stdcall (#edit2); |
235 | edit_box_draw stdcall (#edit2); |
216 | DrawBar(218,curbtn*18+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè |
236 | DrawBar(218,curbtn*18+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè |
217 | rename_active=1; |
237 | rename_active=1; |
218 | break; |
238 | break; |
219 | case 052: //Íàæàòà F3 |
239 | case 052: //Íàæàòà F3 |
220 | IF (isdir==false) Run_Program("/sys/tinypad", #file_path); break; |
240 | IF (isdir==false) RunProgram("/sys/tinypad", #file_path); break; |
221 | case 054: Open_Dir(#path,1); break; //ïåðåðèñîâàòü îêíî F5 |
241 | case 054: Open_Dir(#path,1); break; //ïåðåðèñîâàòü îêíî F5 |
222 | case 182: Del_Form(); break; //delete file |
242 | case 182: Del_Form(); break; //delete file |
223 | default: |
243 | default: |
224 | IF (strcmp("..",buf+72+304)<>0) temp_int=0; ELSE temp_int=1; |
244 | IF (strcmp("..",buf+72+304)<>0) temp_int=0; ELSE temp_int=1; |
225 | for (i=curbtn+za_kadrom+1; i |
245 | for (i=curbtn+za_kadrom+1; i |
Line 242... | Line 262... | ||
242 | 262 | ||
243 | inline fastcall void draw_window() |
263 | inline fastcall void draw_window() |
244 | { |
264 | { |
245 | WindowRedrawStatus(1); |
265 | WindowRedrawStatus(1); |
246 | skin_width = GetSkinWidth(); |
266 | skin_width = GetSkinWidth(); |
247 | DefineAndDrawWindow(100,100,600,410,0x43,0x10E4DFE1,0,0,#header); |
267 | DefineAndDrawWindow(100,100,600,410,0x43,0x10E4DFE1,0,0,header); |
248 | Form.getme(); |
268 | Form.GetInfo(SelfInfo); |
249 | IF (Form.height==skin_width+3) {WindowRedrawStatus(2); return;} //ýòî çà÷¸ò! |
269 | IF (Form.height==skin_width+3) {WindowRedrawStatus(2); return;} //ýòî çà÷¸ò! |
250 | IF (Form.height<280) MoveSize(OLD,OLD,OLD,280); |
270 | IF (Form.height<280) MoveSize(OLD,OLD,OLD,280); |
251 | IF (Form.width<480) MoveSize(OLD,OLD,480,OLD); |
271 | IF (Form.width<480) MoveSize(OLD,OLD,480,OLD); |
252 | //toolbar buttons |
272 | //toolbar buttons |
Line 259... | Line 279... | ||
259 | KEdit(); |
279 | KEdit(); |
260 | DrawRegion(251,12,onLeft(61,251),16,0x94AECE); //îáîäîê |
280 | DrawRegion(251,12,onLeft(61,251),16,0x94AECE); //îáîäîê |
261 | DrawBar(251,29,onLeft(251,60),10,0xE4DFE1); //ôîí ïîä ïîëîñîé àäðåñà |
281 | DrawBar(251,29,onLeft(251,60),10,0xE4DFE1); //ôîí ïîä ïîëîñîé àäðåñà |
262 | DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,0xE4DFE1); //about |
282 | DefineButton(onLeft(34,0),6,27,28,30+BT_HIDE+BT_NOFRAME,0xE4DFE1); //about |
263 | DefineButton(onLeft(61,0),12,18,16,27+BT_HIDE,0xE4DFE1); //êíîïêà ïåðåõîäà |
283 | DefineButton(onLeft(61,0),12,18,16,27+BT_HIDE,0xE4DFE1); //êíîïêà ïåðåõîäà |
264 | PutImage(#goto_about,56,40,onLeft(60,0),0); |
284 | PutPaletteImage(#goto_about,56,40,Form.width-60,0,#goto_about_pal); |
265 | //ïðÿìîóãîëüíèêè âíóòðè |
285 | //ïðÿìîóãîëüíèêè âíóòðè |
266 | DrawRegion(6,40,Form.width-12,Form.height-skin_width-46,0x94AECE); //ñèíèé îáîäîê |
286 | DrawRegion(6,40,Form.width-12,Form.height-skin_width-46,0x94AECE); //ñèíèé îáîäîê |
267 | DrawRegion(5,39,Form.width-10,Form.height-skin_width-44,0xE4DFE1); //ôîí |
287 | DrawRegion(5,39,Form.width-10,Form.height-skin_width-44,0xE4DFE1); //ôîí |
268 | Devices(); //ïàíåëü ñëåâà íà ñèíåì ôîíå |
288 | Devices(); //ïàíåëü ñëåâà íà ñèíåì ôîíå |
269 | //Buttons |
289 | //Buttons |
Line 359... | Line 379... | ||
359 | DrawBar(onLeft(163,0),temp_int,1,onTop(temp_int,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
379 | DrawBar(onLeft(163,0),temp_int,1,onTop(temp_int,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
360 | DrawBar(onLeft(90,0),temp_int,1,onTop(temp_int,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
380 | DrawBar(onLeft(90,0),temp_int,1,onTop(temp_int,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
361 | TVScroll(); |
381 | TVScroll(); |
362 | } |
382 | } |
Line 363... | Line -... | ||
363 | - | ||
364 | /*void List_ReDraw() |
- | |
365 | { |
- | |
366 | int i; |
- | |
367 | for (j=0; j<5; j++;) for (i=0; i<6; i++;) |
- | |
368 | { |
- | |
369 | PutImage(#def_file,48,48,i*64+197,j*64+57); |
- | |
370 | off=file_mas[i+j+za_kadrom]*304 + buf+72; |
- | |
371 | DrawBar(i*64+197,j*64+57+50,10*6,9,0xFFFFFF); //çàëèâêà áåëûì |
- | |
372 | WriteText(i*64+197,j*64+57+50,0,0,off,10); |
- | |
373 | } |
- | |
374 | TVScroll(); |
- | |
375 | }*/ |
- | |
Line 376... | Line 383... | ||
376 | 383 | ||
377 | 384 | ||
378 | void Line_ReDraw(dword color, filenum){ |
385 | void Line_ReDraw(dword color, filenum){ |
379 | dword y=filenum*18+57; //ïîëîæåíèå òåêñòà ïî Y; |
386 | dword y;//ïîëîæåíèå òåêñòà ïî Y; |
380 | if (rename_active==1) |
387 | if (rename_active==1) |
381 | { |
388 | { |
382 | rename_active=0; |
389 | rename_active=0; |
383 | edit2.flags=64; |
390 | edit2.flags=64; |
384 | DefineButton(197,curbtn*18+57,onLeft(22,197),18,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
391 | DefineButton(197,curbtn*18+57,onLeft(22,197),18,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
385 | IF (filenum==100) filenum=curbtn; ELSE |
392 | IF (filenum==100) filenum=curbtn; else |
386 | { |
393 | { |
387 | copystr(#path,#temp); |
394 | copystr(#path,#temp); |
- | 395 | copystr(#file_name,#temp+strlen(#temp)); |
|
- | 396 | if (strcmp(#file_path,#temp)<>0) && (strlen(#file_name)>0) |
|
- | 397 | IF (isdir) |
|
- | 398 | { |
|
- | 399 | //Del_File(true); |
|
- | 400 | DeleleFile(#file_path); |
|
- | 401 | IF (EAX<>0) {DrawFlatButton(Form.width-200+197/2,160,200,80,0,0xFFB6B5, "Error. Folder isn't empty."); Pause(200);} |
|
- | 402 | ELSE CreateFolder(#temp); |
|
388 | copystr(#file_name,#temp+strlen(#temp)); |
403 | Open_Dir(#path,1); |
389 | IF (strcmp(#file_path,#temp)<>0) && (strlen(#file_name)>0) |
404 | } |
390 | { CopyFile(#file_path,#temp); Del_File(true); } |
405 | ELSE { CopyFile(#file_path,#temp); Del_File(true); } |
- | 406 | } |
|
391 | } |
407 | } |
392 | } |
408 | y=filenum*18+57; |
393 | //äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî ïåðåðèñîâêà çàòî ìàëåíüêàÿ |
409 | //äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî ïåðåðèñîâêà çàòî ìàëåíüêàÿ |
394 | DrawBar(197,y,3,18,color); |
410 | DrawBar(197,y,3,18,color); |
395 | DrawBar(200,y,16,2,color); |
411 | DrawBar(200,y,16,2,color); |
396 | DrawBar(197+19,y,onLeft(22+19,197),18,color); |
412 | DrawBar(197+19,y,onLeft(22+19,197),18,color); |
397 | DrawBar(200,y+17,16,1,color); |
413 | DrawBar(200,y+17,16,1,color); |
398 | // |
414 | // |
399 | IF (strcmp(".",buf+72)<>0) off=file_mas[filenum+za_kadrom]*304 + buf+72; ELSE off=file_mas[filenum+za_kadrom+1]*304 + buf+72; |
415 | IF (strcmp(".",buf+72)<>0) off=file_mas[filenum+za_kadrom]*304 + buf+72; ELSE off=file_mas[filenum+za_kadrom+1]*304 + buf+72; |
400 | EAX=ESDWORD[off-40]; |
416 | EAX=ESDWORD[off-40]; |
401 | $shr eax,4 |
417 | $shr eax,4 |
402 | $and eax,1 |
418 | $and eax,1 |
403 | IF (color==videlenie) isdir=EAX; //íàäî îáüåäèíèòü ñ òåì øî ñíèçó |
419 | IF (color==videlenie) isdir=EAX; |
404 | if (!EAX) |
420 | if (!EAX) |
405 | { |
421 | { |
406 | temp_int = Put_icon(off+strlen(off)-4, y+2); |
422 | temp_int = Put_icon(off+strlen(off)-4, y+2); |
407 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
423 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
408 | } ELSE IF (strcmp("..",off)==0) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon(" |
424 | } ELSE IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon(" |
409 | IF (color==videlenie) |
425 | IF (color==videlenie) |
410 | { |
426 | { |
411 | IconFairing(temp_int, y+2, videlenie); //çàêðàøèâàåì èêîíêó |
427 | IconFairing(temp_int, y+2); //çàêðàøèâàåì èêîíêó |
412 | copystr(#path,#file_path); |
428 | copystr(#path,#file_path); |
413 | copystr(off,#file_name); |
429 | copystr(off,#file_name); |
414 | copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà |
430 | copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà |
Line 422... | Line 438... | ||
422 | } |
438 | } |
Line 423... | Line 439... | ||
423 | 439 | ||
424 | 440 | ||
425 | void Open_Dir(dword path_,redraw){ |
- | |
426 | IF (buf) free(buf); |
441 | void Open_Dir(dword path_,redraw){ |
427 | open_dir_70.param3 = 6898; //filenum |
- | |
428 | buf = malloc(2097152); |
442 | IF (buf) free(buf); |
429 | open_dir_70.param4 = buf; |
- | |
430 | open_dir_70.name = path_; |
- | |
431 | $mov eax,70 |
- | |
432 | $mov ebx,#open_dir_70.func |
443 | buf = malloc(2097152); |
433 | $int 0x40 |
444 | ReadDir(6898, buf, path_); |
434 | kolichestvo=EBX; |
445 | kolichestvo=EBX; |
435 | // |
446 | // |
436 | if (kolichestvo<>-1) && (redraw>0) |
447 | if (kolichestvo<>-1) && (redraw>0) |
Line 494... | Line 505... | ||
494 | dword onTop(dword down,up) {return Form.height-skin_width-down-up;} |
505 | dword onTop(dword down,up) {return Form.height-skin_width-down-up;} |
Line 495... | Line 506... | ||
495 | 506 | ||
496 | 507 | ||
497 | void Del_Form() |
- | |
498 | { |
508 | void Del_Form() |
499 | IF (isdir==true) return; //ïàïêè ïîêà ÷òî óäàëÿòü íå óìååì |
509 | { |
500 | temp_int=Form.width-200+197/2; |
510 | temp_int=Form.width-200+197/2; |
501 | //òèïà îêíî |
511 | //òèïà îêíî |
502 | FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé |
512 | FOR (i=5;i<11;i++) DeleteButton(201+i); //óäàëÿåì êíîïêè ïîä ôîðìîé |
503 | DrawFlatButton(temp_int,160,200,80,0,0xE4DFE1, ""); //ôîðìà |
513 | DrawFlatButton(temp_int,160,200,80,0,0xE4DFE1, ""); //ôîðìà |
504 | WriteText(temp_int+19,175,0x80,0,"Do you really want to delete",28); |
514 | WriteText(temp_int+19,175,0x80,0,"Do you really want to delete",0); |
505 | IF (strlen(#file_name)<28) |
515 | IF (strlen(#file_name)<28) |
506 | { |
516 | { |
507 | WriteText(strlen(#file_name)*6+temp_int+20,190,0x80,0,"?",1); |
517 | WriteText(strlen(#file_name)*6+temp_int+20,190,0x80,0,"?",0); |
508 | WriteText(temp_int+20,190,0x80,0,#file_name,24); //ïèøåì èìÿ |
518 | WriteText(temp_int+20,190,0x80,0,#file_name,0); //ïèøåì èìÿ |
509 | } |
519 | } |
510 | ELSE |
520 | ELSE |
511 | { |
521 | { |
512 | WriteText(164+temp_int,190,0x80,0,"...?",4); |
522 | WriteText(164+temp_int,190,0x80,0,"...?",0); |
513 | WriteText(temp_int+20,190,0,0,#file_name,24); //ïèøåì èìÿ |
523 | WriteText(temp_int+20,190,0,0,#file_name,24); //ïèøåì èìÿ |
514 | } |
524 | } |
515 | //êíîïî÷êè |
525 | //êíîïî÷êè |
516 | DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes"); |
526 | DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes"); |
517 | DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No"); |
527 | DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No"); |
Line 518... | Line 528... | ||
518 | del_active=1; |
528 | del_active=1; |
519 | } |
529 | } |
520 | 530 | ||
521 | f70 del_file_70; |
531 | //f70 del_file_70; |
522 | void Del_File(byte dodel) |
532 | void Del_File(byte dodel) |
523 | { |
- | |
524 | IF (dodel==true){ |
- | |
525 | del_file_70.func = 8; |
- | |
526 | del_file_70.param1 = 0; |
- | |
527 | del_file_70.param2 = 0; |
- | |
528 | del_file_70.param3 = 0; |
533 | { |
529 | del_file_70.param4 = 0; |
- | |
530 | del_file_70.rezerv = 0; |
534 | IF (dodel==true) |
531 | del_file_70.name = #file_path; |
535 | { |
532 | $mov eax,70 |
536 | DeleleFile(#file_path); |
533 | $mov ebx,#del_file_70.func |
537 | IF (EAX<>0) && (isdir==true) {DrawFlatButton(temp_int,160,200,80,0,0xFFB6B5, "Error. Folder isn't empty."); Pause(200);} |
534 | $int 0x40} |
538 | } |
535 | del_active=0; |
539 | del_active=0; |