Rev 937 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 937 | Rev 944 | ||
---|---|---|---|
Line 7... | Line 7... | ||
7 | #include "lib\file_system.h--" |
7 | #include "lib\file_system.h--" |
8 | #include "imgs\toolbar.txt" |
8 | #include "imgs\toolbar.txt" |
9 | #include "imgs\left_p.txt" |
9 | #include "imgs\left_p.txt" |
Line 10... | Line 10... | ||
10 | 10 | ||
11 | //ëîêàëèçàöèÿ è íàñòðîéêè |
11 | //ëîêàëèçàöèÿ è íàñòðîéêè |
12 | #define header "Eolite File Manager v0.97.1"; |
12 | #define header "Eolite File Manager v0.97.2" |
13 | #define videlenie 0xFEA4B7; //0x94AECE,,0x8BCDFF,0x9EACCA,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
13 | #define videlenie 0x94AECE //0x94AECE,0xFEA4B7,0x8BCDFF,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, kolichestvo, za_kadrom, curbtn, razm_scrl; |
16 | dword but_num, kolichestvo, za_kadrom, curbtn, razm_scrl; |
17 | byte cut_active, rename_active, del_active; |
17 | byte cut_active, rename_active, del_active; |
Line 33... | Line 33... | ||
33 | #include "include\icons_f.h--" |
33 | #include "include\icons_f.h--" |
Line 34... | Line 34... | ||
34 | 34 | ||
35 | 35 | ||
36 | 36 | ||
Line 37... | Line 37... | ||
37 | //IPC |
37 | //IPC |
38 | /*#include "lib\Nable_lib.h--" |
38 | #include "lib\Nable_lib.h--" |
39 | #include "lib\ipc.h--" |
39 | #include "lib\ipc.h--" |
40 | 40 | ||
41 | int pLoadedImage; |
41 | int pLoadedImage; |
42 | void GetImage(dword ipath) |
42 | void GetImage(dword ipath) |
43 | { |
43 | { |
Line 44... | Line 44... | ||
44 | IF (pLoadedImage) free(pLoadedImage); |
44 | IF (pLoadedImage) free(pLoadedImage); |
45 | pLoadedImage=loadimage_viaIPC(ipath, #CurrentImage); |
45 | pLoadedImage=loadimage_viaIPC(ipath, #CurrentImage); |
46 | SetEventMask(100111b); //restore normal event mask |
46 | SetEventMask(100111b); //restore normal event mask |
Line 56... | Line 56... | ||
56 | ReadDir(10, devbuf, "/"); |
56 | ReadDir(10, devbuf, "/"); |
57 | dev_num=EBX; |
57 | dev_num=EBX; |
58 | load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì |
58 | load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì |
59 | IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();} |
59 | IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();} |
60 | Open_Dir(#path,2); |
60 | Open_Dir(#path,2); |
61 | //GetImage("/sys/wallpaper.gif"); |
- | |
62 | //DrawImage(#CurrentImage, 0*65536+0); |
- | |
63 | //SetEventMask(100111b); |
- | |
64 | loop() |
61 | loop() |
65 | { |
62 | { |
66 | switch(WaitEvent()) |
63 | switch(WaitEvent()) |
67 | { |
64 | { |
68 | CASE evMouse: |
65 | CASE evMouse: |
Line 70... | Line 67... | ||
70 | IF (del_active==1) break; |
67 | IF (del_active==1) break; |
71 | m.get(); |
68 | m.get(); |
72 | // |
69 | // |
73 | IF (vert==65535) IF (curbtn==0) FileList_ReDraw(-3); ELSE FileList_ReDraw(-1); |
70 | IF (vert==65535) IF (curbtn==0) FileList_ReDraw(-3); ELSE FileList_ReDraw(-1); |
74 | IF (vert==1) IF (curbtn==but_num-1) FileList_ReDraw(3); ELSE FileList_ReDraw(1); |
71 | IF (vert==1) IF (curbtn==but_num-1) FileList_ReDraw(3); ELSE FileList_ReDraw(1); |
75 | //âûäåëåíèå èñïîëüçóÿ ÏÊÌ |
- | |
76 | //IF (m.pkm==1) && (m.x>197) && (m.x |
- | |
77 | // && (m.y-skin_width-56/18<>curbtn) FileList_ReDraw(m.y-skin_width-56/18-curbtn); |
- | |
78 | //ñêðîëë |
72 | //ñêðîëë |
79 | IF (m.y>Form.width) || (razm_scrl/2+57>m.y) m.y=razm_scrl/2+57; //åñëè êóðñîð íàä îêíîì |
73 | IF (razm_scrl/2+57>m.y) || (m.y<0) || (m.y>4000) m.y=razm_scrl/2+57; //åñëè êóðñîð íàä îêíîì |
80 | IF (m.lkm==0) pressed=0; ELSE |
74 | IF (m.lkm==0) pressed=0; ELSE |
81 | IF (m.x>=Form.width-21) && (m.x<=Form.width-6) pressed=1; |
75 | IF (m.x>=Form.width-21) && (m.x<=Form.width-6) pressed=1; |
82 | IF (pressed==1) |
76 | IF (pressed==1) |
83 | { |
77 | { |
84 | temp_int=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî |
78 | temp_int=za_kadrom; //ñîõðàíÿåì ñòàðîå êîëè÷åñòâî |
Line 90... | Line 84... | ||
90 | break; |
84 | break; |
91 | //Button pressed----------------------------------------------------------------------------- |
85 | //Button pressed----------------------------------------------------------------------------- |
92 | case evButton: |
86 | case evButton: |
93 | IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí |
87 | IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí |
94 | id=GetButtonID(); |
88 | id=GetButtonID(); |
95 | IF (id==1) {IF(buf)free(buf); ExitProcess();} |
89 | IF (id==1) ExitProcess(); |
96 | IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;} |
90 | IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;} |
97 | switch(id) |
91 | switch(id) |
98 | { |
92 | { |
99 | CASE 21: GoBack(); break;//Íàçàä |
93 | CASE 21: GoBack(); break;//Íàçàä |
100 | CASE 23: IF (strcmp(#path,"/")<>0) Dir_Up(); break;//up! |
94 | CASE 23: IF (strcmp(#path,"/")<>0) Dir_Up(); break;//up! |
Line 253... | Line 247... | ||
253 | break; |
247 | break; |
254 | case evReDraw: draw_window(); BREAK; |
248 | case evReDraw: draw_window(); BREAK; |
255 | } |
249 | } |
256 | IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); |
250 | IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); |
257 | } |
251 | } |
258 | free(buf); //free memory |
- | |
259 | ExitProcess(); |
- | |
260 | } |
252 | } |
Line 261... | Line 253... | ||
261 | 253 | ||
262 | 254 | ||
Line 303... | Line 295... | ||
303 | but_num=onTop(6,57)/18; |
295 | but_num=onTop(6,57)/18; |
304 | IF (but_num>100) but_num=1; ELSE IF (kolichestvo |
296 | IF (but_num>100) but_num=1; ELSE IF (kolichestvo |
305 | FOR (j=0;j |
297 | FOR (j=0;j |
306 | List_ReDraw(); |
298 | List_ReDraw(); |
307 | IF (del_active==1) Del_Form(); |
299 | IF (del_active==1) Del_Form(); |
- | 300 | // |
|
308 | WindowRedrawStatus(2); |
301 | WindowRedrawStatus(2); |
309 | } |
302 | } |
Line 310... | Line 303... | ||
310 | 303 | ||
Line 315... | Line 308... | ||
315 | edit_box_draw stdcall (#edit1); |
308 | edit_box_draw stdcall (#edit1); |
316 | } |
309 | } |
Line 317... | Line 310... | ||
317 | 310 | ||
- | 311 | ||
- | 312 | inline fastcall void TVScroll() { //Ïðîêðóòêà |
|
318 | 313 | dword on_y; |
|
319 | inline fastcall void TVScroll() { //Ïðîêðóòêà |
314 | IF (kolichestvo<=0) {DrawFlatButton(onLeft(22,0),57,16,onTop(22,58),0,0xE4DFE1,""); return;} |
320 | dword on_y = za_kadrom * onTop(22,57) / kolichestvo +57; |
315 | on_y = za_kadrom * onTop(22,57) / kolichestvo +57; |
321 | razm_scrl=onTop(22,57) * but_num - but_num / kolichestvo; |
316 | razm_scrl=onTop(22,57) * but_num - but_num / kolichestvo; |
322 | IF (razm_scrl<20) razm_scrl = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà |
317 | IF (razm_scrl<20) razm_scrl = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà |
323 | IF (razm_scrl>onTop(22,57)-on_y+56) || (za_kadrom+but_num>=kolichestvo) on_y=onTop(23+razm_scrl,0); //äëÿ áîëüøîãî ñïèñêà |
318 | IF (razm_scrl>onTop(22,57)-on_y+56) || (za_kadrom+but_num>=kolichestvo) on_y=onTop(23+razm_scrl,0); //äëÿ áîëüøîãî ñïèñêà |
Line 420... | Line 415... | ||
420 | if (!EAX) |
415 | if (!EAX) |
421 | { |
416 | { |
422 | temp_int = Put_icon(off+strlen(off)-4, y+2); |
417 | temp_int = Put_icon(off+strlen(off)-4, y+2); |
423 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
418 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
424 | } ELSE IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon(" |
419 | } ELSE IF (!strcmp("..",off)) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon(" |
425 | IF (color==videlenie) |
420 | if (color==videlenie) |
426 | { |
421 | { |
427 | IconFairing(temp_int, y+2); //çàêðàøèâàåì èêîíêó |
422 | IconFairing(temp_int, y+2); //çàêðàøèâàåì èêîíêó |
428 | copystr(#path,#file_path); |
423 | copystr(#path,#file_path); |
429 | copystr(off,#file_name); |
424 | copystr(off,#file_name); |
430 | copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà |
425 | copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà |
- | 426 | /*IF (show_preview) && (!isdir) |
|
- | 427 | { |
|
- | 428 | GetImage(#file_path); |
|
- | 429 | j=dev_num*16+123; |
|
- | 430 | j+=show_actions*51; |
|
- | 431 | IF (pLoadedImage<>0) DrawImage(#CurrentImage, 22*65536+j+skin_width+18); |
|
- | 432 | }*/ |
|
431 | } |
433 | } |
432 | temp_int = onLeft(220,160)/6; |
434 | temp_int = onLeft(220,160)/6; |
433 | IF (strlen(off) |
435 | IF (strlen(off) |
434 | WriteText(220,y+6,0,0,off,temp_int); //èìÿ ôàéëà |
436 | WriteText(220,y+6,0,0,off,temp_int); //èìÿ ôàéëà |
435 | DrawBar(onLeft(163,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
437 | DrawBar(onLeft(163,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
436 | DrawBar(onLeft(90,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
438 | DrawBar(onLeft(90,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
437 | //Preview(); |
- | |
438 | } |
439 | } |
Line 439... | Line 440... | ||
439 | 440 | ||
440 | 441 | ||
441 | void Open_Dir(dword path_,redraw){ |
442 | void Open_Dir(dword path_,redraw){ |
442 | IF (buf) free(buf); |
443 | IF (buf) free(buf); |
- | 444 | //buf = malloc(2097152); |
|
- | 445 | //ReadDir(6898, buf, path_); |
|
- | 446 | buf = malloc(32); |
|
- | 447 | ReadDir(0, buf, path_); |
|
- | 448 | EAX = buf + 8; |
|
- | 449 | kolichestvo = ESDWORD[EAX]; |
|
- | 450 | buf = realloc(kolichestvo * 304 + 32, buf); |
|
443 | buf = malloc(2097152); |
451 | ReadDir(kolichestvo, buf, path_); |
444 | ReadDir(6898, buf, path_); |
452 | // |
445 | kolichestvo=EBX; |
453 | kolichestvo=EBX; |
446 | // |
454 | // |
447 | if (kolichestvo<>-1) && (redraw>0) |
455 | if (kolichestvo<>-1) && (redraw>0) |
Line 477... | Line 485... | ||
477 | $and eax,1 |
485 | $and eax,1 |
478 | IF (EAX) {file_mas[k]=j; k++;} |
486 | IF (EAX) {file_mas[k]=j; k++;} |
479 | ELSE {file_mas[kolichestvo-l]=j; l++;} |
487 | ELSE {file_mas[kolichestvo-l]=j; l++;} |
480 | off += 304; |
488 | off += 304; |
481 | } |
489 | } |
482 | //k=0; l=kolichestvo; |
- | |
483 | switch(sort_num) |
490 | switch(sort_num) |
484 | { |
491 | { |
485 | CASE 1: //óïîðÿäî÷èâàåì ôàéëû ïî èìåíè |
492 | CASE 1: //óïîðÿäî÷èâàåì ôàéëû ïî èìåíè |
486 | WriteText(onLeft(197,163)/2+215,45,0x80,0x4E78AC,"\x19",0); |
493 | WriteText(onLeft(197,163)/2+215,45,0x80,0x4E78AC,"\x19",0); |
487 | IF (strcmp(#path,"/")==0) break; |
494 | IF (strcmp(#path,"/")==0) break; |
Line 526... | Line 533... | ||
526 | DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes"); |
533 | DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes"); |
527 | DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No"); |
534 | DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No"); |
528 | del_active=1; |
535 | del_active=1; |
529 | } |
536 | } |
Line 530... | Line -... | ||
530 | - | ||
- | 537 | ||
531 | //f70 del_file_70; |
538 | |
532 | void Del_File(byte dodel) |
539 | void Del_File(byte dodel) |
533 | { |
540 | { |
534 | IF (dodel==true) |
541 | IF (dodel==true) |
535 | { |
542 | { |
Line 589... | Line 596... | ||
589 | DefineButton(22,i*16+74,159,16,100+i+BT_HIDE,0xE4DFE1); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
596 | DefineButton(22,i*16+74,159,16,100+i+BT_HIDE,0xE4DFE1); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
590 | copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü |
597 | copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü |
591 | dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê |
598 | dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê |
592 | copystr(i*304+ devbuf+72, #dev_name); |
599 | copystr(i*304+ devbuf+72, #dev_name); |
593 | IF (dev_name[0]=='f') { copystr("Floppy disk /",#drive_name); dev_icon=2; } |
600 | IF (dev_name[0]=='f') { copystr("Floppy disk /",#drive_name); dev_icon=2; } |
594 | IF (dev_name[0]=='h') { copystr("Hard disk drive /",#drive_name);} |
601 | IF (dev_name[0]=='h') copystr("Hard disk drive /",#drive_name); |
595 | IF (dev_name[0]=='b') { copystr("SATA disk drive /",#drive_name);} |
602 | IF (dev_name[0]=='b') copystr("SATA disk drive /",#drive_name); |
596 | IF (dev_name[0]=='c') {copystr("CD-drive /",#drive_name); dev_icon=1;} |
603 | IF (dev_name[0]=='c') {copystr("CD-drive /",#drive_name); dev_icon=1;} |
597 | copystr(#dev_name,#drive_name+strlen(#drive_name)); |
604 | copystr(#dev_name,#drive_name+strlen(#drive_name)); |
598 | copystr("/",#drive_name+strlen(#drive_name)); |
605 | copystr("/",#drive_name+strlen(#drive_name)); |
599 | IF (dev_name[0]=='r') { copystr("RAM-disk /rd/1/",#drive_name); dev_icon=0; } |
606 | IF (dev_name[0]=='r') { copystr("RAM-disk /rd/1/",#drive_name); dev_icon=0; } |
600 | WriteText(45,i*16+79,0x80,0,#drive_name,0); |
607 | WriteText(45,i*16+79,0x80,0,#drive_name,0); |
Line 662... | Line 669... | ||
662 | DeleteButton(78); |
669 | DeleteButton(78); |
663 | if (show_preview==1) |
670 | if (show_preview==1) |
664 | { |
671 | { |
665 | Tip(top_pr,"Preview",78,"\x19"); |
672 | Tip(top_pr,"Preview",78,"\x19"); |
666 | DrawBar(22,top_pr+18,160,100,0xFFFFFF); //áåëîå |
673 | DrawBar(22,top_pr+18,160,100,0xFFFFFF); //áåëîå |
667 | //WriteText(30,top_pr+30,0x80,0,"kolichestvo:",0); WriteText(105,top_pr+30,0x80,0,IntToStr(kolichestvo),0); |
674 | /*WriteText(30,top_pr+30,0x80,0,"kolichestvo:",0); WriteText(105,top_pr+30,0x80,0,IntToStr(kolichestvo),0); |
668 | //WriteText(30,top_pr+40,0x80,0,"but_num:",0); WriteText(105,top_pr+40,0x80,0,IntToStr(but_num),0); |
675 | WriteText(30,top_pr+40,0x80,0,"but_num:",0); WriteText(105,top_pr+40,0x80,0,IntToStr(but_num),0); |
669 | //WriteText(30,top_pr+50,0x80,0,"curbtn",0); WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0); |
676 | WriteText(30,top_pr+50,0x80,0,"curbtn",0); WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0); |
670 | //WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0); WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0); |
677 | WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0); WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0); |
671 | //WriteText(30,top_pr+70,0x80,0,#file_path,0); |
678 | WriteText(30,top_pr+70,0x80,0,#file_path,0); |
672 | //WriteText(30,top_pr+80,0x80,0,#file_name,0); |
679 | WriteText(30,top_pr+80,0x80,0,#file_name,0);*/ |
673 | WriteText(30,top_pr+60,0x80,0,"Not realized... I think",0); |
680 | //WriteText(30,top_pr+60,0x80,0,"Not realized... I think",0); |
674 | WriteText(30,top_pr+70,0x80,0,"it will be realired soon.",0); |
681 | //WriteText(30,top_pr+70,0x80,0,"it will be realired soon.",0); |
675 | DrawBar(22,top_pr+118,160,onTop(top_pr+118,6),0x00699C); //ñèíåå |
682 | DrawBar(22,top_pr+118,160,onTop(top_pr+118,6),0x00699C); //ñèíåå |
676 | } |
683 | } |
677 | ELSE { |
684 | ELSE |
- | 685 | { |
|
678 | Tip(top_pr,"Preview",78,"\x18"); |
686 | Tip(top_pr,"Preview",78,"\x18"); |
679 | DrawBar(22,top_pr+18,160,onTop(top_pr+18,6),0x00699C); //ñèíåå |
687 | DrawBar(22,top_pr+18,160,onTop(top_pr+18,6),0x00699C); //ñèíåå |
680 | } |
688 | } |
681 | } |
689 | } |