20,7 → 20,7 |
#define ONLY_OPEN 2 |
|
//ïåðåìåííûå |
dword title[] = "Eolite File Manager v1.51"; |
#define title "Eolite File Manager v1.5" |
dword col_work = 0xE4DFE1; |
dword col_border = 0x819FC5; |
dword col_padding = 0xC8C9C9; |
62,8 → 62,7 |
int toolbar_buttons_x[7]={9,46,85,134,167,203}; |
char tmp_disk_del_param[3]="d0\0"; |
|
dword file_mas[65535]; |
|
dword file_mas[6898]; |
int j, i, mouse_dd; |
int scroll_used; |
|
421,9 → 420,9 |
int min_size_y = disc_num*16+195; |
|
if (GetScreenHeight()<480) |
DefineAndDrawWindow(20,0,582,GetScreenHeight()-30,0x73,col_work,#title); |
DefineAndDrawWindow(20,0,582,GetScreenHeight()-30,0x73,col_work,title); |
else |
DefineAndDrawWindow(98,90,582,482,0x73,col_work,#title); |
DefineAndDrawWindow(98,90,582,482,0x73,col_work,title); |
GetProcessInfo(#Form, SelfInfo); |
if (Form.status_window>2) return; |
if (Form.height<min_size_y) MoveSize(OLD,OLD,OLD,min_size_y); |
592,7 → 591,7 |
if (somelen) path_[somelen]=NULL; |
|
if (buf) free(buf); |
buf = malloc(512); |
buf = malloc(32); |
errornum=ReadDir(0, buf, #path_); |
if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè |
{ |
602,10 → 601,10 |
return; |
} |
count = ESDWORD[buf+8]; |
buf = realloc(count * 304 + 512, buf); //ïî÷åìó 32? |
buf = realloc(count * 304 + 32, buf); //ïî÷åìó 32? |
ReadDir(count, buf, #path_); |
IF (EBX>6897) && (EBX<>-1) EBX=6897; //1 íà óäà÷ó ;) |
count=EBX; |
if (count>sizeof(file_mas)) count=sizeof(file_mas); |
} |
if (count<>-1) |
{ |
632,13 → 631,11 |
inline Sorting() |
{ |
dword k=0, l=1; |
|
if (!strcmp(#path,"/")) //|| (count > 5000) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/" |
if (!strcmp(#path,"/")) //íå ñîðòèðîâàòü ïàïêè è íå ìåíÿòü ðåãèñòð â "/" |
{ |
FOR(k=1;k<count;k++;) file_mas[k]=k; |
return; |
} |
|
FOR (j=count-1, off=count-1*304+buf+32; j>=0; j--, off-=304;) //ïàïêè ââåðõ, ôàéëû âíèç |
{ |
TitleCase(off+40); |
653,17 → 650,14 |
l++; |
} |
} |
|
//Ñîáñòâåííî ñîðòèðîâêà: âíà÷àëå ïàïêè, ïîòîì ôàéëû |
Sort_by_Name(0,k-1); |
IF (sort_num==1) Sort_by_Name(k,count-1); |
IF (sort_num==2) Sort_by_Type(k,count-1); |
IF (sort_num==3) Sort_by_Size(k,count-1); |
if (strcmp(file_mas[0]*304+buf+72,"..")<>0) //åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà |
{ |
FOR(k--; k>0; k--;) { IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]><file_mas[0]; } |
//åñëè ïàïêà ".." íå ïåðâàÿ, ñòàâèì å¸ òóäà |
IF (k>0) && (strcmp(file_mas[0]*304+buf+72,"..")<>0) FOR(k--; k>0; k--;) IF (!strcmp(file_mas[k]*304+buf+72,"..")) file_mas[k]><file_mas[0]; |
} |
} |
|
|
void Del_Form() |