Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2819 → Rev 2820

/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);
 
}
}