/programs/fs/Eolite/trunk/Eolite.c-- |
---|
20,19 → 20,19 |
#define ONLY_OPEN 2 |
//ïåðåìåííûå |
#define title "Eolite File Manager v1.41" |
#define title "Eolite File Manager v1.4" |
dword selection_col = 0x94AECE; |
dword lpanel_col = 0x00699C; |
/* |
int |
int f_visible, |
f_count, |
f_first, |
f_current; |
*/ |
int f_visible, |
int but_num, |
count, |
za_kadrom, |
curbtn; |
45,8 → 45,7 |
show_dev_name=1, |
sort_num=2, |
isdir; |
unsigned char |
path[4096], |
char path[4096], |
edit_path[4096], |
file_path[4096], |
file_name[4096], |
80,7 → 79,7 |
#include "include\sorting.h" |
#include "include\icons_f.h" |
#include "include\ini.h" |
#include "include\left_panel.h" |
#include "include\devices.h" |
#include "include\history.h" |
void main() |
133,7 → 132,7 |
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>onTop(22,0)+1) && (m.y<onTop(22,0)+16) |
{ |
IF (m.lkm==1) DrawRegion_3D(onLeft(26,0),onTop(21,0),14,14,0xC7C7C7,0xFFFFFF); |
while (m.lkm==1) && (za_kadrom<count-f_visible) |
while (m.lkm==1) && (za_kadrom<count-but_num) |
{ |
Pause(10); |
za_kadrom++; |
147,18 → 146,18 |
IF (m.vert==65535) && (za_kadrom>0) |
{ |
if (za_kadrom>0) za_kadrom--; |
if (curbtn<f_visible-1) curbtn++; |
if (curbtn<but_num-1) curbtn++; |
List_ReDraw(); |
if (za_kadrom>0) za_kadrom--; |
if (curbtn<f_visible-1) curbtn++; |
if (curbtn<but_num-1) curbtn++; |
List_ReDraw(); |
} |
IF (m.vert==1) && (za_kadrom<count-f_visible) |
IF (m.vert==1) && (za_kadrom<count-but_num) |
{ |
if (za_kadrom<count-f_visible) za_kadrom++; |
if (za_kadrom<count-but_num) za_kadrom++; |
if (curbtn>0) curbtn--; |
List_ReDraw(); |
if (za_kadrom<count-f_visible) za_kadrom++; |
if (za_kadrom<count-but_num) za_kadrom++; |
if (curbtn>0) curbtn--; |
List_ReDraw(); |
} |
173,7 → 172,7 |
j= scroll_size/2; |
za_kadrom = m.y -j -57 * count; |
za_kadrom /= onTop(22,57); |
IF (f_visible+za_kadrom>count) za_kadrom=count-f_visible; |
IF (but_num+za_kadrom>count) za_kadrom=count-but_num; |
IF (id<>za_kadrom) List_ReDraw(); //÷òîá ëèøíèé ðàç íå ïåðåðèñîâûâàòü |
} |
break; |
361,15 → 360,15 |
List_ReDraw(); |
break; |
case 181: //end |
za_kadrom=count-f_visible; |
curbtn=f_visible-1; |
za_kadrom=count-but_num; |
curbtn=but_num-1; |
List_ReDraw(); |
break; |
case 183: //Page Down |
FileList_ReDraw(f_visible-1); |
FileList_ReDraw(but_num-1); |
break; |
case 184: //Page Up |
FileList_ReDraw(-f_visible+1); |
FileList_ReDraw(-but_num+1); |
break; |
case 051: //Íàæàòà F2 |
REN_MARK: |
487,8 → 486,8 |
} |
else //âíèç |
{ |
IF (za_kadrom==count-f_visible) && (curbtn==f_visible-1) return; |
IF (f_visible-curbtn>curbtn_) |
IF (za_kadrom==count-but_num) && (curbtn==but_num-1) return; |
IF (but_num-curbtn>curbtn_) |
{ |
Line_ReDraw(0xFFFFFF, curbtn); //áåëàÿ ïîëîñà |
curbtn+=curbtn_; |
499,18 → 498,18 |
{ |
IF(za_kadrom+curbtn+curbtn_>=count) |
{ |
za_kadrom=count-f_visible; |
za_kadrom=count-but_num; |
curbtn=curbtn_-za_kadrom+curbtn; |
} |
ELSE |
{ |
za_kadrom+=curbtn_+curbtn-f_visible+1; |
curbtn=f_visible-1; |
za_kadrom+=curbtn_+curbtn-but_num+1; |
curbtn=but_num-1; |
} |
IF (curbtn<0) || (curbtn>f_visible) |
IF (curbtn<0) || (curbtn>but_num) |
{ |
curbtn=f_visible-1; |
curbtn=but_num-1; |
} |
List_ReDraw(); |
} |
522,11 → 521,11 |
void List_ReDraw() |
{ |
int paint_x=f_visible*BUTTON_HEIGHT+57; |
IF (count-za_kadrom<f_visible) || (curbtn>f_visible-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè |
{ za_kadrom=count-f_visible; curbtn=f_visible-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì |
int paint_x=but_num*BUTTON_HEIGHT+57; |
IF (count-za_kadrom<but_num) || (curbtn>but_num-1) //åñëè ìû â êîíöå ñïèñêà ôàéëîâ ðàçâåðí¸ì îêíî ïîÿâÿòüñÿ ïóñòÿå áåëûå êíîïêè |
{ za_kadrom=count-but_num; curbtn=but_num-1; } //ýòî åñëè âûäåëåíèå ïîñëå ñõëîïûâàíèÿ îêíà çà êàäðîì |
FOR (j=0; j<f_visible; j++) IF (curbtn<>j) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(selection_col, curbtn); |
FOR (j=0; j<but_num; j++) IF (curbtn<>j) Line_ReDraw(0xFFFFFF, j); ELSE Line_ReDraw(selection_col, curbtn); |
DrawBar(192,paint_x,onLeft(27,192),onTop(paint_x,6),0xFFFFFF); //çàëèâêà áåëûì äîêîíöà |
DrawBar(onLeft(168,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
DrawBar(onLeft(95,0),paint_x,1,onTop(paint_x,6),0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
613,9 → 612,9 |
KEdit(); |
HistoryPath(ADD_NEW_PATH); |
IF (!strcmp(".",buf+72)) {count--; memmov(buf,buf+304,count*304);} //ôèëüòðóåì ýëåìåíò "." |
FOR (j=0;j<f_visible;j++) DeleteButton(201+j); //óäàëÿåì ñòàðûå |
f_visible=onTop(6,57)/BUTTON_HEIGHT; |
IF (count<f_visible) f_visible=count; |
FOR (j=0;j<but_num;j++) DeleteButton(201+j); //óäàëÿåì ñòàðûå |
but_num=onTop(6,57)/BUTTON_HEIGHT; |
IF (count<but_num) but_num=count; |
//ñòðåëî÷êà ñîðòèðîâêè |
IF (sort_num==1) WriteText(Form.width+60/2,45,0x80,0x4E78AC,"\x19",0); |
IF (sort_num==2) WriteText(Form.width-115,45,0x80,0x4E78AC,"\x19",0); |
623,7 → 622,7 |
IF (redraw<>ONLY_SHOW) Sorting(); //äëÿ áîëüøèõ ïàïîê ïðè ðåïåèíòå îêíà |
IF (redraw<>ONLY_OPEN) List_ReDraw(); |
} |
IF (count==-1) && (redraw<>ONLY_OPEN) {f_visible=count=0; List_ReDraw();} |
IF (count==-1) && (redraw<>ONLY_OPEN) {but_num=count=0; List_ReDraw();} |
} |
/programs/fs/Eolite/trunk/include/left_panel.h |
---|
File deleted |
/programs/fs/Eolite/trunk/include/about_dialog.h |
---|
38,7 → 38,7 |
DefineAndDrawWindow(600,150,181,256,0x34,0x10EFEBEF,"About Eolite"); |
DrawBar(0,0,172,50,0x8494C4); //ãîëóáîå ñçàäè |
PutPaletteImage(#logo,85,85,43,7,#logo_pal); |
WriteText(46,100,0x90,0xBF40BF,"Eolite v1.41",0); |
WriteText(49,100,0x90,0xBF40BF,"Eolite v1.4",0); |
$add ebx, 1<<16 |
$int 0x40 |
WriteText(55,120,0x80,0,"Developers:",0); |
/programs/fs/Eolite/trunk/include/devices.h |
---|
0,0 → 1,158 |
void Tip(int y, dword caption, id, arrow) |
{ |
DrawBar(17,y,160,1,0xEFEDEE); |
DrawBar(17,y+1,160,16,0xE4DFE1); //ñåðîå ñâåðõó |
WriteText(25,y+5,0x80,0,caption,0); |
IF (id<>0) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0xE4DFE1); //êíîïà äëÿ ñòðåëêè |
WriteText(165,y+5,0x80,0,arrow,0); //ñòðåëêà âíèç |
DrawBar(17,y+17,160,1,0x94AECE); //ïîä÷¸ðêèâàíèå |
} |
path_string disk_list[20]; |
int disc_num; |
dword devbuf; |
void GetSystemDiscs() |
{ |
unsigned char dev_name[10], sys_discs[10]; |
unsigned int i1, j1, dev_num, dev_disc_num; |
disc_num=0; |
if (devbuf) free(devbuf); |
devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè |
ReadDir(19, devbuf, "/"); |
dev_num = EBX; |
for (i1=0; i1<dev_num; i1++) |
{ |
copystr("/", #dev_name); // / |
copystr(i1*304+ devbuf+72, #dev_name+strlen(#dev_name)); // /rd |
copystr("/", #dev_name+strlen(#dev_name)); // /rd/ |
Open_Dir(#dev_name, ONLY_OPEN); |
dev_disc_num = count; |
//if (count<=0) copystr(#dev_name,#disk_list[disc_num].Item); else |
for (j1=0; j1<dev_disc_num; j1++;) |
{ |
copystr(#dev_name, #sys_discs); // /rd/ |
copystr(j1*304+ buf+72, #sys_discs+strlen(#sys_discs)); // /rd/1 |
copystr("/", #sys_discs+strlen(#sys_discs)); // /rd/1/ |
copystr(#sys_discs,#disk_list[disc_num].Item); |
disc_num++; |
} |
} |
} |
void DrawSystemDiscs() |
{ |
byte disc_icon; |
char dev_name[10]; |
char disc_name[100]; |
int i, dev_icon; |
for (i=0; i<20; i++) DeleteButton(i); |
//ñïèñîê äèñêîâ |
Tip(56, "Devices", 78, "="); |
for (i=0;i<disc_num;i++) |
{ |
DrawBar(17,i*16+74,160,17,0xFFFFFF); //ôîí |
DefineButton(17,i*16+74,159,16,100+i+BT_HIDE,0xFFFFFF); //ñîçäà¸ì êíîïêè, à ïîòîì âûâîäèì íàçâàíèÿ äèñêîâ |
strcpy(#dev_name, #disk_list[i].Item); |
dev_name[strlen(#dev_name)-1]=NULL; |
switch(dev_name[1]) |
{ |
case 'r': |
dev_icon=0; |
strcpy(#disc_name, "RAM disk "); |
break; |
case 'c': |
dev_icon=1; |
strcpy(#disc_name, "CD-ROM "); |
break; |
case 'f': |
dev_icon=2; |
strcpy(#disc_name, "Floppy disk "); |
break; |
case 'h': |
case 'b': |
dev_icon=3; |
strcpy(#disc_name, "Hard disk "); |
break; |
case 't': |
dev_icon=4; |
strcpy(#disc_name, "RAM disk "); |
DefineButton(17+143,i*16+74,16,16,i+130+BT_HIDE+BT_NOFRAME,0xFFFFFF); |
WriteText(45+121,i*16+79,0x80,0xD63535,"-",0); |
WriteText(45+121,i*16+79+1,0x80,0xBC2424,"-",0); |
break; |
default: |
dev_icon=3; //ïî-óìîë÷àíèþ óñòðîéñòâî âûãëÿäèò êàê æåñòÿê íî ýòî íåïðàâèëüíî |
strcpy(#disc_name, "Unknown "); |
} |
strcat(#disc_name, #dev_name); |
if (show_dev_name) WriteText(45,i*16+79,0x80,0,#disc_name,0); |
else WriteText(45,i*16+79,0x80,0,#dev_name,0); |
PutImage(dev_icon*14*13*3+#devices,14,13,21,i*16+76); |
} |
} |
void Actions() |
{ |
int actions_y=disc_num*16; |
DeleteButton(80); |
DeleteButton(81); |
DeleteButton(82); |
if (!show_actions) |
Tip(actions_y+90, "Actions", 77, "\x18"); |
else |
{ |
Tip(actions_y+90, "Actions", 77, "\x19"); //çàãîëîâîê |
DrawBar(17,actions_y+108,160,51,0xFFFFFF); //áåëîå |
PutImage(#factions,16,44,21,actions_y+113); //èêîíêè |
//rename file |
DefineButton(17,actions_y+108,159,16,80+BT_HIDE,0xE4DFE1); |
WriteText(42,actions_y+113,0x80,0,"Rename file",0); |
WriteText(150,actions_y+113,0x80,0x999999,"[F2]",0); |
//delete file |
DefineButton(17,actions_y+125,159,16,81+BT_HIDE,0xE4DFE1); |
WriteText(42,actions_y+130,0x80,0,"Delete file",0); |
WriteText(144,actions_y+130,0x80,0x999999,"[Del]",0); |
//create folder |
DefineButton(17,actions_y+142,159,16,82+BT_HIDE,0xE4DFE1); |
WriteText(42,actions_y+147,0x80,0,"Create folder",0); |
WriteText(150,actions_y+147,0x80,0x999999,"[F6]",0); |
} |
} |
void LeftPanelBackground() |
{ |
int actions_y=disc_num*16; |
int start_y = show_actions*51+actions_y+108; |
DrawBar(2,41,190,15,lpanel_col); //ñèíèé ïðÿìîóãîëüíèê - íàä äåâàéñàìè |
DrawBar(17,actions_y+75,160,15,lpanel_col); //ñèíèé ïðÿìîóãîëüíèê - ïîä äåâàéñàìè |
DrawBar(2,56,15,actions_y+103,lpanel_col); //ñèíèé ïðÿìîóãîëüíèê - ñëåâà |
DrawBar(177,56,15,actions_y+103,lpanel_col); //ñèíèé ïðÿìîóãîëüíèê - ñïðàâà |
if (onTop(start_y, 6) < 268) |
PutPaletteImage(#blue_hl, 190, onTop(start_y, 6), 2, start_y, #blue_hl_pal); |
else |
{ |
DrawBar(2,start_y,190,onTop(start_y,6+268),lpanel_col); |
PutPaletteImage(#blue_hl, 190, 268, 2, onTop(268,6), #blue_hl_pal); |
if (onTop(268,6)>300) PutPaletteImage(#blue_hl, 190, 87, 2, start_y+100, #blue_hl_pal); |
} |
} |
void DrawLeftPanel() |
{ |
DrawSystemDiscs(); |
Actions(); |
LeftPanelBackground(); |
} |
/programs/fs/Eolite/trunk/include/some_code.h |
---|
29,9 → 29,9 |
dword on_y; |
if (count<=0) {DrawFlatButton(onLeft(27,0),57,16,onTop(22,58),0,0xE4DFE1,""); return;} |
on_y = za_kadrom * onTop(22,57) / count +57; |
scroll_size=onTop(22,57) * f_visible - f_visible / count; |
scroll_size=onTop(22,57) * but_num - but_num / count; |
if (scroll_size<20) scroll_size = 20; //óñòàíàâëèâàåì ìèíèìàëüíûé ðàçìåð ñêðîëëà |
if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //äëÿ áîëüøîãî ñïèñêà |
if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+but_num>=count) on_y=onTop(23+scroll_size,0); //äëÿ áîëüøîãî ñïèñêà |
DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,0xE4DFE1,"");//ïîëçóíîê |
DrawBar(onLeft(26,0),57,15,on_y-57,0xCED0D0);//ïîëå äî ïîëçóíêà |
DrawBar(onLeft(26,0),on_y+scroll_size+1,15,onTop(22,57)-scroll_size-on_y+56,0xCED0D0); //ïîëå ïîñëå ïîëçóíêà |