forked from KolibriOS/kolibrios
Eolite 2.50: better code, a little bit faster and smaller
git-svn-id: svn://kolibrios.org@5441 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
595abd6a2b
commit
f6f01fd6de
@ -83,8 +83,8 @@
|
|||||||
|
|
||||||
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
enum {ONLY_SHOW, WITH_REDRAW, ONLY_OPEN}; //OpenDir
|
||||||
|
|
||||||
#define TITLE "Eolite File Manager v2.49"
|
#define TITLE "Eolite File Manager v2.50"
|
||||||
#define ABOUT_TITLE "Eolite v2.49"
|
#define ABOUT_TITLE "Eolite v2.50"
|
||||||
dword col_padding, col_selec, col_lpanel;
|
dword col_padding, col_selec, col_lpanel;
|
||||||
|
|
||||||
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
int toolbar_buttons_x[7]={9,46,85,134,167,203};
|
||||||
@ -113,6 +113,8 @@ byte
|
|||||||
sort_num=2,
|
sort_num=2,
|
||||||
itdir;
|
itdir;
|
||||||
|
|
||||||
|
dword eolite_ini_path;
|
||||||
|
|
||||||
proc_info Form;
|
proc_info Form;
|
||||||
system_colors sc;
|
system_colors sc;
|
||||||
mouse m;
|
mouse m;
|
||||||
@ -142,15 +144,15 @@ void main()
|
|||||||
{
|
{
|
||||||
word key, id, can_show, can_select, m_selected;
|
word key, id, can_show, can_select, m_selected;
|
||||||
dword selected_offset;
|
dword selected_offset;
|
||||||
randomize();
|
|
||||||
rand_n = random(40);
|
rand_n = random(40);
|
||||||
|
|
||||||
files.line_h=18;
|
files.line_h=18;
|
||||||
mem_Init();
|
mem_Init();
|
||||||
if (load_dll2(boxlib, #box_lib_init,0)!=0) notify(ERROR_1);
|
if (load_dll2(boxlib, #box_lib_init,0)!=0) notify(ERROR_1);
|
||||||
if (load_dll2(libini, #lib_init,1)!=0) notify("Error: library doesn't exists - libini");
|
if (load_dll2(libini, #lib_init,1)!=0) notify("Error: library doesn't exists - libini");
|
||||||
SystemDiscsGet();
|
eolite_ini_path = abspath("Eolite.ini");
|
||||||
GetIni();
|
LoadIniSettings();
|
||||||
|
GetSystemDiscs();
|
||||||
SetAppColors();
|
SetAppColors();
|
||||||
if (param)
|
if (param)
|
||||||
{
|
{
|
||||||
@ -226,7 +228,7 @@ void main()
|
|||||||
|
|
||||||
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<files.y)
|
if (m.x>=Form.width-26) && (m.x<=Form.width-6) && (m.y>40) && (m.y<files.y)
|
||||||
{
|
{
|
||||||
IF (m.lkm==1) DrawRectangle3D(onLeft(26,0),41,14,14,0xC7C7C7,0xFFFFFF);
|
IF (m.lkm==1) DrawRectangle3D(Form.cwidth - 17,41,14,14,0xC7C7C7,0xFFFFFF);
|
||||||
WHILE (m.lkm==1) && (files.first>0)
|
WHILE (m.lkm==1) && (files.first>0)
|
||||||
{
|
{
|
||||||
pause(8);
|
pause(8);
|
||||||
@ -234,12 +236,12 @@ void main()
|
|||||||
List_ReDraw();
|
List_ReDraw();
|
||||||
m.get();
|
m.get();
|
||||||
}
|
}
|
||||||
DrawRectangle3D(onLeft(26,0),41,14,14,0xFFFFFF,0xC7C7C7);
|
DrawRectangle3D(Form.cwidth - 17,41,14,14,0xFFFFFF,0xC7C7C7);
|
||||||
}
|
}
|
||||||
|
|
||||||
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.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) DrawRectangle3D(onLeft(26,0),onTop(21,0),14,14,0xC7C7C7,0xFFFFFF);
|
IF (m.lkm==1) DrawRectangle3D(Form.cwidth - 17,onTop(21,0),14,14,0xC7C7C7,0xFFFFFF);
|
||||||
while (m.lkm==1) && (files.first<files.count-files.visible)
|
while (m.lkm==1) && (files.first<files.count-files.visible)
|
||||||
{
|
{
|
||||||
pause(8);
|
pause(8);
|
||||||
@ -247,7 +249,7 @@ void main()
|
|||||||
List_ReDraw();
|
List_ReDraw();
|
||||||
m.get();
|
m.get();
|
||||||
}
|
}
|
||||||
DrawRectangle3D(onLeft(26,0),onTop(21,0),14,14,0xFFFFFF,0xC7C7C7);
|
DrawRectangle3D(Form.cwidth - 17,onTop(21,0),14,14,0xFFFFFF,0xC7C7C7);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Scrooll
|
//Scrooll
|
||||||
@ -327,7 +329,7 @@ void main()
|
|||||||
tmp_disk_del_param[1] = id - 130 + 48;
|
tmp_disk_del_param[1] = id - 130 + 48;
|
||||||
RunProgram("/sys/tmpdisk", #tmp_disk_del_param);
|
RunProgram("/sys/tmpdisk", #tmp_disk_del_param);
|
||||||
pause(10);
|
pause(10);
|
||||||
SystemDiscsGet();
|
GetSystemDiscs();
|
||||||
Open_Dir(#path,WITH_REDRAW);
|
Open_Dir(#path,WITH_REDRAW);
|
||||||
DrawLeftPanel();
|
DrawLeftPanel();
|
||||||
//m.get();
|
//m.get();
|
||||||
@ -479,7 +481,7 @@ void draw_window()
|
|||||||
DefineAndDrawWindow(GetScreenWidth()-550/4+rand_n,rand_n+30,550,500,0x73,sc.work,TITLE,0);
|
DefineAndDrawWindow(GetScreenWidth()-550/4+rand_n,rand_n+30,550,500,0x73,sc.work,TITLE,0);
|
||||||
GetProcessInfo(#Form, SelfInfo);
|
GetProcessInfo(#Form, SelfInfo);
|
||||||
if (Form.status_window>2) return;
|
if (Form.status_window>2) return;
|
||||||
files.SetSizes(192, 57, onLeft(192,27), onTop(57,6), disc_num*16+195,files.line_h);
|
files.SetSizes(192, 57, Form.cwidth - 210, onTop(57,6), disc_num*16+195,files.line_h);
|
||||||
if (Form.height < files.min_h) MoveSize(OLD,OLD,OLD,files.min_h);
|
if (Form.height < files.min_h) MoveSize(OLD,OLD,OLD,files.min_h);
|
||||||
if (Form.width<480) MoveSize(OLD,OLD,480,OLD);
|
if (Form.width<480) MoveSize(OLD,OLD,480,OLD);
|
||||||
GetProcessInfo(#Form, SelfInfo); //if win_size changed
|
GetProcessInfo(#Form, SelfInfo); //if win_size changed
|
||||||
@ -488,10 +490,10 @@ void draw_window()
|
|||||||
DrawBar(127, 8, 1, 25, sc.work_graph);
|
DrawBar(127, 8, 1, 25, sc.work_graph);
|
||||||
for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,sc.work);
|
for (j=0; j<3; j++) DefineButton(toolbar_buttons_x[j]+2,5+2,31-5,29-5,21+j+BT_HIDE,sc.work);
|
||||||
for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,sc.work);
|
for (j=3; j<6; j++) DefineButton(toolbar_buttons_x[j],5,31,29,21+j+BT_HIDE,sc.work);
|
||||||
DrawBar(246,0,onLeft(246,60),12, sc.work); //upper editbox
|
DrawBar(246,0,Form.cwidth - 297,12, sc.work); //upper editbox
|
||||||
DrawBar(246,29,onLeft(246,60),5,sc.work); //under editbox
|
DrawBar(246,29,Form.cwidth - 297,5,sc.work); //under editbox
|
||||||
DrawRectangle(246,12,onLeft(66,246),16,sc.work_graph);
|
DrawRectangle(246,12,Form.cwidth - 303,16,sc.work_graph);
|
||||||
DefineButton(onLeft(34,0),6,27,28,51+BT_HIDE+BT_NOFRAME,0); //about
|
DefineButton(Form.cwidth - 25,6,27,28,51+BT_HIDE+BT_NOFRAME,0); //about
|
||||||
PutPaletteImage(#goto_about,56,34,Form.width-65,0,8,#goto_about_pal);
|
PutPaletteImage(#goto_about,56,34,Form.width-65,0,8,#goto_about_pal);
|
||||||
//main rectangles
|
//main rectangles
|
||||||
DrawRectangle(1,40,Form.cwidth-3,onTop(46,0),sc.work_graph);
|
DrawRectangle(1,40,Form.cwidth-3,onTop(46,0),sc.work_graph);
|
||||||
@ -499,9 +501,9 @@ void draw_window()
|
|||||||
for (i=0; i<5; i++) DrawBar(0, 34+i, Form.cwidth, 1, col_palette[8-i]);
|
for (i=0; i<5; i++) DrawBar(0, 34+i, Form.cwidth, 1, col_palette[8-i]);
|
||||||
DrawLeftPanel();
|
DrawLeftPanel();
|
||||||
//ListBox
|
//ListBox
|
||||||
DrawFlatButton(files.x,40,onLeft(files.x,168),16,31,sc.work,T_FILE);
|
DrawFlatButton(files.x,40,Form.cwidth + files.x - 159,16,31,sc.work,T_FILE);
|
||||||
DrawFlatButton(onLeft(168,0),40,73,16,32,sc.work,T_TYPE);
|
DrawFlatButton(Form.cwidth + 159,40,73,16,32,sc.work,T_TYPE);
|
||||||
DrawFlatButton(onLeft(95,0),40,68,16,33,sc.work,T_SIZE);
|
DrawFlatButton(Form.cwidth + 96,40,68,16,33,sc.work,T_SIZE);
|
||||||
DrawBar(files.x+files.w,files.y,1,onTop(22,files.y),sc.work_graph); //line to the left from the scroll
|
DrawBar(files.x+files.w,files.y,1,onTop(22,files.y),sc.work_graph); //line to the left from the scroll
|
||||||
DrawFlatButton(files.x+files.w,40,16,16,0,sc.work,"\x18");
|
DrawFlatButton(files.x+files.w,40,16,16,0,sc.work,"\x18");
|
||||||
DrawFlatButton(files.x+files.w,onTop(22,0),16,16,0,sc.work,"\x19");
|
DrawFlatButton(files.x+files.w,onTop(22,0),16,16,0,sc.work,"\x19");
|
||||||
@ -614,7 +616,7 @@ void Line_ReDraw(dword color, filenum){
|
|||||||
if (! TestBit(file.attr, 4) ) //file or folder?
|
if (! TestBit(file.attr, 4) ) //file or folder?
|
||||||
{
|
{
|
||||||
Put_icon(file_name_off+_strrchr(file_name_off,'.'), files.x+3, files.line_h/2-7+y, color, 0);
|
Put_icon(file_name_off+_strrchr(file_name_off,'.'), files.x+3, files.line_h/2-7+y, color, 0);
|
||||||
WriteText(7-strlen(ConvertSize(file.sizelo))*6+onLeft(75,0),files.line_h-6/2+y,0x80,0,ConvertSize(file.sizelo));
|
WriteText(7-strlen(ConvertSize(file.sizelo))*6+Form.cwidth - 76,files.line_h-6/2+y,0x80,0,ConvertSize(file.sizelo));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -957,8 +959,8 @@ void FnProcess(char N)
|
|||||||
Tip(56, T_DEVICES, 55, "-");
|
Tip(56, T_DEVICES, 55, "-");
|
||||||
Open_Dir(#path,WITH_REDRAW);
|
Open_Dir(#path,WITH_REDRAW);
|
||||||
pause(10);
|
pause(10);
|
||||||
GetIni();
|
LoadIniSettings();
|
||||||
SystemDiscsGet();
|
GetSystemDiscs();
|
||||||
Open_Dir(#path,WITH_REDRAW);
|
Open_Dir(#path,WITH_REDRAW);
|
||||||
DrawLeftPanel();
|
DrawLeftPanel();
|
||||||
break;
|
break;
|
||||||
@ -1006,7 +1008,6 @@ void FnProcess(char N)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//need to remove these functiones, they are a very old shit :)
|
//need to remove these functiones, they are a very old shit :)
|
||||||
dword onLeft(dword right,left) {EAX=Form.width-right-left;}
|
|
||||||
dword onTop(dword down,up) {EAX=Form.height-GetSkinHeight()-down-up;}
|
dword onTop(dword down,up) {EAX=Form.height-GetSkinHeight()-down-up;}
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,17 +16,17 @@ inline fastcall void Scroll() { //
|
|||||||
if (scroll_size<20) scroll_size = 20; //устанавливаем минимальный размер скролла
|
if (scroll_size<20) scroll_size = 20; //устанавливаем минимальный размер скролла
|
||||||
if (scroll_size>onTop(22,57)-on_y+56) || (files.first+files.visible>=files.count) on_y=onTop(23+scroll_size,0); //для большого списка
|
if (scroll_size>onTop(22,57)-on_y+56) || (files.first+files.visible>=files.count) on_y=onTop(23+scroll_size,0); //для большого списка
|
||||||
}
|
}
|
||||||
DrawFlatButton(onLeft(27,0),on_y,16,scroll_size,0,-1,"");//ïîëçóíîê
|
DrawFlatButton(Form.cwidth - 18,on_y,16,scroll_size,0,-1,"");//ïîëçóíîê
|
||||||
if (!scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[13-i]);
|
if (!scroll_used) for (i=0; i<13; i++) DrawBar(Form.cwidth - 16 + i, on_y+2, 1, scroll_size-3, col_palette[13-i]);
|
||||||
if (scroll_used) for (i=0; i<13; i++) DrawBar(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]);
|
if (scroll_used) for (i=0; i<13; i++) DrawBar(Form.cwidth - 16 + i, on_y+2, 1, scroll_size-3, col_palette[i]);
|
||||||
//поле до ползунка
|
//поле до ползунка
|
||||||
if (on_y>58) DrawBar(onLeft(26,0),57,15,1, 0xC7C9C9);
|
if (on_y>58) DrawBar(Form.cwidth - 17,57,15,1, 0xC7C9C9);
|
||||||
DrawBar(onLeft(26,0),58,1, on_y-58,0xC7C9C9);
|
DrawBar(Form.cwidth - 17,58,1, on_y-58,0xC7C9C9);
|
||||||
DrawBar(onLeft(25,0),58,14,on_y-58,0xCED0D0);
|
DrawBar(Form.cwidth - 16,58,14,on_y-58,0xCED0D0);
|
||||||
//поле после ползунка
|
//поле после ползунка
|
||||||
if (onTop(22,57)-scroll_size+55>on_y) DrawBar(onLeft(26,0),on_y+scroll_size+1,15,1,0xC7C9C9);
|
if (onTop(22,57)-scroll_size+55>on_y) DrawBar(Form.cwidth - 17,on_y+scroll_size+1,15,1,0xC7C9C9);
|
||||||
DrawBar(onLeft(26,0),on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9);
|
DrawBar(Form.cwidth - 17,on_y+scroll_size+2,1,onTop(22,57)-scroll_size-on_y+55,0xC7C9C9);
|
||||||
DrawBar(onLeft(25,0),on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0);
|
DrawBar(Form.cwidth - 16,on_y+scroll_size+2,14,onTop(22,57)-scroll_size-on_y+55,0xCED0D0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DrawFlatButton(dword x,y,width,height,id,color,text)
|
void DrawFlatButton(dword x,y,width,height,id,color,text)
|
||||||
|
@ -47,7 +47,7 @@ int disc_num;
|
|||||||
dword devbuf;
|
dword devbuf;
|
||||||
|
|
||||||
|
|
||||||
void SystemDiscsGet()
|
void GetSystemDiscs()
|
||||||
{
|
{
|
||||||
char dev_name[10], sys_discs[10];
|
char dev_name[10], sys_discs[10];
|
||||||
int i1, j1, dev_num, dev_disc_num;
|
int i1, j1, dev_num, dev_disc_num;
|
||||||
@ -85,7 +85,7 @@ void SystemDiscsGet()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SystemDiscsDraw()
|
void DrawSystemDiscs()
|
||||||
{
|
{
|
||||||
char dev_name[15], disc_name[100];
|
char dev_name[15], disc_name[100];
|
||||||
int i, dev_icon;
|
int i, dev_icon;
|
||||||
@ -161,7 +161,7 @@ void ActionsDraw()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LeftPanelBgDraw()
|
void DrawLeftPanelBg()
|
||||||
{
|
{
|
||||||
int actions_y=disc_num*16;
|
int actions_y=disc_num*16;
|
||||||
int start_y = actions_y+156;
|
int start_y = actions_y+156;
|
||||||
@ -185,7 +185,7 @@ void LeftPanelBgDraw()
|
|||||||
|
|
||||||
void DrawLeftPanel()
|
void DrawLeftPanel()
|
||||||
{
|
{
|
||||||
SystemDiscsDraw();
|
DrawSystemDiscs();
|
||||||
ActionsDraw();
|
ActionsDraw();
|
||||||
LeftPanelBgDraw();
|
DrawLeftPanelBg();
|
||||||
}
|
}
|
||||||
|
@ -31,7 +31,6 @@ void settings_dialog()
|
|||||||
byte id;
|
byte id;
|
||||||
unsigned int key;
|
unsigned int key;
|
||||||
proc_info settings_form;
|
proc_info settings_form;
|
||||||
dword eolite_ini_path = abspath("Eolite.ini");
|
|
||||||
|
|
||||||
if (active_about) ExitProcess();
|
if (active_about) ExitProcess();
|
||||||
active_about=1;
|
active_about=1;
|
||||||
@ -46,11 +45,7 @@ void settings_dialog()
|
|||||||
id=GetButtonID();
|
id=GetButtonID();
|
||||||
if (id==10)
|
if (id==10)
|
||||||
{
|
{
|
||||||
if ( asm test ShowDeviceName_chb.flags, 2) ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 1);
|
SaveIniSettings();
|
||||||
ELSE ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", 0);
|
|
||||||
if ( asm test RealFileNamesCase_chb.flags, 2) ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 1);
|
|
||||||
ELSE ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", 0);
|
|
||||||
if (LineHeight_ed.size) ini_set_int stdcall (eolite_ini_path, "Config", "LineHeight", atoi(#lineh_s));
|
|
||||||
active_about=0;
|
active_about=0;
|
||||||
action_buf = 300;
|
action_buf = 300;
|
||||||
ExitProcess();
|
ExitProcess();
|
||||||
@ -109,9 +104,8 @@ void settings_dialog()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void GetIni()
|
void LoadIniSettings()
|
||||||
{
|
{
|
||||||
dword eolite_ini_path = abspath("Eolite.ini");
|
|
||||||
ini_get_color stdcall (eolite_ini_path, "Config", "SelectionColor", 0x94AECE);
|
ini_get_color stdcall (eolite_ini_path, "Config", "SelectionColor", 0x94AECE);
|
||||||
edit2.shift_color = EAX;
|
edit2.shift_color = EAX;
|
||||||
col_selec = EAX;
|
col_selec = EAX;
|
||||||
@ -123,6 +117,16 @@ void GetIni()
|
|||||||
real_files_names_case = EAX;
|
real_files_names_case = EAX;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SaveIniSettings()
|
||||||
|
{
|
||||||
|
if (ShowDeviceName_chb.flags==6) show_dev_name=1; else show_dev_name=0;
|
||||||
|
if (RealFileNamesCase_chb.flags==6) real_files_names_case=1; else real_files_names_case=0;
|
||||||
|
ini_set_int stdcall (eolite_ini_path, "Config", "ShowDeviceName", show_dev_name);
|
||||||
|
ini_set_int stdcall (eolite_ini_path, "Config", "RealFileNamesCase", real_files_names_case);
|
||||||
|
ini_set_int stdcall (eolite_ini_path, "Config", "LineHeight", atoi(#lineh_s));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void Write_Error(int error_number)
|
void Write_Error(int error_number)
|
||||||
{
|
{
|
||||||
@ -147,11 +151,4 @@ void SetAppColors()
|
|||||||
col_padding = 0xC8C9C9;
|
col_padding = 0xC8C9C9;
|
||||||
//col_selec = 0x94AECE;
|
//col_selec = 0x94AECE;
|
||||||
col_lpanel = 0x00699C;
|
col_lpanel = 0x00699C;
|
||||||
/*
|
|
||||||
sc.get();
|
|
||||||
for (i=0; i<=14; i++) col_palette[i] = sc.work;
|
|
||||||
toolbar_pal[0]= goto_about_pal[0] = sc.work = sc.work;
|
|
||||||
col_lpanel = sc.work_graph;
|
|
||||||
for (i=0; i<=99; i++) blue_hl_pal[i] = sc.work_graph;
|
|
||||||
*/
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user