Rev 2528 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2528 | Rev 2568 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | //Leency & Veliant -=- KolibriOS Team -=- 2012 |
1 | //Leency & Veliant -=- KolibriOS Team -=- 2012 |
2 | //GNU GPL licence. |
2 | //GNU GPL licence. |
Line 3... | Line 3... | ||
3 | 3 | ||
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 "lib\file_system.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.txt" |
9 | #include "imgs\left_p.txt" |
Line 14... | Line 14... | ||
14 | #define ONLY_SHOW 0 |
14 | #define ONLY_SHOW 0 |
15 | #define WITH_REDRAW 1 |
15 | #define WITH_REDRAW 1 |
16 | #define ONLY_OPEN 2 |
16 | #define ONLY_OPEN 2 |
Line 17... | Line 17... | ||
17 | 17 | ||
18 | //ïåðåìåííûå |
18 | //ïåðåìåííûå |
19 | #define title "Eolite File Manager v1.0" |
19 | #define title "Eolite File Manager v1.1" |
20 | #define videlenie 0x94AECE //0xFEA4B7,0x8BCDFF,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
- | |
21 | byte toolbar_buttons_x[6]={9,46,85,134,167,203}; |
20 | dword videlenie=0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
22 | // |
21 | // |
23 | int but_num, |
22 | int but_num, |
24 | count, |
23 | count, |
25 | za_kadrom, |
24 | za_kadrom, |
Line 29... | Line 28... | ||
29 | rename_active, |
28 | rename_active, |
30 | del_active; |
29 | del_active; |
31 | byte show_actions=1, |
30 | byte show_actions=1, |
32 | sort_num=2, |
31 | sort_num=2, |
33 | isdir; |
32 | isdir; |
34 | char path[4096]="/rd/1/", |
33 | char path[4096], |
35 | edit_path[4096], |
34 | edit_path[4096], |
36 | file_path[4096], |
35 | file_path[4096], |
37 | file_name[4096], |
36 | file_name[4096], |
38 | copy_file[4096], |
37 | copy_file[4096], |
39 | temp[4096]; |
38 | temp[4096]; |
40 | byte PathHistory[4096]; |
39 | byte PathHistory[4096]; |
Line -... | Line 40... | ||
- | 40 | ||
- | 41 | int toolbar_buttons_x[6]={9,46,85,134,167,203}; |
|
41 | 42 | ||
42 | dword file_mas[6898]; |
43 | dword file_mas[6898]; |
Line 43... | Line 44... | ||
43 | int j, i, mouse_dd; |
44 | int j, i, mouse_dd; |
Line 44... | Line 45... | ||
44 | 45 | ||
45 | dword stak[100]; //îêíî About |
46 | dword stak[100]; //îêíî About |
Line 46... | Line 47... | ||
46 | 47 | ||
47 | edit_box edit1= {250,247,13,0xffffff,videlenie,0xD3DDEB,0xffffff,0,248,#edit_path,#mouse_dd,64,6,6}; |
48 | edit_box edit1= {250,247,13,0xffffff,0x94AECE,0xD3DDEB,0xffffff,0,248,#edit_path,#mouse_dd,64,6,6}; |
48 | edit_box edit2= {250,213,80,0xFFFFCC,videlenie,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6}; |
- | |
Line 49... | Line 49... | ||
49 | 49 | edit_box edit2= {250,213,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,#mouse_dd,64,6,6}; |
|
50 | proc_info Form; |
50 | |
51 | dword buf, off; //äëÿ òåêñòà è áóôåðà |
51 | proc_info Form; |
52 | dword devbuf, dev_num; |
52 | dword buf, off; //äëÿ òåêñòà è áóôåðà |
53 | 53 | ||
54 | #include "include\about_dialog.h--" |
- | |
55 | #include "include\some_code.h--" |
- | |
56 | #include "include\sorting.h--" |
54 | #include "include\about_dialog.h" |
57 | #include "include\icons_f.h--" |
- | |
58 | #include "include\ini.h--" |
- | |
59 | - | ||
60 | - | ||
61 | void Devices() |
55 | #include "include\some_code.h" |
62 | { |
- | |
63 | byte dev_icon; |
- | |
64 | dword drive_name[30]; |
- | |
65 | char dev_name[4]; |
- | |
66 | - | ||
67 | DrawBar(2,41,190,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñâåðõó |
- | |
68 | DrawBar(2,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñëåâà |
- | |
69 | DrawBar(177,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà |
- | |
70 | //ñïèñîê äèñêîâ |
- | |
71 | Tip(56, "Goto:", 0, ""); |
- | |
72 | for (i=0;i |
- | |
73 | { |
- | |
74 | DrawBar(17,i*16+74,160,17,0xFFFFFF); //áåëîå |
- | |
75 | DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
- | |
76 | copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü |
- | |
77 | dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê |
- | |
78 | copystr(i*304+ devbuf+72, #dev_name); |
- | |
79 | IF (dev_name[0]=='r') { dev_icon=0; copystr("RAM-disk /rd/1",#drive_name); } |
- | |
80 | IF (dev_name[0]=='c') { dev_icon=1; copystr("CD-drive /",#drive_name); } |
- | |
81 | IF (dev_name[0]=='f') { dev_icon=2; copystr("Floppy disk /",#drive_name); } |
- | |
82 | IF (dev_name[0]=='h') copystr("Hard disk drive /",#drive_name); |
- | |
83 | IF (dev_name[0]=='b') copystr("SATA disk drive /",#drive_name); |
- | |
84 | // |
- | |
85 | IF (dev_icon<>0) copystr(#dev_name,#drive_name+strlen(#drive_name)); |
- | |
86 | copystr("/",#drive_name+strlen(#drive_name)); |
- | |
Line 87... | Line 56... | ||
87 | // |
56 | #include "include\sorting.h" |
88 | WriteText(45,i*16+79,0x80,0,#drive_name,0); |
57 | #include "include\icons_f.h" |
89 | PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
58 | #include "include\ini.h" |
90 | } |
59 | #include "include\devices.h" |
91 | } |
60 | |
92 | - | ||
93 | void main() |
61 | |
94 | word key, id; |
62 | void main() |
95 | mouse m; |
- | |
96 | int pressed_y; |
63 | word key, id; |
97 | { |
64 | mouse m; |
98 | GetIni(1); |
65 | int pressed_y; |
99 | // |
66 | { |
- | 67 | // |
|
- | 68 | load_editbox_lib(); |
|
100 | load_editbox_lib(); |
69 | GetSystemDiscs(); |
101 | devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
70 | GetIni(1); |
102 | ReadDir(10, devbuf, "/"); |
71 | |
103 | dev_num=EBX; |
72 | edit1.shift_color=videlenie; |
104 | // |
73 | edit2.shift_color=videlenie; |
105 | //curbtn=za_kadrom=0; |
74 | |
- | 75 | HistoryPath(add_new_path); |
|
106 | HistoryPath(add_new_path); |
76 | IF (param[0]<>'') //áûë ëè çàïóñê ñ ïàðàìåòðîì |
107 | IF (param[0]<>'') //áûë ëè çàïóñê ñ ïàðàìåòðîì |
77 | { |
108 | { |
78 | copystr(#param, #path); |
109 | copystr(#param, #path); |
79 | IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //åñëè íåò, + "/" |
110 | IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //åñëè íåò, + "/" |
80 | } |
Line 165... | Line 135... | ||
165 | if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) while (m.lkm) |
135 | if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) while (m.lkm) |
166 | { |
136 | { |
167 | IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //åñëè êóðñîð íàä îêíîì |
137 | IF (scroll_size/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=scroll_size/2+57; //åñëè êóðñîð íàä îêíîì |
168 | id=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî |
138 | id=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî |
169 | j= scroll_size/2; |
139 | j= scroll_size/2; |
170 | za_kadrom = m.y -j -57 * count; za_kadrom /= onTop(22,57); |
140 | za_kadrom = m.y -j -57 * count; |
- | 141 | za_kadrom /= onTop(22,57); |
|
171 | IF (but_num+za_kadrom>count) za_kadrom=count-but_num; |
142 | IF (but_num+za_kadrom>count) za_kadrom=count-but_num; |
172 | IF (id<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü |
143 | IF (id<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü |
173 | m.get(); |
144 | m.get(); |
174 | } |
145 | } |
175 | break; |
146 | break; |
Line 227... | Line 198... | ||
227 | } |
198 | } |
228 | ELSE ShowMessage("Folder can not be created."); |
199 | ELSE ShowMessage("Folder can not be created."); |
229 | break; |
200 | break; |
230 | case 100...120: |
201 | case 100...120: |
231 | DEVICE_MARK: |
202 | DEVICE_MARK: |
232 | copystr(id-100*304+ devbuf+72, #path); |
203 | //copystr(#disk_list[id-100].Item, #file_path); |
233 | IF (path[0]=='r') copystr("/rd/1",#file_path); |
- | |
234 | ELSE { |
204 | //GOTO OPEN_DEV; |
235 | copystr("/", #file_path); |
205 | copystr(#disk_list[id-100].Item, #path); |
236 | copystr(#path, #file_path+strlen(#file_path)); |
206 | za_kadrom=curbtn=0; |
237 | } |
207 | Open_Dir(#path,1); |
238 | GOTO OPEN_DEV; |
208 | break; |
239 | default: |
209 | default: |
240 | if (id<200) break; //êíîïêè èç ñïèñêà ôàéëîâ |
210 | if (id<200) break; //êíîïêè èç ñïèñêà ôàéëîâ |
241 | IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} |
211 | IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} |
242 | else OPEN_MARK: |
212 | else OPEN_MARK: |
243 | if (!isdir) GetIni(0); ELSE |
213 | if (!isdir) GetIni(0); else |
244 | IF (strcmp(#file_name,"..")==0) Dir_Up(); ELSE |
214 | if (strcmp(#file_name,"..")==0) Dir_Up(); else |
245 | { OPEN_DEV: |
215 | { OPEN_DEV: |
246 | copystr(#file_path, #path); |
216 | copystr(#file_path, #path); |
247 | copystr("/", #path+strlen(#path)); |
217 | IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //åñëè íåò, + "/" |
248 | za_kadrom=curbtn=0; |
218 | za_kadrom=curbtn=0; |
249 | Open_Dir(#path,1); |
219 | Open_Dir(#path,1); |
250 | } |
220 | } |
251 | } |
221 | } |
252 | break; |
222 | break; |
Line 273... | Line 243... | ||
273 | } |
243 | } |
274 | switch (key) |
244 | switch (key) |
275 | { |
245 | { |
276 | case 209...217: |
246 | case 209...217: |
277 | id=key-110; |
247 | id=key-110; |
278 | IF (id-100>=dev_num) break; |
248 | IF (id-100>=disc_num) break; |
279 | GOTO DEVICE_MARK; |
249 | GOTO DEVICE_MARK; |
280 | case 8: //Íàçàä |
250 | case 8: //Íàçàä |
281 | GoBack(); |
251 | GoBack(); |
282 | break; |
252 | break; |
283 | case 004: //Ctrl+D ðèñ íà ðàá ñòîë ðàñòÿíóòü |
253 | case 004: //Ctrl+D ðèñ íà ðàá ñòîë ðàñòÿíóòü |
Line 394... | Line 364... | ||
394 | DefineButton(onLeft(66,0),12,18,16,27+BT_HIDE,0xE4DFE1); //êíîïêà ïåðåõîäà |
364 | DefineButton(onLeft(66,0),12,18,16,27+BT_HIDE,0xE4DFE1); //êíîïêà ïåðåõîäà |
395 | PutPaletteImage(#goto_about,56,40,Form.width-65,0,#goto_about_pal); |
365 | PutPaletteImage(#goto_about,56,40,Form.width-65,0,#goto_about_pal); |
396 | //ïðÿìîóãîëüíèêè âíóòðè |
366 | //ïðÿìîóãîëüíèêè âíóòðè |
397 | DrawRegion_3D(1,40,Form.width-12,onTop(46,0),0x94AECE,0x94AECE); //ñèíèé îáîäîê |
367 | DrawRegion_3D(1,40,Form.width-12,onTop(46,0),0x94AECE,0x94AECE); //ñèíèé îáîäîê |
398 | DrawRegion_3D(0,39,Form.width-10,onTop(44,0),0xE4DFE1,0xE4DFE1); //ôîí |
368 | DrawRegion_3D(0,39,Form.width-10,onTop(44,0),0xE4DFE1,0xE4DFE1); //ôîí |
399 | Devices(); //ïàíåëü ñëåâà íà ñèíåì ôîíå |
369 | DrawSystemDiscs(); |
400 | Actions(); //ôóíêöèè ôàéëîâ è ïàïîê |
370 | Actions(); |
401 | //SortButtons |
371 | //SortButtons |
402 | DrawFlatButton(192,40,onLeft(192,168),16,31,0xE4DFE1,"File"); |
372 | DrawFlatButton(192,40,onLeft(192,168),16,31,0xE4DFE1,"File"); |
403 | DrawFlatButton(onLeft(168,0),40,73,16,32,0xE4DFE1,"Type"); |
373 | DrawFlatButton(onLeft(168,0),40,73,16,32,0xE4DFE1,"Type"); |
404 | DrawFlatButton(onLeft(95,0),40,68,16,33,0xE4DFE1,"Size"); |
374 | DrawFlatButton(onLeft(95,0),40,68,16,33,0xE4DFE1,"Size"); |
405 | //Ïåðåðèñîâûâàåì ñïèñîê |
375 | //Ïåðåðèñîâûâàåì ñïèñîê |
406 | Open_Dir(#path,ONLY_SHOW); |
376 | Open_Dir(#path,ONLY_SHOW); |
407 | //ïðîêðóòêà |
377 | //ïðîêðóòêà |
408 | DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè |
378 | DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè |
409 | DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18"); //ïðîêðóòêà ââåðõ |
379 | DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18"); //ïðîêðóòêà ââåðõ |
410 | DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç |
380 | DrawFlatButton(onLeft(27,0),onTop(22,0),16,16,0,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç |
- | 381 | if (del_active==1) Del_Form(); |
|
411 | } |
382 | } |
Line 412... | Line 383... | ||
412 | 383 | ||
413 | 384 | ||
Line 451... | Line 422... | ||
451 | return; |
422 | return; |
452 | } |
423 | } |
453 | } |
424 | } |
454 | else //âíèç |
425 | else //âíèç |
455 | { |
426 | { |
456 | /*if (count-za_kadrom-but_num==1) //ýòî çàãëóøêà |
- | |
457 | { |
- | |
458 | za_kadrom=count-but_num; |
- | |
459 | curbtn=but_num-1; |
- | |
460 | List_ReDraw(); |
- | |
461 | }*/ |
- | |
462 | - | ||
463 | IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return; |
427 | IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return; |
464 | IF (but_num-curbtn>curbtn_) |
428 | IF (but_num-curbtn>curbtn_) |
465 | { |
429 | { |
466 | Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà |
430 | Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà |
467 | curbtn+=curbtn_; |
431 | curbtn+=curbtn_; |
468 | Line_ReDraw(videlenie, curbtn); //âûäåëåíèå |
432 | Line_ReDraw(videlenie, curbtn); //âûäåëåíèå |
469 | return; |
433 | return; |
470 | } |
434 | } |
471 | else |
435 | else |
472 | { |
436 | { |
473 | //IF(za_kadrom+but_num+curbtn_>=count) //à òóò êàæèñü áûë áàã |
- | |
474 | IF(za_kadrom+curbtn+curbtn_>=count) |
437 | IF(za_kadrom+curbtn+curbtn_>=count) |
475 | { |
438 | { |
476 | za_kadrom=count-but_num; |
439 | za_kadrom=count-but_num; |
477 | curbtn=curbtn_-za_kadrom+curbtn; |
440 | curbtn=curbtn_-za_kadrom+curbtn; |
478 | } |
441 | } |
Line 511... | Line 474... | ||
511 | 474 | ||
512 | 475 | ||
513 | //puticon+icon_fairing!!! |
476 | //puticon+icon_fairing!!! |
514 | void Line_ReDraw(dword color, filenum){ |
- | |
- | 477 | void Line_ReDraw(dword color, filenum){ |
|
515 | dword text_col=0, temp_int, |
478 | dword text_col=0, temp_int, |
516 | /* |
479 | /* //ýòî ÿ ïûòàëñÿ ñäåëàòü âèä êðóïíûìè çíà÷êàìè |
517 | dword text_col=0, temp_int, x, |
480 | dword text_col=0, temp_int, x, |
518 | max_x=onLeft(28,192)/BUTTON_HEIGHT, |
481 | max_x=onLeft(28,192)/BUTTON_HEIGHT, |
519 | y=filenum/max_x*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y |
482 | y=filenum/max_x*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y |
Line 523... | Line 486... | ||
523 | */ |
486 | */ |
524 | y=filenum*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y |
487 | y=filenum*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y |
525 | IF (rename_active==1) ReName(false); |
488 | IF (rename_active==1) ReName(false); |
526 | //äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî ïåðåðèñîâêà çàòî ìàëåíüêàÿ |
489 | //äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî ïåðåðèñîâêà çàòî ìàëåíüêàÿ |
527 | DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //êíîïà |
490 | DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //êíîïà |
528 | DrawBar(192,y,3,BUTTON_HEIGHT,color); DrawBar(195,y,16,2,color); |
491 | DrawBar(192,y,3,BUTTON_HEIGHT,color); |
529 | DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color); |
492 | DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color); |
530 | if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color); |
493 | if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color); |
- | 494 | if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color); |
|
531 | // |
495 | // |
532 | off=file_mas[filenum+za_kadrom]*304 + buf+72; |
496 | off=file_mas[filenum+za_kadrom]*304 + buf+72; |
533 | if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; |
497 | if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; |
534 | if (!TestBit(ESDWORD[off-40],4)) |
498 | if (!TestBit(ESDWORD[off-40],4)) |
535 | { |
499 | { |
536 | copystr(off,#temp); |
500 | copystr(off,#temp); |
537 | temp_int = Put_icon(#temp+find_symbol(#temp,'.'), BUTTON_HEIGHT-14/2+y); |
501 | temp_int = Put_icon(#temp+find_symbol(#temp,'.'), BUTTON_HEIGHT/2-7+y); |
538 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
502 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
539 | } |
503 | } |
540 | ELSE |
504 | ELSE |
541 | IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2); |
505 | IF (!strcmp("..",off)) temp_int=Put_icon("..", BUTTON_HEIGHT/2-7+y); |
542 | ELSE |
506 | ELSE |
543 | temp_int=Put_icon(" |
507 | temp_int=Put_icon(" |
544 | if (color==videlenie) |
508 | if (color==videlenie) |
545 | { |
509 | { |
546 | isdir=TestBit(ESDWORD[off-40], 4); |
510 | isdir=TestBit(ESDWORD[off-40], 4); |
547 | IconFairing(temp_int, y+2); //çàêðàøèâàåì èêîíêó |
511 | IconFairing(temp_int, BUTTON_HEIGHT/2-7+y); //çàêðàøèâàåì èêîíêó |
548 | copystr(off,#file_name); |
512 | copystr(off,#file_name); |
549 | copystr(#path,#file_path); |
513 | copystr(#path,#file_path); |
550 | copystr(#file_name,#file_path+strlen(#file_path)); //ïîëíûé ïóòü ê ôàéëó |
514 | copystr(#file_name,#file_path+strlen(#file_path)); //ïîëíûé ïóòü ê ôàéëó |
551 | IF (text_col==0xA6A6B7) text_col=0xFFFFFF; |
515 | IF (text_col==0xA6A6B7) text_col=0xFFFFFF; |
552 | } |
516 | } |
Line 605... | Line 569... | ||
605 | 569 | ||
606 | 570 | ||
607 | inline Sorting() |
571 | inline Sorting() |
608 | { |
572 | { |
- | 573 | dword k=0, l=1; |
|
- | 574 | if (!strcmp(#path,"/")) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/" |
|
- | 575 | { |
|
- | 576 | FOR(k=1;k |
|
609 | dword k=0, l=1; |
577 | return; |
610 | IF (!strcmp(#path,"/")) {FOR(k=1;k |
578 | } |
611 | FOR (j=count-1, off=count-1*304+buf+32; j>=0; j--, off-=304;) //ïàïêè ââåðõ, ôàéëû âíèç |
579 | FOR (j=count-1, off=count-1*304+buf+32; j>=0; j--, off-=304;) //ïàïêè ââåðõ, ôàéëû âíèç |
612 | { |
580 | { |
- | 581 | ChangeCase(off+40); |
|
- | 582 | if (TestBit(ESDWORD[off],4)) //ïàïêà? |
|
- | 583 | { |
|
- | 584 | file_mas[k]=j; |
|
- | 585 | k++; |
|
- | 586 | } |
|
613 | ChangeCase(off+40); |
587 | else |
- | 588 | { |
|
- | 589 | file_mas[count-l]=j; |
|
614 | IF (TestBit(ESDWORD[off],4)) {file_mas[k]=j; k++;} |
590 | l++; |
615 | ELSE {file_mas[count-l]=j; l++;} |
591 | } |
616 | } |
592 | } |
617 | //Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû |
593 | //Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû |
618 | Sort_by_Name(0,k-1); |
594 | Sort_by_Name(0,k-1); |
Line 745... | Line 721... | ||
745 | } |
721 | } |
Line 746... | Line 722... | ||
746 | 722 | ||
747 | 723 | ||
748 | void Actions() |
724 | void Actions() |
749 | { |
725 | { |
- | 726 | int actions_y=disc_num*16; |
|
750 | int actions_y=dev_num*16; |
727 | DrawBar(17,actions_y+75,160,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè |
751 | DrawBar(17,actions_y+75,160,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè |
728 | DrawBar(17,show_actions*51+actions_y+108,160,onTop(show_actions*51+actions_y+108,6),0x00699C); //ñèíåå â êîíöå |
752 | if (show_actions==1) |
729 | if (show_actions==1) |
753 | { |
730 | { |
754 | Tip(actions_y+90, "Actions", 77, "\x19"); |
731 | Tip(actions_y+90, "Actions", 77, "\x19"); //çàãîëîâîê |
755 | DrawBar(17,actions_y+108,160,51,0xFFFFFF); //áåëîå |
732 | DrawBar(17,actions_y+108,160,51,0xFFFFFF); //áåëîå |
756 | PutImage(#factions,16,44,21,actions_y+113); //ïèêòîãðàìêè |
733 | PutImage(#factions,16,44,21,actions_y+113); //èêîíêè |
757 | //rename file |
734 | //rename file |
758 | DefineButton(22,actions_y+108,159,16,80+BT_HIDE,0xE4DFE1); |
735 | DefineButton(17,actions_y+108,159,16,80+BT_HIDE,0xE4DFE1); |
759 | WriteText(42,actions_y+113,0x80,0,"Rename file |
736 | WriteText(42,actions_y+113,0x80,0,"Rename file |
760 | //delete file |
737 | //delete file |
761 | DefineButton(17,actions_y+125,159,16,81+BT_HIDE,0xE4DFE1); |
738 | DefineButton(17,actions_y+125,159,16,81+BT_HIDE,0xE4DFE1); |
762 | WriteText(42,actions_y+130,0x80,0,"Delete file |
739 | WriteText(42,actions_y+130,0x80,0,"Delete file |
763 | //create folder |
740 | //create folder |
764 | DefineButton(17,actions_y+142,159,16,82+BT_HIDE,0xE4DFE1); |
741 | DefineButton(17,actions_y+142,159,16,82+BT_HIDE,0xE4DFE1); |
765 | WriteText(42,actions_y+147,0x80,0,"Create folder |
742 | WriteText(42,actions_y+147,0x80,0,"Create folder |
766 | } |
743 | } |
- | 744 | else |
|
- | 745 | { |
|
767 | ELSE |
746 | DeleteButton(80); |
768 | { |
747 | DeleteButton(81); |
769 | DeleteButton(80); DeleteButton(81); DeleteButton(82); |
748 | DeleteButton(82); |
770 | Tip(actions_y+90, "Actions", 77, "\x18"); |
- | |
771 | } |
749 | Tip(actions_y+90, "Actions", 77, "\x18"); |
Line 772... | Line 750... | ||
772 | DrawBar(17,show_actions*51+actions_y+108,160,onTop(show_actions*51+actions_y+108,6),0x00699C); //ñèíåå â êîíöå |
750 | } |
Line 787... | Line 765... | ||
787 | void SelectFile(dword that_file) |
765 | void SelectFile(dword that_file) |
788 | { |
766 | { |
789 | za_kadrom=curbtn=0; //ââåðõ ñïèñêà |
767 | za_kadrom=curbtn=0; //ââåðõ ñïèñêà |
790 | Open_Dir(#path,ONLY_OPEN); |
768 | Open_Dir(#path,ONLY_OPEN); |
791 | ChangeCase(that_file); |
769 | ChangeCase(that_file); |
792 | FOR (i=count-1; i>=0; i--;) IF(strcmp(file_mas[i]*304+buf+72,that_file)==0) BREAK; |
- | |
793 | /*IF (i>but_num-1) && (i>count-but_num) //âñ¸ ýòî ïî-èäåå ìîæíî ñäåëàòü ÷åðåç FileList_ReDraw(i) èëè ÿ íåïðàâ? |
- | |
794 | { |
- | |
795 | za_kadrom=count-but_num; |
- | |
796 | curbtn=i-count+but_num; |
770 | for (i=count-1; i>=0; i--;) |
797 | } |
- | |
798 | ELSE FileList_ReDraw(i);*/ |
771 | if (strcmp(file_mas[i]*304+buf+72,that_file)==0) break; |
799 | FileList_ReDraw(i); |
772 | FileList_ReDraw(i); |
800 | List_ReDraw(); |
773 | List_ReDraw(); |
801 | } |
774 | } |