20,7 → 20,7 |
#define ONLY_OPEN 2 |
|
//ïåðåìåííûå |
#define title "Eolite File Manager v1.23" |
#define title "Eolite File Manager v1.25" |
dword videlenie=0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
// |
int but_num, |
27,7 → 27,6 |
count, |
za_kadrom, |
curbtn, |
disc_num, |
scroll_size; |
byte cut_active, |
rename_active, |
53,7 → 52,6 |
char Item[4096]; |
}; |
|
path_string disk_list[20]; |
|
dword stak[100]; //îêíî About |
|
92,10 → 90,8 |
} |
else copystr("/rd/1/", #path); |
Open_Dir(#path,ONLY_OPEN); |
loop() |
loop() switch(WaitEvent()) |
{ |
switch(WaitEvent()) |
{ |
case evMouse: |
IF (del_active==1) break; |
|
102,6 → 98,8 |
id=GetSlot(Form.ID); |
IF (id<>ActiveProcess()) break; //åñëè îêíî íå àêòèâíî íà ñîáûòèÿ ìûøè íå ðåàãèðóåì |
|
IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); |
|
m.get(); |
|
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<57) |
131,17 → 129,23 |
} |
|
//êîë¸ñèêî ìûøè |
IF (m.vert==65535) IF (curbtn>0) FileList_ReDraw(-1); ELSE |
IF (m.vert==65535) && (za_kadrom>0) |
{ |
FileList_ReDraw(-1); |
FileList_ReDraw(-1); |
FileList_ReDraw(-1); |
if (za_kadrom>0) za_kadrom--; |
if (curbtn<but_num-1) curbtn++; |
List_ReDraw(); |
if (za_kadrom>0) za_kadrom--; |
if (curbtn<but_num-1) curbtn++; |
List_ReDraw(); |
} |
IF (m.vert==1) IF (curbtn<but_num-1) FileList_ReDraw(1); ELSE |
IF (m.vert==1) && (za_kadrom<count-but_num) |
{ |
FileList_ReDraw(1); |
FileList_ReDraw(1); |
FileList_ReDraw(1); |
if (za_kadrom<count-but_num) za_kadrom++; |
if (curbtn>0) curbtn--; |
List_ReDraw(); |
if (za_kadrom<count-but_num) za_kadrom++; |
if (curbtn>0) curbtn--; |
List_ReDraw(); |
} |
//ñêðîëë |
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>56) && && (m.y<65000) while (m.lkm) |
171,7 → 175,7 |
HistoryPath(go_forward); |
break; |
case 23: //up! |
IF (strcmp(#path,"/")<>0) Dir_Up(); |
Dir_Up(); |
break; |
case 24: //cut |
key=24; |
199,7 → 203,10 |
break; |
case 78: |
IF (show_dev_name==1) show_dev_name=0; ELSE show_dev_name=1; |
GetSystemDiscs(); |
Open_Dir(#path,WITH_REDRAW); |
DrawSystemDiscs(); |
Actions(); |
break; |
case 80: //rename |
goto REN_MARK; |
215,7 → 222,11 |
SelectFile("New folder"); |
goto REN_MARK; |
} |
ELSE ShowMessage("Folder can not be created."); |
ELSE |
{ |
Write_Error(EAX); |
ShowMessage("Folder can not be created."); |
} |
break; |
case 100...120: |
DEVICE_MARK: |
223,15 → 234,18 |
copystr(#disk_list[id-100].Item, #path); |
za_kadrom=curbtn=0; |
Open_Dir(#path,1); |
Pause(5); |
DrawRegion_3D(17,id-100*16+74,159,16, 0xFFFFFF, 0xFFFFFF); |
break; |
default: |
if (id<200) break; //êíîïêè èç ñïèñêà ôàéëîâ |
IF (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} |
if (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} |
else OPEN_MARK: |
if (!isdir) GetIni(0); else |
if (strcmp(#file_name,"..")==0) Dir_Up(); else |
{ OPEN_DEV: |
if (strcmp(#file_name,"..")==0) Dir_Up(); |
else |
{ |
OPEN_DEV: |
copystr(#file_path, #path); |
IF (strcmp(#path+strlen(#path)-1,"/")<>0) copystr("/",#path+strlen(#path)); //åñëè íåò, + "/" |
za_kadrom=curbtn=0; |
267,7 → 281,8 |
IF (id-100>=disc_num) break; |
GOTO DEVICE_MARK; |
case 8: //Íàçàä |
GoBack(); |
//GoBack(); |
Dir_Up(); |
break; |
case 004: //Ctrl+D ðèñ íà ðàá ñòîë ðàñòÿíóòü |
copystr("\\S__", #temp); |
356,11 → 371,10 |
} |
} |
BREAK; |
case evReDraw: draw_window(); |
case evReDraw: |
draw_window(); |
} |
IF (rename_active==0) edit_box_mouse stdcall(#edit1); ELSE edit_box_mouse stdcall(#edit2); |
} |
} |
|
|
inline fastcall void draw_window() |
394,8 → 408,6 |
DrawFlatButton(onLeft(95,0),40,68,16,33,0xE4DFE1,"Size"); |
//Ïåðåðèñîâûâàåì ñïèñîê |
Open_Dir(#path,ONLY_SHOW); |
//List_ReDraw(); |
//KEdit(); |
//ïðîêðóòêà |
DrawBar(onLeft(27,0),57,1,onTop(22,57),0x94AECE); //ëèíèÿ ñëåâà îò ïðîêðóòêè |
DrawFlatButton(onLeft(27,0),40,16,16,0,0xE4DFE1,"\x18"); //ïðîêðóòêà ââåðõ |
514,10 → 526,10 |
IF (!strcmp("..",off)) temp_int=Put_icon("..", BUTTON_HEIGHT/2-7+y); |
ELSE |
temp_int=Put_icon("<DIR>", BUTTON_HEIGHT/2-7+y); |
if (color==videlenie) |
if (color<>0xFFFfff) |
{ |
isdir=TestBit(ESDWORD[off-40], 4); |
IconFairing(temp_int, BUTTON_HEIGHT/2-7+y); //çàêðàøèâàåì èêîíêó |
IconFairing(temp_int, BUTTON_HEIGHT/2-7+y, color); //çàêðàøèâàåì èêîíêó |
copystr(off,#file_name); |
copystr(#path,#file_path); |
copystr(#file_name,#file_path+strlen(#file_path)); //ïîëíûé ïóòü ê ôàéëó |
545,9 → 557,9 |
errornum=ReadDir(0, buf, #path_); |
if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè |
{ |
Write_Debug_Error(errornum); |
HistoryPath(add_new_path); |
GoBack(); |
Write_Error(errornum); |
return; |
} |
count = ESDWORD[buf+8]; |
641,7 → 653,7 |
del_file_rez=DeleleFile(#file_path); |
IF (del_file_rez<>0) |
{ |
Write_Debug_Error(del_file_rez); |
Write_Error(del_file_rez); |
IF (isdir==true) ShowMessage("Error. Folder isn't empty."); |
IF (isdir==false) ShowMessage("Error. Filesystem read-only."); |
} |
668,7 → 680,7 |
copy_rezult=CopyFile(#copy_file,#new_copy_path); |
IF (copy_rezult<>0) //îøèáêà |
{ |
Write_Debug_Error(copy_rezult); |
Write_Error(copy_rezult); |
DrawFlatButton(Form.width/2-13,160,200,80,0,0xFFB6B5, "Error. You can't paste here."); |
Pause(150); |
} |
712,7 → 724,7 |
del_file_rez=DeleleFile(#file_path); |
IF (del_file_rez<>0) |
{ |
Write_Debug_Error(del_file_rez); |
Write_Error(del_file_rez); |
ShowMessage("Error. Folder isn't empty."); |
return; |
} |
786,6 → 798,7 |
void Dir_Up() |
{ |
char cur_folder[4096]; |
if (!strcmp(#path,"/")) return; |
i=strlen(#path)-1; |
path[i]=0x00; |
do i--; while (path[i]<>'/'); copystr(#path+i+1,#cur_folder); |