forked from KolibriOS/kolibrios
Eolite 0.98.9b, Eolite.ini gets from programs folder or then from /rd/1/File managers/
git-svn-id: svn://kolibrios.org@2054 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
03699fe762
commit
feeaab087e
@ -13,10 +13,6 @@
|
|||||||
#include "imgs\toolbar.txt"
|
#include "imgs\toolbar.txt"
|
||||||
#include "imgs\left_p.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 title "Eolite File Manager v0.98.9"
|
||||||
@ -59,16 +55,54 @@ dword devbuf, dev_num;
|
|||||||
#include "include\ini.h--"
|
#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()
|
void main()
|
||||||
word key, id;
|
word key, id;
|
||||||
mouse m;
|
mouse m;
|
||||||
int pressed_y;
|
int pressed_y;
|
||||||
{
|
{
|
||||||
GetIni(1);
|
GetIni(1);
|
||||||
|
//
|
||||||
load_editbox_lib();
|
load_editbox_lib();
|
||||||
devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
|
devbuf= malloc(3112); //áóôåð ãäå-òî íà 10 äåâàéñîâ â ëåâîé ïàíåëè
|
||||||
ReadDir(10, devbuf, "/");
|
ReadDir(10, devbuf, "/");
|
||||||
dev_num=EBX;
|
dev_num=EBX;
|
||||||
|
//
|
||||||
IF (param[0]<>'')
|
IF (param[0]<>'')
|
||||||
{
|
{
|
||||||
copystr(#param,#edit_path);
|
copystr(#param,#edit_path);
|
||||||
@ -236,10 +270,14 @@ int pressed_y;
|
|||||||
FileList_ReDraw(1);
|
FileList_ReDraw(1);
|
||||||
break;
|
break;
|
||||||
case 180: //home
|
case 180: //home
|
||||||
FileList_ReDraw(-za_kadrom-curbtn);
|
za_kadrom=0;
|
||||||
|
curbtn=0;
|
||||||
|
List_ReDraw();
|
||||||
break;
|
break;
|
||||||
case 181: //end
|
case 181: //end
|
||||||
FileList_ReDraw(count-za_kadrom-curbtn+but_num-1);
|
za_kadrom=count-but_num;
|
||||||
|
curbtn=but_num-1;
|
||||||
|
List_ReDraw();
|
||||||
break;
|
break;
|
||||||
case 183: //Page Down
|
case 183: //Page Down
|
||||||
FileList_ReDraw(but_num-1);
|
FileList_ReDraw(but_num-1);
|
||||||
@ -277,7 +315,11 @@ int pressed_y;
|
|||||||
copystr(file_mas[i]*304+buf+72,#temp);
|
copystr(file_mas[i]*304+buf+72,#temp);
|
||||||
AL=DSBYTE[#temp];
|
AL=DSBYTE[#temp];
|
||||||
IF(AL>='A')&&(AL<='Z')DSBYTE[#temp]=AL|0x20;
|
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;
|
BREAK;
|
||||||
@ -291,7 +333,7 @@ int pressed_y;
|
|||||||
inline fastcall void draw_window()
|
inline fastcall void draw_window()
|
||||||
{
|
{
|
||||||
WindowRedrawStatus(1);
|
WindowRedrawStatus(1);
|
||||||
DefineAndDrawWindow(100,100,600,410,0x73,0x10E4DFE1,0,0,title);
|
DefineAndDrawWindow(98,90,560,481,0x73,0x10E4DFE1,0,0,title);
|
||||||
WindowRedrawStatus(2);
|
WindowRedrawStatus(2);
|
||||||
Form.GetInfo(SelfInfo);
|
Form.GetInfo(SelfInfo);
|
||||||
IF (Form.height==GetSkinWidth()+3) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
|
IF (Form.height==GetSkinWidth()+3) return; //íè÷åãî íå äåëàòü åñëè îêíî ñõëîïíóòî â çàãîëîâîê
|
||||||
@ -375,23 +417,38 @@ void FileList_ReDraw(int curbtn_)
|
|||||||
Line_ReDraw(videlenie, curbtn); //âûäåëåíèå
|
Line_ReDraw(videlenie, curbtn); //âûäåëåíèå
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//WriteDebug(IntToStr(curbtn)); =0
|
else
|
||||||
//WriteDebug(IntToStr(za_kadrom)); =0
|
|
||||||
//WriteDebug(IntToStr(count)); =41
|
|
||||||
ELSE
|
|
||||||
{
|
{
|
||||||
IF(but_num+za_kadrom+curbtn_>=count) //18+0+33>=41
|
IF(but_num+za_kadrom+curbtn_>=count) //18+0+33>=41
|
||||||
{
|
{
|
||||||
za_kadrom=count-but_num; //41-18=23
|
//WriteDebug("1");
|
||||||
//curbtn=but_num+curbtn_-count; //11=33-18
|
za_kadrom=count-but_num;
|
||||||
|
curbtn=curbtn_-za_kadrom+curbtn;
|
||||||
}
|
}
|
||||||
ELSE
|
ELSE
|
||||||
{
|
{
|
||||||
|
//WriteDebug("2");
|
||||||
za_kadrom+=curbtn_+curbtn-but_num+1;
|
za_kadrom+=curbtn_+curbtn-but_num+1;
|
||||||
//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;
|
||||||
}
|
}
|
||||||
curbtn=but_num-1;
|
|
||||||
List_ReDraw();
|
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 ReName(byte rename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
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()
|
void Actions()
|
||||||
{
|
{
|
||||||
int actions_y=dev_num*16;
|
int actions_y=dev_num*16;
|
||||||
@ -682,15 +708,6 @@ void Actions()
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*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()
|
void Goto_edit_path()
|
||||||
{
|
{
|
||||||
IF (strcmp(#path,#edit_path)==0) return; //ïðîâåðêà íå â ýòîé ëè ìû ïàïêå
|
IF (strcmp(#path,#edit_path)==0) return; //ïðîâåðêà íå â ýòîé ëè ìû ïàïêå
|
||||||
|
@ -6,6 +6,9 @@
|
|||||||
#define PARAM 2
|
#define PARAM 2
|
||||||
#define OPTION 3
|
#define OPTION 3
|
||||||
|
|
||||||
|
char NOTIFY_PATH[7]="@notify";
|
||||||
|
|
||||||
|
|
||||||
void GetIni(byte onload)
|
void GetIni(byte onload)
|
||||||
{
|
{
|
||||||
byte section[32]='', parametr[32]='', option[256]='', InfType=0;
|
byte section[32]='', parametr[32]='', option[256]='', InfType=0;
|
||||||
@ -14,10 +17,13 @@ void GetIni(byte onload)
|
|||||||
dword buff, fsize, tj;
|
dword buff, fsize, tj;
|
||||||
//÷èòàåì ôàéë
|
//÷èòàåì ôàéë
|
||||||
buff = malloc(1048576);
|
buff = malloc(1048576);
|
||||||
ReadFile(0, 1048576, buff, INI_PATH);
|
IF (onload==1) copystr(".ini", #program_path+strlen(#program_path)); //facepalm
|
||||||
IF (EAX<>6) //åñëè ôàéë ñ íàñòðîéêàìè íå íàéäåí
|
ReadFile(0, 1048576, buff, #program_path);
|
||||||
|
IF (EAX<>6) //åñëè ôàéëà ñ íàñòðîéêàìè íåò â ïàïêå ñ ïðîãðàììîé ñìîòðèì â ïàïêå ïî-óìîë÷àíèþ
|
||||||
|
ReadFile(0, 1048576, buff, "/sys/File managers/Eolite.ini");
|
||||||
|
IF (EAX<>6) //åñëè ôàéëà ñ íàñòðîéêàìè òóïî íåò ïå÷àëüêà
|
||||||
{
|
{
|
||||||
IF (onload==1) RunProgram(NOTIFY_PATH, "Eolite.ini not found. Defaults will be used.");
|
IF (onload==1) RunProgram(#NOTIFY_PATH, "Eolite.ini not found. Defaults will be used.");
|
||||||
IF (onload==0) goto RUN_AS_PROGRAM;
|
IF (onload==0) goto RUN_AS_PROGRAM;
|
||||||
}
|
}
|
||||||
fsize=EBX;
|
fsize=EBX;
|
||||||
@ -80,30 +86,30 @@ void Write_Debug_Error(int error_number){
|
|||||||
IF (error_number<0) error_number=-1*error_number;
|
IF (error_number<0) error_number=-1*error_number;
|
||||||
switch (error_number) //èçâåñíàÿ îøèáêà - ïèøåì êàêàÿ è óõîäèì
|
switch (error_number) //èçâåñíàÿ îøèáêà - ïèøåì êàêàÿ è óõîäèì
|
||||||
{
|
{
|
||||||
CASE 2: RunProgram(NOTIFY_PATH, "Eolite: error 2 - Function is not supported for the given file system");
|
CASE 2: RunProgram(#NOTIFY_PATH, "Eolite: error 2 - Function is not supported for the given file system");
|
||||||
return;
|
return;
|
||||||
CASE 3: RunProgram(NOTIFY_PATH, "Eolite: error 3 - Unknown file system");
|
CASE 3: RunProgram(#NOTIFY_PATH, "Eolite: error 3 - Unknown file system");
|
||||||
return;
|
return;
|
||||||
CASE 5: RunProgram(NOTIFY_PATH, "Eolite: error 5 - File or folder not found");
|
CASE 5: RunProgram(#NOTIFY_PATH, "Eolite: error 5 - File or folder not found");
|
||||||
return;
|
return;
|
||||||
CASE 6: RunProgram(NOTIFY_PATH, "Eolite: error 6 - End of file, EOF");
|
CASE 6: RunProgram(#NOTIFY_PATH, "Eolite: error 6 - End of file, EOF");
|
||||||
return;
|
return;
|
||||||
CASE 7: RunProgram(NOTIFY_PATH, "Eolite: error 7 - Pointer lies outside of application memory");
|
CASE 7: RunProgram(#NOTIFY_PATH, "Eolite: error 7 - Pointer lies outside of application memory");
|
||||||
return;
|
return;
|
||||||
case 8: RunProgram(NOTIFY_PATH, "Eolite: error 8 - FAT table is destroyed");
|
case 8: RunProgram(#NOTIFY_PATH, "Eolite: error 8 - FAT table is destroyed");
|
||||||
return;
|
return;
|
||||||
case 9: RunProgram(NOTIFY_PATH, "Eolite: error 9 - FAT table is destroyed");
|
case 9: RunProgram(#NOTIFY_PATH, "Eolite: error 9 - FAT table is destroyed");
|
||||||
RETURN;
|
RETURN;
|
||||||
case 10:RunProgram(NOTIFY_PATH, "Eolite: error 10 - Access denied");
|
case 10:RunProgram(#NOTIFY_PATH, "Eolite: error 10 - Access denied");
|
||||||
RETURN;
|
RETURN;
|
||||||
case 11:RunProgram(NOTIFY_PATH, "Eolite: error 11 - Device error");
|
case 11:RunProgram(#NOTIFY_PATH, "Eolite: error 11 - Device error");
|
||||||
RETURN;
|
RETURN;
|
||||||
case 30:RunProgram(NOTIFY_PATH, "Eolite: error 30 - Not enough memory");
|
case 30:RunProgram(#NOTIFY_PATH, "Eolite: error 30 - Not enough memory");
|
||||||
RETURN;
|
RETURN;
|
||||||
case 31:RunProgram(NOTIFY_PATH, "Eolite: error 31 - File is not executable");
|
case 31:RunProgram(#NOTIFY_PATH, "Eolite: error 31 - File is not executable");
|
||||||
RETURN;
|
RETURN;
|
||||||
case 32:RunProgram(NOTIFY_PATH, "Eolite: error 32 - Too many processes");
|
case 32:RunProgram(#NOTIFY_PATH, "Eolite: error 32 - Too many processes");
|
||||||
RETURN;
|
RETURN;
|
||||||
default:RunProgram(NOTIFY_PATH, "Unknown error number O_o");
|
default:RunProgram(#NOTIFY_PATH, "Unknown error number O_o");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,10 @@ dword final_addr = #stop+32;
|
|||||||
dword alloc_mem = 0x00100000;
|
dword alloc_mem = 0x00100000;
|
||||||
dword x86esp_reg = 0x00100000; // 0x0007fff0;
|
dword x86esp_reg = 0x00100000; // 0x0007fff0;
|
||||||
dword I_Param = #param;
|
dword I_Param = #param;
|
||||||
dword I_Icon = 0x0;
|
dword I_Path = #program_path;
|
||||||
char param[256]="";
|
char param[4096]="";
|
||||||
|
char program_path[4096]="";
|
||||||
|
|
||||||
|
|
||||||
//Events
|
//Events
|
||||||
#define evMouse 6
|
#define evMouse 6
|
||||||
@ -272,7 +274,7 @@ inline fastcall ChangeCase(dword EDX)
|
|||||||
do{
|
do{
|
||||||
EDX++;
|
EDX++;
|
||||||
AL=DSBYTE[EDX];
|
AL=DSBYTE[EDX];
|
||||||
IF(AL>='A')&&(AL<='Z'){DSBYTE[EDX]=AL|0x20; continue;}
|
IF(AL>='A')&&(AL<='Z'){DSBYTE[EDX]=AL|0x20; CONTINUE;}
|
||||||
IF(AL>='€')&&(AL<='<27>')DSBYTE[EDX]=AL|0x20; // -¯
|
IF(AL>='€')&&(AL<='<27>')DSBYTE[EDX]=AL|0x20; // -¯
|
||||||
IF (AL>=144) && (AL<=159) DSBYTE[EDX] = AL + 80; //à-ï
|
IF (AL>=144) && (AL<=159) DSBYTE[EDX] = AL + 80; //à-ï
|
||||||
}while(AL!=0);
|
}while(AL!=0);
|
||||||
|
Loading…
Reference in New Issue
Block a user