13,11 → 13,7 |
#include "imgs\toolbar.txt" |
#include "imgs\left_p.txt" |
|
// |
#define NOTIFY_PATH "@notify" |
#define INI_PATH "/sys/File managers/Eolite.ini" |
|
|
//ïåðåìåííûå |
#define title "Eolite File Manager v0.98.9" |
#define videlenie 0x94AECE //0xFEA4B7,0x8BCDFF,0xB8C9B8}; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
59,6 → 55,42 |
#include "include\ini.h--" |
|
|
void Devices() |
{ |
//on load |
/*devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
ReadDir(10, devbuf, "/"); |
dev_num=EBX; |
*/ |
|
byte dev_icon; dword drive_name[30]; char dev_name[4]; |
DrawBar(2,41,190,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñâåðõó |
DrawBar(2,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñëåâà |
DrawBar(177,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà |
//ñïèñîê äèñêîâ |
Tip(56, "Goto:", 0, ""); |
for (i=0;i<dev_num;i++) |
{ |
DrawBar(17,i*16+74,160,17,0xFFFFFF); //áåëîå |
DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü |
dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê |
copystr(i*304+ devbuf+72, #dev_name); |
IF (dev_name[0]=='r') { dev_icon=0; copystr("RAM-disk /rd/1",#drive_name); } |
IF (dev_name[0]=='c') { dev_icon=1; copystr("CD-drive /",#drive_name); } |
IF (dev_name[0]=='f') { dev_icon=2; copystr("Floppy disk /",#drive_name); } |
IF (dev_name[0]=='h') copystr("Hard disk drive /",#drive_name); |
IF (dev_name[0]=='b') copystr("SATA disk drive /",#drive_name); |
// |
IF (dev_icon<>0) copystr(#dev_name,#drive_name+strlen(#drive_name)); |
copystr("/",#drive_name+strlen(#drive_name)); |
// |
WriteText(45,i*16+79,0x80,0,#drive_name,0); |
PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
} |
Actions(); //ôóíêöèè ôàéëîâ è ïàïîê |
} |
|
void main() |
word key, id; |
mouse m; |
65,10 → 97,12 |
int pressed_y; |
{ |
GetIni(1); |
// |
load_editbox_lib(); |
devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
ReadDir(10, devbuf, "/"); |
dev_num=EBX; |
// |
IF (param[0]<>'') |
{ |
copystr(#param,#edit_path); |
236,10 → 270,14 |
FileList_ReDraw(1); |
break; |
case 180: //home |
FileList_ReDraw(-za_kadrom-curbtn); |
za_kadrom=0; |
curbtn=0; |
List_ReDraw(); |
break; |
case 181: //end |
FileList_ReDraw(count-za_kadrom-curbtn+but_num-1); |
za_kadrom=count-but_num; |
curbtn=but_num-1; |
List_ReDraw(); |
break; |
case 183: //Page Down |
FileList_ReDraw(but_num-1); |
277,9 → 315,13 |
copystr(file_mas[i]*304+buf+72,#temp); |
AL=DSBYTE[#temp]; |
IF(AL>='A')&&(AL<='Z')DSBYTE[#temp]=AL|0x20; |
IF (temp[0]==key) {FileList_ReDraw(i-curbtn-za_kadrom); break;} |
IF (temp[0]==key) |
{ |
FileList_ReDraw(i-curbtn-za_kadrom); |
break; |
} |
} |
} |
BREAK; |
case evReDraw: draw_window(); |
} |
291,7 → 333,7 |
inline fastcall void draw_window() |
{ |
WindowRedrawStatus(1); |
DefineAndDrawWindow(100,100,600,410,0x73,0x10E4DFE1,0,0,title); |
DefineAndDrawWindow(98,90,560,481,0x73,0x10E4DFE1,0,0,title); |
WindowRedrawStatus(2); |
Form.GetInfo(SelfInfo); |
IF (Form.height==GetSkinWidth()+3) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê |
375,23 → 417,38 |
Line_ReDraw(videlenie, curbtn); //âûäåëåíèå |
return; |
} |
//WriteDebug(IntToStr(curbtn)); =0 |
//WriteDebug(IntToStr(za_kadrom)); =0 |
//WriteDebug(IntToStr(count)); =41 |
ELSE |
else |
{ |
IF(but_num+za_kadrom+curbtn_>=count) //18+0+33>=41 |
{ |
za_kadrom=count-but_num; //41-18=23 |
//curbtn=but_num+curbtn_-count; //11=33-18 |
//WriteDebug("1"); |
za_kadrom=count-but_num; |
curbtn=curbtn_-za_kadrom+curbtn; |
} |
ELSE |
{ |
//WriteDebug("2"); |
za_kadrom+=curbtn_+curbtn-but_num+1; |
//curbtn=but_num-1; |
curbtn=but_num-1; |
} |
IF (curbtn<0) || (curbtn>but_num) |
{ |
//ShowMessage("Bug found! Tell it Leency!"); |
curbtn=but_num-1; |
} |
List_ReDraw(); |
//WriteDebug(IntToStr(curbtn)); //=0 |
//WriteDebug(IntToStr(za_kadrom)); //=0 |
//WriteDebug(IntToStr(but_num)); //=41 |
//WriteDebug(IntToStr(count)); //=41 |
|
/*WriteDebug(""); |
WriteDebug(#path); |
WriteDebug("Number of files:"); WriteDebug(IntToStr(count)); |
WriteDebug("but_num:"); WriteDebug(IntToStr(but_num)); |
WriteDebug("curbtn"); WriteDebug(IntToStr(curbtn)); |
WriteDebug("ra_kadrom:"); WriteDebug(IntToStr(za_kadrom));*/ |
} |
} |
} |
622,37 → 679,6 |
} |
|
|
void Devices() |
{ |
byte dev_icon; dword drive_name[30]; char dev_name[4]; |
DrawBar(2,41,190,15,0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñâåðõó |
DrawBar(2,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñëåâà |
DrawBar(177,56,15,onTop(21,41),0x00699C); //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà |
//ñïèñîê äèñêîâ |
Tip(56, "Goto:", 0, ""); |
for (i=0;i<dev_num;i++) |
{ |
DrawBar(17,i*16+74,160,17,0xFFFFFF); //áåëîå |
DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
copystr("Unknown drive",#drive_name); //èçíà÷àëüíî íåèçâåñíûé íîñèòåëü |
dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê |
copystr(i*304+ devbuf+72, #dev_name); |
IF (dev_name[0]=='r') { dev_icon=0; copystr("RAM-disk /rd/1",#drive_name); } |
IF (dev_name[0]=='c') { dev_icon=1; copystr("CD-drive /",#drive_name); } |
IF (dev_name[0]=='f') { dev_icon=2; copystr("Floppy disk /",#drive_name); } |
IF (dev_name[0]=='h') copystr("Hard disk drive /",#drive_name); |
IF (dev_name[0]=='b') copystr("SATA disk drive /",#drive_name); |
// |
IF (dev_icon<>0) copystr(#dev_name,#drive_name+strlen(#drive_name)); |
copystr("/",#drive_name+strlen(#drive_name)); |
// |
WriteText(45,i*16+79,0x80,0,#drive_name,0); |
PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
} |
Actions(); //ôóíêöèè ôàéëîâ è ïàïîê |
} |
|
|
void Actions() |
{ |
int actions_y=dev_num*16; |
682,15 → 708,6 |
|
|
|
/*WriteDebug(""); |
WriteDebug(#path); |
WriteDebug("Number of files:"); WriteDebug(IntToStr(count)); |
WriteDebug("but_num:"); WriteDebug(IntToStr(but_num)); |
WriteDebug("curbtn"); WriteDebug(IntToStr(curbtn)); |
WriteDebug("ra_kadrom:"); WriteDebug(IntToStr(za_kadrom));*/ |
|
|
|
void Goto_edit_path() |
{ |
IF (strcmp(#path,#edit_path)==0) return; //ïðîâåðêà íå â ýòîé ëè ìû ïàïêå |