Rev 905 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 905 | Rev 935 | ||
---|---|---|---|
Line 3... | Line 3... | ||
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 "include\run_file.h--" |
8 | #include "include\icons_f.h--" |
- | |
9 | #include "imgs\toolbar_new.cpp" |
8 | #include "imgs\toolbar.txt" |
10 | #include "imgs\left_p.cpp" |
9 | #include "imgs\left_p.cpp" |
Line 11... | Line 10... | ||
11 | 10 | ||
12 | //ëîêàëèçàöèÿ è íàñòðîéêè |
11 | //ëîêàëèçàöèÿ è íàñòðîéêè |
13 | byte header[27] = "Eolite File Manager v0.96.7"; |
12 | byte header[27] = "Eolite File Manager v0.97"; |
14 | #define videlenie 0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
13 | #define videlenie 0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
15 | int toolbar_buttons_x[6]={14,51,90,139,172,208}; |
14 | byte toolbar_buttons_x[6]={14,51,90,139,172,208}; |
16 | // |
15 | // |
17 | dword but_num=0, kolichestvo=0, curbtn=0, za_kadrom=0; |
16 | dword but_num=0, kolichestvo=0, curbtn=0, za_kadrom=0; |
18 | byte cut_active, rename_active, del_active; |
17 | byte cut_active, rename_active, del_active; |
19 | byte show_actions=1, show_preview=0, sort_num=1, isdir; |
18 | byte show_actions=1, show_preview=0, sort_num=1, isdir; |
20 | dword razm_scrl; //äëÿ ñêðîëà |
19 | dword razm_scrl; //äëÿ ñêðîëà |
21 | byte path[256]="/rd/1/", edit_path[256], PathHistory[2560], temp[256]; //äëÿ ïóòåé |
20 | byte path[256]="/rd/1/", edit_path[256], PathHistory[2560], temp[256]; //äëÿ ïóòåé |
22 | byte file_path[256], file_name[256]; //äëÿ ôàéëîâ |
21 | byte file_path[256], file_name[256]; //äëÿ ôàéëîâ |
23 | byte copyfile[256],copy_name[256]; //êîïèðîâàíèå |
22 | byte copyfile[256],copy_name[256]; //êîïèðîâàíèå |
24 | dword i; //äëÿ öèêëîâ |
23 | dword i; //äëÿ öèêëîâ |
25 | dword file_mas[6898]; //ñïèñîê ôàéëîâ |
24 | dword file_mas[6898]; //ñïèñîê ôàéëîâ |
26 | dword temp_int; |
25 | int temp_int, j; |
Line 27... | Line 26... | ||
27 | dword stak[100]=0; //îêíî About |
26 | dword stak[100]=0; //îêíî About |
28 | 27 | ||
Line 29... | Line 28... | ||
29 | edit_box edit1= {250,252,17,0xffffff,0x94AECE,0xD3DDEB,0xffffff,0,248,#edit_path,64,6,6}; |
28 | edit_box edit1= {250,252,17,0xffffff,0x94AECE,0xD3DDEB,0xffffff,0,248,#edit_path,64,6,6}; |
30 | edit_box edit2= {250,218,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,64,6,6}; |
- | |
31 | - | ||
32 | proc_info Form; |
- | |
33 | - | ||
34 | struct { |
- | |
35 | int func; |
- | |
36 | int pos; |
- | |
37 | int rezerv; |
- | |
38 | int sizefile; |
- | |
39 | int buffer; |
29 | edit_box edit2= {250,218,80,0xFFFFCC,0x94AECE,0xFFFFCC,0xffffff,0,248,#file_name,64,6,6}; |
40 | char rezerv2; |
30 | |
41 | int stroka; |
31 | proc_info Form; |
42 | }open_file_70; |
32 | f70 open_dir_70; |
43 | dword buf=0, off; //äëÿ òåêñòà è áóôåðà |
- | |
- | 33 | dword buf=0, off; //äëÿ òåêñòà è áóôåðà |
|
Line 44... | Line 34... | ||
44 | dword devbuf=0, dev_num; |
34 | dword devbuf=0, dev_num; |
45 | #include "include\LVabout.c--" |
35 | #include "include\LVabout.c--" |
46 | 36 | #include "include\icons_f.h--" |
|
47 | 37 | ||
48 | void main() |
38 | void main() |
49 | byte pressed, key, id; |
39 | byte pressed, key, id; |
50 | mouse m; |
40 | mouse m; |
51 | { |
41 | { |
52 | devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
42 | devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
53 | open_file_70.func = 1; |
43 | open_dir_70.func = 1; |
54 | open_file_70.pos = 0; |
44 | open_dir_70.param1 = 0; |
55 | open_file_70.rezerv = 0; |
45 | open_dir_70.param2 = 0; |
56 | open_file_70.sizefile = 10; |
46 | open_dir_70.param3 = 10; |
57 | open_file_70.buffer = devbuf; |
47 | open_dir_70.param4 = devbuf; |
58 | open_file_70.rezerv2 = 0; |
48 | open_dir_70.rezerv = 0; |
59 | open_file_70.stroka = "/"; |
49 | open_dir_70.name = "/"; |
60 | $mov eax,70 |
50 | $mov eax,70 |
61 | $mov ebx,#open_file_70.func |
51 | $mov ebx,#open_dir_70.func |
62 | $int 0x40 |
52 | $int 0x40 |
63 | dev_num=EBX; |
53 | dev_num=EBX; |
64 | load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì |
54 | load_dll(); //ïîäãðóæàåò ëèáó ñ åäèò_áîêñîì |
65 | IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();} |
55 | IF (param[0]<>'') {copystr(#param,#edit_path); Goto_edit_path();} |
66 | Open_Dir(#path,2); |
56 | Open_Dir(#path,2); |
67 | SetEventMask(); |
57 | //SetEventMask(100111b); |
68 | loop() |
58 | loop() |
Line 93... | Line 83... | ||
93 | break; |
83 | break; |
94 | //Button pressed----------------------------------------------------------------------------- |
84 | //Button pressed----------------------------------------------------------------------------- |
95 | case evButton: |
85 | case evButton: |
96 | IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí |
86 | IF (edit1.flags<>64) {edit1.flags=64; edit_box_draw stdcall(#edit1);} //ñáðàñûâàåì âûäåëåíèå ïðè íàæàòèè íà áàòîí |
97 | id=GetButtonID(); |
87 | id=GetButtonID(); |
98 | IF (id==1) ExitProcess(); |
88 | IF (id==1) {IF(buf)free(buf); ExitProcess();} |
99 | IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;} |
89 | IF (del_active==1) {IF (id==301) || (id==302) Del_File(302-id); break;} |
100 | switch(id) |
90 | switch(id) |
101 | { |
91 | { |
102 | CASE 21: GoBack(); break;//Íàçàä |
92 | CASE 21: GoBack(); break;//Íàçàä |
103 | CASE 23: IF (strcmp(#path,"/")<>0) Dir_Up(); break;//up! |
93 | CASE 23: IF (strcmp(#path,"/")<>0) Dir_Up(); break;//up! |
Line 168... | Line 158... | ||
168 | { |
158 | { |
169 | IF (key==013) Del_File(true); |
159 | IF (key==013) Del_File(true); |
170 | IF (key==027) Del_File(false); |
160 | IF (key==027) Del_File(false); |
171 | break; |
161 | break; |
172 | } |
162 | } |
- | 163 | IF (edit1.flags<>64) && (key<>13) {EAX=key<<8; edit_box_key stdcall (#edit1); break;} |
|
173 | IF (edit1.flags<>64) || (edit2.flags<>64) SWITCH (key) { CASE 8: CASE 180...182: CASE 051...056: goto EDIT_KEY_MARK; } //1..10 è íîóì/åíä â åäèòáîêñàõ |
164 | IF (edit2.flags<>64) && (key<>13) && (key<>27) {EAX=key<<8; edit_box_key stdcall (#edit2); break;} |
174 | switch (key) |
165 | switch (key) |
175 | { |
166 | { |
176 | case 209...217: id=key-109; IF(dev_num>id-100)GOTO DEVICE_MARK; break; |
167 | case 209...217: id=key-109; IF(dev_num>id-100)GOTO DEVICE_MARK; break; |
177 | case 8: GoBack(); break; //Íàçàä |
168 | case 8: GoBack(); break; //Íàçàä |
178 | case 014: MoveSize(80,80,OLD,OLD); Run_Program("/sys/File Managers/Eolite", #path); break; //íîâîå îêíî |
169 | case 014: MoveSize(80,80,OLD,OLD); Run_Program("/sys/File Managers/Eolite", #path); break; //íîâîå îêíî |
Line 222... | Line 213... | ||
222 | edit2.top=curbtn*18+59+skin_width; |
213 | edit2.top=curbtn*18+59+skin_width; |
223 | edit2.size=strlen(#file_name); edit2.pos=strlen(#file_name); |
214 | edit2.size=strlen(#file_name); edit2.pos=strlen(#file_name); |
224 | edit_box_draw stdcall (#edit2); |
215 | edit_box_draw stdcall (#edit2); |
225 | DrawBar(218,curbtn*18+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè |
216 | DrawBar(218,curbtn*18+58,edit2.width+1,1,0xFFFFCC); //ïîëîñà æåëòàÿ ñâåðõó äëÿ îäèíàêîâîñòè |
226 | rename_active=1; |
217 | rename_active=1; |
227 | BREAK; |
218 | break; |
228 | case 052: //Íàæàòà F3 |
219 | case 052: //Íàæàòà F3 |
229 | IF (isdir==false) Run_Program("/sys/tinypad", #file_path); BREAK; |
220 | IF (isdir==false) Run_Program("/sys/tinypad", #file_path); break; |
230 | case 054: Open_Dir(#path,1); BREAK; //ïåðåðèñîâàòü îêíî F5 |
221 | case 054: Open_Dir(#path,1); break; //ïåðåðèñîâàòü îêíî F5 |
231 | case 182: Del_Form(); BREAK; //delete file |
222 | case 182: Del_Form(); break; //delete file |
232 | default: EDIT_KEY_MARK: |
223 | default: |
- | 224 | IF (strcmp("..",buf+72+304)<>0) temp_int=0; ELSE temp_int=1; |
|
- | 225 | for (i=curbtn+za_kadrom+1; i |
|
- | 226 | { |
|
- | 227 | copystr(file_mas[i+temp_int]*304+buf+72,#temp); |
|
233 | EAX=key <<8; |
228 | AL=DSBYTE[#temp]; |
- | 229 | IF(AL>='A')&&(AL<='Z')DSBYTE[#temp]=AL|0x20; |
|
234 | IF (rename_active==0) edit_box_key stdcall (#edit1); ELSE edit_box_key stdcall (#edit2); |
230 | IF (temp[0]==key) {FileList_ReDraw(i-curbtn-za_kadrom); break;} |
- | 231 | } |
|
235 | } |
232 | } |
236 | break; |
233 | break; |
237 | case evReDraw: draw_window(); BREAK; |
234 | case evReDraw: draw_window(); BREAK; |
238 | } |
235 | } |
239 | IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); |
236 | IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); |
Line 245... | Line 242... | ||
245 | 242 | ||
246 | inline fastcall void draw_window() |
243 | inline fastcall void draw_window() |
247 | { |
244 | { |
248 | WindowRedrawStatus(1); |
245 | WindowRedrawStatus(1); |
249 | skin_width = GetSkinWidth(); |
246 | skin_width = GetSkinWidth(); |
250 | DefineAndDrawWindow(100,100,600,410,0x43,0x10E4DFE1,0,0,#header); //DrawTitle(#header); |
247 | DefineAndDrawWindow(100,100,600,410,0x43,0x10E4DFE1,0,0,#header); |
251 | Form.getme(); |
248 | Form.getme(); |
252 | IF (Form.height==skin_width+3) {WindowRedrawStatus(2); return;} //ýòî çà÷¸ò! |
249 | IF (Form.height==skin_width+3) {WindowRedrawStatus(2); return;} //ýòî çà÷¸ò! |
253 | IF (Form.height<280) MoveSize(OLD,OLD,OLD,280); |
250 | IF (Form.height<280) MoveSize(OLD,OLD,OLD,280); |
254 | IF (Form.width<480) MoveSize(OLD,OLD,480,OLD); |
251 | IF (Form.width<480) MoveSize(OLD,OLD,480,OLD); |
255 | //toolbar buttons |
252 | //toolbar buttons |
256 | PutImage(#toolbar,246,39,5,0); |
253 | PutPaletteImage(#toolbar,246,39,5,0,#toolbar_pal); |
257 | FOR (j=0; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,0xE4DFE1); |
254 | FOR (j=0; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,0xE4DFE1); |
258 | //ïîëîñà àäðåñà |
255 | //ïîëîñà àäðåñà |
259 | DrawBar(251,0,onLeft(251,60),12,0xE4DFE1); //ôîí íàä ïîëîñîé àäðåñà |
256 | DrawBar(251,0,onLeft(251,60),12,0xE4DFE1); //ôîí íàä ïîëîñîé àäðåñà |
260 | edit1.width=Form.width-314; |
257 | edit1.width=Form.width-314; |
Line 277... | Line 274... | ||
277 | ELSE IF (sort_num==2) WriteText(onLeft(110,0),45,0x80,0x4E78AC,"\x19",0); |
274 | ELSE IF (sort_num==2) WriteText(onLeft(110,0),45,0x80,0x4E78AC,"\x19",0); |
278 | ELSE WriteText(onLeft(39,0),45,0x80,0x4E78AC,"\x19",0); |
275 | ELSE WriteText(onLeft(39,0),45,0x80,0x4E78AC,"\x19",0); |
279 | //ïðîêðóòêà |
276 | //ïðîêðóòêà |
280 | DrawFlatButton(onLeft(22,0),40,16,16,50,0xE4DFE1,"\x18"); //ïðîêðóòêà ââåðõ |
277 | DrawFlatButton(onLeft(22,0),40,16,16,50,0xE4DFE1,"\x18"); //ïðîêðóòêà ââåðõ |
281 | DrawFlatButton(onLeft(22,0),onTop(22,0),16,16,51,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç |
278 | DrawFlatButton(onLeft(22,0),onTop(22,0),16,16,51,0xE4DFE1,"\x19");//ïðîêðóòêà âíèç |
- | 279 | // |
|
- | 280 | //DrawBar(197,57,onLeft(22,197),onTop(57,6),0xFFFFFF); //çàëèâêà áåëûì |
|
- | 281 | // |
|
282 | DrawBar(onLeft(22,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè |
282 | DrawBar(onLeft(22,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè |
283 | but_num=onTop(6,57)/18; |
283 | but_num=onTop(6,57)/18; |
284 | IF (but_num>100) but_num=1; ELSE IF (kolichestvo |
284 | IF (but_num>100) but_num=1; ELSE IF (kolichestvo |
285 | FOR (j=0;j |
285 | FOR (j=0;j |
286 | List_ReDraw(); |
286 | List_ReDraw(); |
287 | IF (del_active==1) Del_Form(); |
287 | IF (del_active==1) Del_Form(); |
288 | WindowRedrawStatus(2); |
288 | WindowRedrawStatus(2); |
289 | } |
289 | } |
Line 352... | Line 352... | ||
352 | IF (kolichestvo-za_kadrom |
352 | IF (kolichestvo-za_kadrom |
353 | { za_kadrom=kolichestvo-but_num; DrawBar(197,curbtn*18+57,onLeft(22,197),18,0xFFFFFF); curbtn=but_num-1; } |
353 | { za_kadrom=kolichestvo-but_num; DrawBar(197,curbtn*18+57,onLeft(22,197),18,0xFFFFFF); curbtn=but_num-1; } |
354 | ELSE IF (curbtn>but_num-1) curbtn=but_num-1; //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì |
354 | ELSE IF (curbtn>but_num-1) curbtn=but_num-1; //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì |
355 | // |
355 | // |
356 | FOR (j=0; j |
356 | FOR (j=0; j |
357 | temp_int=but_num-1*18+75; |
357 | temp_int=but_num*18+57; |
358 | DrawBar(197,temp_int,onLeft(22,197),onTop(temp_int,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà |
358 | DrawBar(197,temp_int,onLeft(22,197),onTop(temp_int,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà |
359 | DrawBar(onLeft(163,0),temp_int,1,onTop(temp_int,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
359 | 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 |
360 | DrawBar(onLeft(90,0),temp_int,1,onTop(temp_int,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
361 | TVScroll(); |
361 | TVScroll(); |
362 | } |
362 | } |
Line -... | Line 363... | ||
- | 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 363... | Line 376... | ||
363 | 376 | ||
364 | 377 | ||
365 | void Line_ReDraw(dword color, filenum){ |
378 | void Line_ReDraw(dword color, filenum){ |
366 | dword y, size; |
379 | dword y=filenum*18+57; //ïîëîæåíèå òåêñòà ïî Y; |
367 | if (rename_active==1) |
380 | if (rename_active==1) |
368 | { |
381 | { |
369 | rename_active=0; |
382 | rename_active=0; |
370 | edit2.flags=64; |
383 | edit2.flags=64; |
371 | DefineButton(197,curbtn+1*18+39,onLeft(22,197),18,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
384 | DefineButton(197,curbtn*18+57,onLeft(22,197),18,curbtn+201+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
372 | IF (filenum==100) filenum=curbtn; ELSE |
385 | IF (filenum==100) filenum=curbtn; ELSE |
373 | { |
386 | { |
374 | copystr(#path,#temp); |
387 | copystr(#path,#temp); |
375 | copystr(#file_name,#temp+strlen(#temp)); |
388 | copystr(#file_name,#temp+strlen(#temp)); |
376 | IF (strcmp(#file_path,#temp)<>0) && (strlen(#file_name)>0) |
389 | IF (strcmp(#file_path,#temp)<>0) && (strlen(#file_name)>0) |
377 | { CopyFile(#file_path,#temp); Del_File(true); } |
390 | { CopyFile(#file_path,#temp); Del_File(true); } |
378 | } |
391 | } |
- | 392 | } |
|
- | 393 | //äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî ïåðåðèñîâêà çàòî ìàëåíüêàÿ |
|
- | 394 | DrawBar(197,y,3,18,color); |
|
- | 395 | DrawBar(200,y,16,2,color); |
|
379 | } |
396 | DrawBar(197+19,y,onLeft(22+19,197),18,color); |
380 | DrawBar(197,filenum*18+57,onLeft(22,197),18,color); //ïîëîñà áåëàÿ èëè âûäåëåíèÿ |
- | |
381 | // |
397 | DrawBar(200,y+17,16,1,color); |
382 | y= filenum*18+85; //ïîëîæåíèå òåêñòà ïî Y |
- | |
383 | 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; |
- | |
384 | temp_int = onLeft(220,160)/6; |
- | |
385 | IF (strlen(off) |
- | |
386 | WriteText(220,y-22,0,0,off,temp_int); //èìÿ ôàéëà |
398 | // |
387 | size=ESDWORD[off-8]; |
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; |
388 | EAX=ESDWORD[off-40]; |
400 | EAX=ESDWORD[off-40]; |
389 | $shr eax,4 |
401 | $shr eax,4 |
390 | $and eax,1 |
402 | $and eax,1 |
391 | IF (color==videlenie) isdir=EAX; //íàäî îáüåäèíèòü ñ òåì øî ñíèçó |
403 | IF (color==videlenie) isdir=EAX; //íàäî îáüåäèíèòü ñ òåì øî ñíèçó |
392 | IF (!EAX) |
404 | if (!EAX) |
393 | { |
405 | { |
394 | temp_int = Put_icon(off+strlen(off)-4, y); |
406 | temp_int = Put_icon(off+strlen(off)-4, y+2); |
395 | WriteText(7-strlen(ConvertSize(size))*6+onLeft(75,0),y-22,0x80,0,ConvertSize(size),0); |
407 | WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),y+6,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
396 | } ELSE IF (strcmp("..",off)==0) temp_int=Put_icon(" ", y); ELSE temp_int=Put_icon(" |
408 | } ELSE IF (strcmp("..",off)==0) temp_int=Put_icon("..", y+2); ELSE temp_int=Put_icon(" |
397 | IF (color==videlenie) |
409 | IF (color==videlenie) |
398 | { |
410 | { |
399 | IconFairing(temp_int, y, videlenie); //çàêðàøèâàåì èêîíêó |
411 | IconFairing(temp_int, y+2, videlenie); //çàêðàøèâàåì èêîíêó |
400 | copystr(#path,#file_path); |
412 | copystr(#path,#file_path); |
401 | copystr(off,#file_name); |
413 | copystr(off,#file_name); |
- | 414 | copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà |
|
- | 415 | } |
|
- | 416 | temp_int = onLeft(220,160)/6; |
|
402 | copystr(off,#file_path+strlen(#file_path)); //èòàê, file_path=ôàéëó, ò.ê. ïî-óìîë÷àíèþ ýòî ïðîãà |
417 | IF (strlen(off) |
403 | } |
418 | WriteText(220,y+6,0,0,off,temp_int); //èìÿ ôàéëà |
404 | DrawBar(onLeft(163,0),filenum*18+57,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
419 | DrawBar(onLeft(163,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
405 | DrawBar(onLeft(90,0),filenum*18+57,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
420 | DrawBar(onLeft(90,0),y,1,18,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
Line 406... | Line 421... | ||
406 | //Preview(); |
421 | //Preview(); |
407 | } |
422 | } |
408 | - | ||
409 | - | ||
410 | void Open_Dir(dword path_,redraw){ |
- | |
411 | IF (buf) free(buf); |
423 | |
412 | //open_file_70.func = 1; //à íàôèãà, îíè ñâåðõó åñòü... |
424 | |
413 | //open_file_70.pos = 0; |
425 | void Open_Dir(dword path_,redraw){ |
414 | //open_file_70.rezerv = 0; |
- | |
415 | open_file_70.sizefile = 6898; |
426 | IF (buf) free(buf); |
416 | buf = malloc(2097152); |
427 | open_dir_70.param3 = 6898; //filenum |
417 | open_file_70.buffer = buf; |
428 | buf = malloc(2097152); |
418 | //open_file_70.rezerv2 = 0; |
429 | open_dir_70.param4 = buf; |
419 | open_file_70.stroka = path_; |
430 | open_dir_70.name = path_; |
420 | $mov eax,70 |
431 | $mov eax,70 |
421 | $mov ebx,#open_file_70.func |
432 | $mov ebx,#open_dir_70.func |
422 | $int 0x40 |
433 | $int 0x40 |
Line 446... | Line 457... | ||
446 | void FoldesGoUp() |
457 | void FoldesGoUp() |
447 | { |
458 | { |
448 | dword k=0, l=0; off=buf+72; |
459 | dword k=0, l=0; off=buf+72; |
449 | IF (strcmp(#path,"/rd/1/")==0) || (strcmp(#path,"/fd/1/")==0) kolichestvo--; |
460 | IF (strcmp(#path,"/rd/1/")==0) || (strcmp(#path,"/fd/1/")==0) kolichestvo--; |
450 | IF (strcmp(".",buf+72)<>0) && (strlen(#path)>6) kolichestvo--; //ôàê! ýòî áðåä! õç êàê îíî ðàáîòàåò |
461 | IF (strcmp(".",buf+72)<>0) && (strlen(#path)>6) kolichestvo--; //ôàê! ýòî áðåä! õç êàê îíî ðàáîòàåò |
451 | FOR (i=0;i<=kolichestvo;i++) //à ïàïêè âñ¸ âûøå è âûøå... |
462 | FOR (j=0;j<=kolichestvo;j++) //à ïàïêè ââåðõ, ôàéëû âíèç |
452 | { |
463 | { |
453 | EAX=ESDWORD[off-40]; |
464 | EAX=ESDWORD[off-40]; |
454 | $shr eax,4 |
465 | $shr eax,4 |
455 | $and eax,1 |
466 | $and eax,1 |
456 | IF (EAX) {file_mas[k]=i; k++;} |
467 | IF (EAX) {file_mas[k]=j; k++;} |
457 | ELSE {file_mas[kolichestvo-l]=i; l++;} |
468 | ELSE {file_mas[kolichestvo-l]=j; l++;} |
458 | off += 304; |
469 | off += 304; |
459 | } |
470 | } |
460 | //k=0; l=kolichestvo; |
471 | //k=0; l=kolichestvo; |
461 | switch(sort_num) |
472 | switch(sort_num) |
462 | { |
473 | { |
Line 505... | Line 516... | ||
505 | DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes"); |
516 | DrawFlatButton(temp_int+20,208,70,20,301,0xFFB6B5,"Yes"); |
506 | DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No"); |
517 | DrawFlatButton(temp_int+111,208,70,20,302,0xC6DFC6,"No"); |
507 | del_active=1; |
518 | del_active=1; |
508 | } |
519 | } |
Line -... | Line 520... | ||
- | 520 | ||
509 | 521 | f70 del_file_70; |
|
510 | void Del_File(byte dodel) |
522 | void Del_File(byte dodel) |
511 | { |
523 | { |
512 | IF (dodel==true){ |
524 | IF (dodel==true){ |
513 | run_file_70.func = 8; |
525 | del_file_70.func = 8; |
514 | run_file_70.flag = 0; |
526 | del_file_70.param1 = 0; |
515 | run_file_70.param= 0; |
527 | del_file_70.param2 = 0; |
516 | run_file_70.rez1 = 0; |
528 | del_file_70.param3 = 0; |
517 | run_file_70.rez2 = 0; |
529 | del_file_70.param4 = 0; |
518 | run_file_70.rezerv2 = 0; |
530 | del_file_70.rezerv = 0; |
519 | run_file_70.stroka = #file_path; |
531 | del_file_70.name = #file_path; |
520 | $mov eax,70 |
532 | $mov eax,70 |
521 | $mov ebx,#run_file_70.func |
533 | $mov ebx,#del_file_70.func |
522 | $int 0x40} |
534 | $int 0x40} |
523 | del_active=0; |
535 | del_active=0; |
524 | DeleteButton(301); DeleteButton(302); //óäàëÿåì êíîïî÷êè Yes/No |
536 | DeleteButton(301); DeleteButton(302); //óäàëÿåì êíîïî÷êè Yes/No |
525 | Open_Dir(#path,1); |
537 | Open_Dir(#path,1); |
Line 586... | Line 598... | ||
586 | } |
598 | } |
587 | Actions(); //ôóíêöèè ôàéëîâ è ïàïîê |
599 | Actions(); //ôóíêöèè ôàéëîâ è ïàïîê |
588 | Preview(); |
600 | Preview(); |
589 | } |
601 | } |
Line -... | Line 602... | ||
- | 602 | ||
590 | 603 | ||
591 | void Actions() |
604 | void Actions() |
592 | { |
605 | { |
593 | DrawBar(22,dev_num*16+75,160,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè |
606 | DrawBar(22,dev_num*16+75,160,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè |
594 | if (show_actions==1) |
607 | if (show_actions==1) |
Line 614... | Line 627... | ||
614 | DrawBar(22,dev_num*16+108,160,51,0x00699C); //ñèíåå |
627 | DrawBar(22,dev_num*16+108,160,51,0x00699C); //ñèíåå |
615 | } |
628 | } |
616 | } |
629 | } |
Line 617... | Line -... | ||
617 | - | ||
618 | - | ||
619 | /*void Dir_Up() |
- | |
620 | { |
- | |
621 | byte temp_[256]; |
- | |
622 | i=strlen(#path)-1; |
- | |
623 | path[i]=0x00; |
- | |
624 | do i--; while (path[i]<>'/'); copystr(#path+i+1,#temp_); |
- | |
625 | path[i+1]=0x00; |
- | |
626 | ChangeCase(#temp_); |
- | |
627 | za_kadrom=curbtn=0; //ââåðõ ñïèñêà |
- | |
628 | Open_Dir(#path,2); |
- | |
629 | FOR (i=kolichestvo; i>0; i--;) IF(strcmp(file_mas[i]*304+buf+72,#temp_)==0) BREAK; |
- | |
630 | // |
- | |
631 | IF (i |
- | |
632 | ELSE {za_kadrom=kolichestvo-but_num; curbtn=i-kolichestvo+but_num;} |
- | |
633 | List_ReDraw(); |
- | |
634 | }*/ |
- | |
635 | - | ||
636 | /*void Dir_Up() |
- | |
637 | { |
- | |
638 | i=strlen(#path)-1; |
- | |
639 | do i--; while (path[i]<>'/'); |
- | |
640 | path[i+1]=0x00; |
- | |
641 | za_kadrom=0; curbtn=0; //ââåðõ ñïèñêà |
- | |
642 | Open_Dir(#path,1); |
- | |
643 | }*/ |
- | |
644 | 630 | ||
645 | //áàã - åñëè ñâåðõó, òî ñâåðõó,à íå ñíèçó |
631 | |
646 | void Dir_Up() |
632 | void Dir_Up() |
647 | { |
633 | { |
648 | byte temp_[256]; |
634 | byte temp_[256]; |
Line 666... | Line 652... | ||
666 | 652 | ||
667 | 653 | ||
668 | void Preview() |
654 | void Preview() |
669 | { |
655 | { |
670 | dword top_pr=dev_num*16+123; |
656 | dword top_pr=dev_num*16+123; |
671 | top_pr+=show_actions*51; //íè÷èíàåì íèæå, åñëè Àêøíñ âèäèìû |
657 | top_pr+=show_actions*51; //íà÷èíàåì íèæå, åñëè Ýêøíñ âèäèìû |
672 | DeleteButton(78); |
658 | DeleteButton(78); |
673 | if (show_preview==1) |
659 | if (show_preview==1) |
674 | { |
660 | { |
Line 678... | Line 664... | ||
678 | //WriteText(30,top_pr+40,0x80,0,"but_num:",0); WriteText(105,top_pr+40,0x80,0,IntToStr(but_num),0); |
664 | //WriteText(30,top_pr+40,0x80,0,"but_num:",0); WriteText(105,top_pr+40,0x80,0,IntToStr(but_num),0); |
679 | //WriteText(30,top_pr+50,0x80,0,"curbtn",0); WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0); |
665 | //WriteText(30,top_pr+50,0x80,0,"curbtn",0); WriteText(105,top_pr+50,0x80,0,IntToStr(curbtn),0); |
680 | //WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0); WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0); |
666 | //WriteText(30,top_pr+60,0x80,0,"ra_kadrom:",0); WriteText(105,top_pr+60,0x80,0,IntToStr(za_kadrom),0); |
681 | //WriteText(30,top_pr+70,0x80,0,#file_path,0); |
667 | //WriteText(30,top_pr+70,0x80,0,#file_path,0); |
682 | //WriteText(30,top_pr+80,0x80,0,#file_name,0); |
668 | //WriteText(30,top_pr+80,0x80,0,#file_name,0); |
683 | WriteText(30,top_pr+60,0x80,0,"Not realized... Yet.",0); |
669 | WriteText(30,top_pr+60,0x80,0,"Not realized... I think",0); |
684 | //WriteText(30,top_pr+70,0x80,0,"Nable, I'm waiting (:",0); |
670 | WriteText(30,top_pr+70,0x80,0,"it will be realired soon.",0); |
685 | DrawBar(22,top_pr+118,160,onTop(top_pr+118,6),0x00699C); //ñèíåå |
671 | DrawBar(22,top_pr+118,160,onTop(top_pr+118,6),0x00699C); //ñèíåå |
686 | } |
672 | } |
687 | ELSE { |
673 | ELSE { |
688 | Tip(top_pr,"Preview",78,"\x18"); |
674 | Tip(top_pr,"Preview",78,"\x18"); |
689 | DrawBar(22,top_pr+18,160,onTop(top_pr+18,6),0x00699C); //ñèíåå |
675 | DrawBar(22,top_pr+18,160,onTop(top_pr+18,6),0x00699C); //ñèíåå |