/programs/fs/Eolite/trunk/Eolite.c-- |
---|
20,7 → 20,7 |
#define ONLY_OPEN 2 |
//ïåðåìåííûå |
#define title "Eolite File Manager v1.25" |
#define title "Eolite File Manager v1.27" |
dword videlenie=0x94AECE; //öâåò âûäåëåííîãî ýëåìåíòà èç ñïèñêà ôàéëîâ |
// |
int but_num, |
494,50 → 494,45 |
} |
//puticon+icon_fairing!!! |
void Line_ReDraw(dword color, filenum){ |
dword text_col=0, temp_int, |
/* //ýòî ÿ ïûòàëñÿ ñäåëàòü âèä êðóïíûìè çíà÷êàìè |
dword text_col=0, temp_int, x, |
max_x=onLeft(28,192)/BUTTON_HEIGHT, |
y=filenum/max_x*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y |
temp_int=filenum/max_x; |
temp_int=temp_int*max_x; |
x=filenum-temp_int*BUTTON_HEIGHT+192; |
*/ |
dword text_col=0, name_len, |
y=filenum*BUTTON_HEIGHT+57; //ïîëîæåíèå òåêñòà ïî Y |
IF (rename_active==1) ReName(false); |
//äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî ïåðåðèñîâêà çàòî ìàëåíüêàÿ |
DefineButton(192,y,onLeft(28,192),BUTTON_HEIGHT,201+filenum+BT_HIDE+BT_NOFRAME,color); //êíîïà |
//äà, ÿ íå ñïîðþ ÷òî èçâðàò, íî çàòî ïåðåðèñîâêè íå âèäíî |
DrawBar(192,y,3,BUTTON_HEIGHT,color); |
DrawBar(192+19,y,onLeft(46,192),BUTTON_HEIGHT,color); DrawBar(195,y+17,16,1,color); |
if (BUTTON_HEIGHT>18) DrawBar(195,y+18,16,BUTTON_HEIGHT-18,color); |
if (BUTTON_HEIGHT>15) DrawBar(195,y,16,BUTTON_HEIGHT-15,color); |
// |
off=file_mas[filenum+za_kadrom]*304 + buf+72; |
if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; |
if (!TestBit(ESDWORD[off-40],4)) |
{ |
copystr(off,#temp); |
temp_int = Put_icon(#temp+find_symbol(#temp,'.'), BUTTON_HEIGHT/2-7+y); |
Put_icon(#temp+find_symbol(#temp,'.'), BUTTON_HEIGHT/2-7+y, color); |
WriteText(7-strlen(ConvertSize(ESDWORD[off-8]))*6+onLeft(75,0),BUTTON_HEIGHT-6/2+y,0x80,0,ConvertSize(ESDWORD[off-8]),0); //size |
} |
ELSE |
IF (!strcmp("..",off)) temp_int=Put_icon("..", BUTTON_HEIGHT/2-7+y); |
ELSE |
temp_int=Put_icon("<DIR>", BUTTON_HEIGHT/2-7+y); |
else |
if (!strcmp("..",off)) |
Put_icon("..", BUTTON_HEIGHT/2-7+y, color); |
else |
Put_icon("<DIR>", BUTTON_HEIGHT/2-7+y, color); |
if (TestBit(ESDWORD[off-40],1)) || (TestBit(ESDWORD[off-40],2)) text_col=0xA6A6B7; //ôàéë ñêðûòûé èëè ñèñòåìíûé? |
if (color<>0xFFFfff) |
{ |
isdir=TestBit(ESDWORD[off-40], 4); |
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)); //ïîëíûé ïóòü ê ôàéëó |
IF (text_col==0xA6A6B7) text_col=0xFFFFFF; |
} |
temp_int = onLeft(215,165)/6; |
IF (strlen(off)<temp_int) temp_int = strlen(off); //äëèííà íàçâàíèÿ ôàéëà |
WriteText(215,BUTTON_HEIGHT-6/2+y,0,text_col,off,temp_int); //èìÿ ôàéëà |
name_len = onLeft(215,165)/6; |
IF (strlen(off)<name_len) name_len = strlen(off); //äëèííà íàçâàíèÿ ôàéëà |
WriteText(215,BUTTON_HEIGHT-6/2+y,0,text_col,off,name_len); //èìÿ ôàéëà |
DrawBar(onLeft(168,0),y,1,BUTTON_HEIGHT,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 1 |
DrawBar(onLeft(95,0),y,1,BUTTON_HEIGHT,0xE4DFE1); //ïîëîñà ñåðàÿ âåðòèêàëüíàÿ 2 |
} |
545,14 → 540,17 |
void Open_Dir(dword temp_, redraw){ |
int errornum; |
byte path_[4096], |
char path_[4096], |
somelen=strlen(temp_)-1; |
//debug("reading directory"); |
//debug(temp_); |
if (redraw<>ONLY_SHOW) |
{ |
copystr(temp_, #path_); |
IF (somelen) path_[somelen]=0x00; |
if (somelen) path_[somelen]=0x00; |
IF (buf) free(buf); |
if (buf) free(buf); |
buf = malloc(32); |
errornum=ReadDir(0, buf, #path_); |
if (errornum<>0) //îøèáêà ïðè ÷òåíèè ïàïêè |
570,6 → 568,7 |
} |
if (count<>-1) |
{ |
//debug("successfully \n"); |
copystr(temp_,#edit_path); |
KEdit(); |
HistoryPath(add_new_path); |
/programs/fs/Eolite/trunk/History.txt |
---|
1,3 → 1,7 |
23.06.12 -- v1.27 |
- áîëåå ïðàâèëüíàÿ ðåàëèçàöèÿ âûâîäà îøèáîê (+çàäåë íà ìóëüòèÿçû÷íîñòü) |
è âûâîäà èêîíêè (+çàäåë íà ïåðåìåùåíèå â ini ôàéë). |
21.06.12 -- v1.25 |
- ðàñïîçíàâàíèå âèðòóàëüíîãî äèñêà; |
- èçìåíåíèÿ â ïðîêðóòêå êîë¸ñèêîì ìûøè; |
53,22 → 57,33 |
18.08.11 -- v0.98.9b RC2 -- 15.9 Êá |
- ïðîãðàììà áåð¸ò ôàéë íàñòðîåê èç ïàïêè, îòêóäà çàïóùåíà. Åñëè îí òàì íå íàéäåí, òî èç ïàïêè ïî-óìîë÷àíèþ /rd/1/File managers/Eolite.ini (for Chaos Constructions-2011, thanks Albom). |
- ïðîãðàììà áåð¸ò ôàéë íàñòðîåê èç ïàïêè, îòêóäà çàïóùåíà. |
Åñëè îí òàì íå íàéäåí, òî èç ïàïêè ïî-óìîë÷àíèþ /rd/1/File managers/Eolite.ini |
(for Chaos Constructions-2011, thanks Albom). |
30.07.11 -- v0.98.9 RC2 -- 15.9 Êá |
- åñëè ôàéë ñ íàñòðîéêàìè (Eolite.ini) íå íàéäåí, òî ïðîãðàììà ëþáåçíî ñîîáùèò îá ýòîì ÷åðåç @notify; |
- åñëè ôàéë ñ íàñòðîéêàìè (Eolite.ini) íå íàéäåí, òî ïðîãðàììà ëþáåçíî |
ñîîáùèò îá ýòîì ÷åðåç @notify; |
- òåïåðü îòîáðàæàåò ñåðûì íå òîëüêî ñèñòåìíûå, íî è ñêðûòûå ôàéëû; |
- ïðåäâàðèòåëüíûé ïðîñìîòð óäàë¸í çà íåíàäîáíîñòüþ; |
- kolibrios.org òåïåðü ññûëêà â îêíå "Î ïðîãðàììå" (õîòÿ htmlv ïîêà ÷òî íå óìååò îòêðûâàòü èíòåðíåò àäðåñà ïðè çàïóñêå); |
- F4 - îòêðûâàåò ôàéë äëÿ hex ïðîñìîòðà è ðåäàêòèðîâàíèÿ (õîòÿ heed ïîêà ÷òî íå ïîääåðæèâàåò ðàáîòó ñ ïàðàìåòðàìè...). |
- kolibrios.org òåïåðü ññûëêà â îêíå "Î ïðîãðàììå" (õîòÿ htmlv ïîêà ÷òî |
íå óìååò îòêðûâàòü èíòåðíåò àäðåñà ïðè çàïóñêå); |
- F4 - îòêðûâàåò ôàéë äëÿ hex ïðîñìîòðà è ðåäàêòèðîâàíèÿ (õîòÿ heed ïîêà |
÷òî íå ïîääåðæèâàåò ðàáîòó ñ ïàðàìåòðàìè...). |
20.07.11 -- v0.98.8 RC2 -- 15.9 Êá |
- âûâîä ñîîáùåíèé îá îøèáêàõ ôàéëîâîé ñèñòåìû ÷åðåç @notify. Ïðèòîì íå òîëüêî íîìåð, à åù¸ è ðàçúÿñíåíèÿ ÷òî çà îøèáêà; |
- òåïåðü íîðìàëüíî îïðåäåëÿþòñÿ ðàñøèðåíèÿ ôàéëîâ, à íå òóïî îáðåçàåòñÿ ïîñëåäíèõ 4 ñèìâîëà èìåíè ôàéëà.  ÷àñíîñòè èñïðàâëåí áàã, íàéäåííûé Gluk'îì, êîãäà èêîíêà ïðîãðàììû Zeroconf áûëà êàê ó êîíôèãóðàöèîííîãî ôàéëà ñ ðàñøèðåíèåì ".conf"; |
- Rock_maniak_forever ïîïðàâèë 9 ôóíêöèþ, ñâÿçàííóþ ñ áóôåðîì, ÷òîáû Ýîëàéò íå ïîêàçûâàë ìóñîð âìåñòî ñïèñêà ôàéëîâ; |
- ïðè ñîçäàíèè íîâîé ïàïêè íà ðàçäåëå, ñ ôñ êîòîðîå åãî íå ïîääåðæèâàåò, âûäåëÿëî ïåðâóþ ïàïêó, èñïðàâëåíî (áàã íàø¸ë turbanoff); |
- âûâîä ñîîáùåíèé îá îøèáêàõ ôàéëîâîé ñèñòåìû ÷åðåç @notify. Ïðèòîì íå |
òîëüêî íîìåð, à åù¸ è ðàçúÿñíåíèÿ ÷òî çà îøèáêà; |
- òåïåðü íîðìàëüíî îïðåäåëÿþòñÿ ðàñøèðåíèÿ ôàéëîâ, à íå òóïî îáðåçàåòñÿ |
ïîñëåäíèõ 4 ñèìâîëà èìåíè ôàéëà.  ÷àñíîñòè èñïðàâëåí áàã, |
íàéäåííûé Gluk'îì, êîãäà èêîíêà ïðîãðàììû Zeroconf áûëà êàê |
ó êîíôèãóðàöèîííîãî ôàéëà ñ ðàñøèðåíèåì ".conf"; |
- Rock_maniak_forever ïîïðàâèë 9 ôóíêöèþ, ñâÿçàííóþ ñ áóôåðîì, ÷òîáû Ýîëàéò |
íå ïîêàçûâàë ìóñîð âìåñòî ñïèñêà ôàéëîâ; |
- ïðè ñîçäàíèè íîâîé ïàïêè íà ðàçäåëå, ñ ôñ êîòîðîå åãî íå ïîääåðæèâàåò, |
âûäåëÿëî ïåðâóþ ïàïêó, èñïðàâëåíî (áàã íàø¸ë turbanoff); |
- ïîêàçûâàåòñÿ ñîîáùåíèå ÷òî ïàïêà íå ìîæåò áûòü ñîçäàíà, ôàéë óäàë¸í; |
- íîâûå ïèêòîãðàììû äåéñòâèé (Actions); |
- ìíîãî íîâûõ è îáíîâë¸ííûõ èêîíîê ôàéëîâ. |
/programs/fs/Eolite/trunk/include/about_dialog.h |
---|
37,7 → 37,7 |
DefineAndDrawWindow(600,150,181,256,0x34,0x10EFEBEF,0,0,"About Eolite"); |
DrawBar(0,0,172,50,0x8494C4); //ãîëóáîå ñçàäè |
PutPaletteImage(#logo,85,85,43,7,#logo_pal); |
WriteText(46,100,0x90,0xBF40BF,"Eolite v1.25",0); |
WriteText(46,100,0x90,0xBF40BF,"Eolite v1.27",0); |
$add ebx, 1<<16 |
$int 0x40 |
WriteText(55,120,0x80,0,"Developers:",0); |
/programs/fs/Eolite/trunk/include/icons_f.h |
---|
1,73 → 1,111 |
char *ext[]={ |
"..", 17, |
"<DIR>",16, |
"txt", 1, |
"doc", 1, |
"rtf", 1, |
"odt", 1, |
"log", 1, |
"docx",1, |
"htm", 2, |
"html",2, |
"mht", 2, |
"ini", 3, |
"conf",3, |
"xlt", 4, |
"xls", 4, |
"ods", 4, |
"xlsx",4, |
"cmd", 5, |
"bat", 5, |
"sh", 5, |
"com", 5, |
"kex", 6, |
"exe", 7, |
"msi", 7, |
"sys", 8, |
"ocx", 8, |
"drv", 8, |
"so", 8, |
"inc", 9, |
"chr", 10, |
"mt", 10, |
"ttf", 10, |
"fon", 10, |
"asm", 11, |
"skn", 13, |
"djvu",15, |
"pdf", 15, |
"fb2", 15, |
"nes", 18, |
"smc", 18, |
"img", 21, |
"ima", 21, |
"dll", 22, |
"obj", 22, |
"iso", 24, |
"cue", 24, |
"nrg", 24, |
"mdf", 24, |
"gif", 19, |
"bmp", 19, |
"tga", 19, |
"pcx", 19, |
"png", 19, |
"jpg", 19, |
"xcf", 19, |
"ai", 19, |
"jpeg",19, |
"raw", 19, |
"psd", 19, |
"ico", 20, |
"cur", 20, |
"ani", 20, |
"vox", 20, |
"rar", 23, |
"zip", 23, |
"cab", 23, |
"tar", 23, |
"ajr", 23, |
"jar", 23, |
"7z", 23, |
"gz", 23, |
"mp3", 12, |
"wav", 12, |
"mid", 12, |
"midi",12, |
"ogg", 12, |
"wma", 12, |
"flac",12, |
"avi", 14, |
"flv", 14, |
"mpg", 14, |
"wmv", 14, |
"mov", 14, |
"mkv", 14, |
"mp4", 14, |
"vob", 14, |
0}; |
#include "imgs\icons.txt" |
dword Put_icon(dword extension, yy) |
void Put_icon(dword extension, yy, fairing_color) |
{ |
dword ftype="", fnum=0; //åøè íåèçâåñíûé ôàéë |
int icon_n=0, i; |
IF (!strcmp(extension,"htm")) || (!strcmp(extension,"html")) || |
(!strcmp(extension,"mht")) {fnum = 2; ftype="Web-page";} |
IF (!strcmp(extension,"ini")) || (!strcmp(extension,"conf")) {fnum = 3; ftype="Config";} |
IF (!strcmp(extension,"xlt")) || (!strcmp(extension,"xls")) || |
(!strcmp(extension,"ods")) || (!strcmp(extension,"xlsx")) {fnum = 4; ftype="Table";} |
IF (!strcmp(extension,"cmd")) || (!strcmp(extension,"bat")) || (!strcmp(extension,"sh")) {fnum = 5; ftype="Script";} |
IF (!strcmp(extension,"com")) {fnum = 5; ftype="DOS Exec";} |
IF (!strcmp(extension,"kex")) {fnum = 6; ftype="Program";} |
IF (!strcmp(extension,"exe")) || (!strcmp(extension,"msi")) {fnum = 7; ftype="Win32 Exec";} |
IF (!strcmp(extension,"sys")) || (!strcmp(extension,"ocx")) || |
(!strcmp(extension,"drv")) || (!strcmp(extension,"so")) fnum = 8; |
IF (!strcmp(extension,"inc")) fnum = 9; |
IF (!strcmp(extension,"chr")) || (!strcmp(extension,"mt")) || |
(!strcmp(extension,"ttf")) || (!strcmp(extension,"fon")) {fnum = 10; ftype="Font";} |
IF (!strcmp(extension,"asm")) {fnum = 11; ftype="Source";} |
IF (!strcmp(extension,"skn")) {fnum = 13; ftype="Skin";} |
IF (!strcmp(extension,"djvu")) || (!strcmp(extension,"pdf")) || (!strcmp(extension,"fb2")) {fnum = 15; ftype="Book";} |
IF (!strcmp(extension,"nes")) || (!strcmp(extension,"smc")) {fnum = 18; ftype="Cartridge";} |
IF (!strcmp(extension,"img")) || (!strcmp(extension,"ima")) {fnum = 21; ftype="Image";} |
IF (!strcmp(extension,"dll")) || (!strcmp(extension,"obj")) {fnum = 22; ftype="Library";} |
IF (!strcmp(extension,"iso")) || (!strcmp(extension,"cue")) || |
(!strcmp(extension,"nrg")) || (!strcmp(extension,"mdf")) {fnum = 24; ftype="Disc image";} |
for (i=0; ext[i]<>0; i+=2;) |
if (!strcmp(extension, ext[i])) icon_n = ext[i+1]; |
//text |
IF (!strcmp(extension,"txt")) || (!strcmp(extension,"doc")) || |
(!strcmp(extension,"rtf")) || (!strcmp(extension,"odt")) || |
(!strcmp(extension,"log")) || (!strcmp(extension,"docx")) {fnum = 1; ftype="Text";} |
//èçîáðàæåíèÿ |
IF (!strcmp(extension,"gif")) || (!strcmp(extension,"bmp")) || |
(!strcmp(extension,"tga")) || (!strcmp(extension,"pcx")) || |
(!strcmp(extension,"png")) || (!strcmp(extension,"jpg")) {fnum = 19; ftype="Image";} |
IF (!strcmp(extension,"xcf")) || (!strcmp(extension,"ai")) || |
(!strcmp(extension,"jpeg")) || (!strcmp(extension,"raw")) || |
(!strcmp(extension,"psd")) {fnum = 19; ftype="Image";} |
//ïèêòîãðàììû |
IF (!strcmp(extension,"ico")) {fnum = 20; ftype="Icon";} |
IF (!strcmp(extension,"cur")) || (!strcmp(extension,"ani")) {fnum = 20; ftype="Cursor";} |
//àðõèâû |
IF (!strcmp(extension,"rar")) || (!strcmp(extension,"zip")) || |
(!strcmp(extension,"cab")) || (!strcmp(extension,"tar")) || |
(!strcmp(extension,"ajr")) || (!strcmp(extension,"jar")) || |
(!strcmp(extension,"7z")) ||(!strcmp(extension,"gz")) {fnum = 23; ftype="Archive";} |
//audio |
IF (!strcmp(extension,"mp3")) {fnum = 12; ftype="Music";} |
IF (!strcmp(extension,"wav")) || (!strcmp(extension,"mid")) || |
(!strcmp(extension,"midi")) || (!strcmp(extension,"ogg")) || |
(!strcmp(extension,"wma")) || (!strcmp(extension,"flac")) {fnum = 12; ftype="Audio";} |
//video |
IF (!strcmp(extension,"avi")) || (!strcmp(extension,"flv")) || |
(!strcmp(extension,"mpg")) || (!strcmp(extension,"wmv")) || |
(!strcmp(extension,"mov")) || (!strcmp(extension,"mkv")) || |
(!strcmp(extension,"mp4")) || (!strcmp(extension,"vob")) {fnum = 14; ftype="Video";} |
//ïàïêè |
IF (!strcmp(extension,"<DIR>")) { fnum=16; WriteText(onLeft(145,0),yy+4,0x80,0,extension,0);} |
IF (!strcmp(extension,"..")) fnum=17; |
// |
PutPaletteImage(fnum*16*15+#ficons,16,15,195,yy,#ficons_pal); |
WriteText(onLeft(160,0),yy+4,0x80,0,ftype,0); |
return fnum; |
PutPaletteImage(icon_n*16*15+#ficons,16,15,195,yy,#ficons_pal); |
if (icon_n<>17) && (strlen(extension)<9) WriteText(-strlen(extension)*3+onLeft(168,0)+36,yy+4,0x80,0,extension,0); |
if (fairing_color<>0xFFFfff) IconFairing(icon_n, yy, fairing_color); //çàêðàøèâàåì èêîíêó |
} |
void IconFairing(int filenum, y, color) |
void IconFairing(dword filenum, y, color) |
{ |
switch(filenum) |
{ |
/programs/fs/Eolite/trunk/include/ini.h |
---|
8,6 → 8,26 |
char NOTIFY_PATH[7]="@notify"; |
unsigned char *ERROR_TEXT[]={ |
"Code #0 - No error", |
"Error #1 - Base or partition of a hard disk is not defined", |
"Error #2 - Function isn't supported for this file system", |
"Error #3 - Unknown file system", |
"Error #4 - Reserved, is never returned", |
"Error #5 - File or folder not found", |
"Error #6 - End of file, EOF", |
"Error #7 - Pointer lies outside of application memory", |
"Error #8 - FAT table is destroyed", |
"Error #9 - FAT table is destroyed", |
"Error #10 - Access denied", |
"Error #11 - Device error", |
"", "", "", "", "", "", "", "", "", |
"", "", "", "", "", "", "", "", "", |
"Error #30 - Not enough memory", |
"Error #31 - File is not executable", |
"Error #32 - Too many processes", |
0}; |
void GetIni(byte onload) |
{ |
byte section[32]='', parametr[32]='', option[256]='', InfType=0; |
84,41 → 104,17 |
} |
/////////////////////////////////////////// |
/// íóæíî ÷òîáû ïðîñòî âîçâðàùàëî òåêñò /// |
/////////////////////////////////////////// |
void Write_Error(int error_number) |
{ |
char error[256]; |
if (error_number<0) error_number=-1*error_number; |
switch (error_number) |
if (error_number<33) |
copystr(ERROR_TEXT[error_number], #error); |
else |
{ |
case 2: copystr("Error #2 - Function isn't supported for this file system", #error); |
break; |
case 3: copystr("Error #3 - Unknown file system", #error); |
break; |
case 5: copystr("Error #5 - File or folder not found", #error); |
break; |
case 6: copystr("Error #6 - End of file, EOF", #error); |
break; |
case 7: copystr("Error #7 - Pointer lies outside of application memory", #error); |
break; |
case 8: copystr("Error #8 - FAT table is destroyed", #error); |
break; |
case 9: copystr("Error #9 - FAT table is destroyed", #error); |
break; |
case 10:copystr("Error #10 - Access denied", #error); |
break; |
case 11:copystr("Error #11 - Device error", #error); |
break; |
case 30:copystr("Error #30 - Not enough memory", #error); |
break; |
case 31:copystr("Error #31 - File is not executable", #error); |
break; |
case 32:copystr("Error #32 - Too many processes", #error); |
break; |
default:copystr(IntToStr(error_number), #error); |
copystr(IntToStr(error_number), #error); |
copystr(" - Unknown error number O_o", #error+strlen(#error)); |
} |
if (curbtn>=0) Line_ReDraw(0xFF0000, curbtn); |
126,6 → 122,4 |
RunProgram(#NOTIFY_PATH, #error); |
//DrawBar(192,onTop(0, BUTTON_HEIGHT+7),onLeft(27,192),BUTTON_HEIGHT,0xFF0000); |
//WriteText(205,onTop(-5, BUTTON_HEIGHT+7),0x80,0xFFFFFF,#error,0); |
} |
} |