From dd73e1caef44fa35ebe0d40ae893e5eec02fcde1 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Fri, 16 Nov 2012 21:56:04 +0000 Subject: [PATCH] Eolite 1.4 / CleverMouse sorry for this... :-* ))) git-svn-id: svn://kolibrios.org@3050 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/fs/Eolite/trunk/Eolite.c-- | 80 +++-------------- .../fs/Eolite/trunk/{ => imgs}/blue_hl8.raw | Bin .../fs/Eolite/trunk/{ => imgs}/devices.raw | Bin .../Eolite/trunk/{ => imgs}/file_actions.raw | Bin programs/fs/Eolite/trunk/imgs/left_p.txt | 6 +- .../fs/Eolite/trunk/include/about_dialog.h | 2 +- programs/fs/Eolite/trunk/include/devices.h | 81 ++++++++++++++++-- programs/fs/Eolite/trunk/lib/strings.h | 7 +- programs/fs/Eolite/trunk/txt/History.txt | 5 +- 9 files changed, 97 insertions(+), 84 deletions(-) rename programs/fs/Eolite/trunk/{ => imgs}/blue_hl8.raw (100%) rename programs/fs/Eolite/trunk/{ => imgs}/devices.raw (100%) rename programs/fs/Eolite/trunk/{ => imgs}/file_actions.raw (100%) diff --git a/programs/fs/Eolite/trunk/Eolite.c-- b/programs/fs/Eolite/trunk/Eolite.c-- index 1e2053de36..d2cc0c55f4 100644 --- a/programs/fs/Eolite/trunk/Eolite.c-- +++ b/programs/fs/Eolite/trunk/Eolite.c-- @@ -20,7 +20,7 @@ int BUTTON_HEIGHT=18; #define ONLY_OPEN 2 //переменные -#define title "Eolite File Manager v1.38" +#define title "Eolite File Manager v1.4" dword selection_col = 0x94AECE; dword lpanel_col = 0x00699C; @@ -56,6 +56,7 @@ int scroll_size; int toolbar_buttons_x[6]={9,46,85,134,167,203}; +char tmp_disk_del_param[]="d0"; dword file_mas[6898]; int j, i, mouse_dd; @@ -229,8 +230,7 @@ void main() Pause(10); GetSystemDiscs(); Open_Dir(#path,WITH_REDRAW); - DrawSystemDiscs(); - Actions(); + DrawLeftPanel(); break; case 80: //rename goto REN_MARK; @@ -261,6 +261,14 @@ void main() Pause(5); DrawRegion_3D(17,id-100*16+74,159,16, 0xFFFFFF, 0xFFFFFF); break; + case 130...160: + tmp_disk_del_param[1]=disk_list[id-130].Item[4]; + RunProgram("/sys/tmpdisk", #tmp_disk_del_param); + Pause(10); + GetSystemDiscs(); + Open_Dir(#path,WITH_REDRAW); + DrawLeftPanel(); + break; default: if (id<200) break; //кнопки из списка файлов if (curbtn!=id-201) {FileList_ReDraw(id-201-curbtn); break;} @@ -433,8 +441,7 @@ inline fastcall void draw_window() //прямоугольники внутри DrawRegion_3D(1,40,Form.width-12,onTop(46,0),0x94AECE,0x94AECE); //синий ободок DrawRegion_3D(0,39,Form.width-10,onTop(44,0),0xE4DFE1,0xE4DFE1); //фон - DrawSystemDiscs(); - Actions(); + DrawLeftPanel(); //SortButtons DrawFlatButton(192,40,onLeft(192,168),16,31,0xE4DFE1,"File"); DrawFlatButton(onLeft(168,0),40,73,16,32,0xE4DFE1,"Type"); @@ -593,7 +600,7 @@ void Open_Dir(dword temp_, redraw){ return; } count = ESDWORD[buf+8]; - buf = realloc(count * 304 + 32, buf); + buf = realloc(count * 304 + 32, buf); //почему 32? ReadDir(count, buf, #path_); IF (EBX>6897) && (EBX<>-1) EBX=6897; //1 на удачу ;) count=EBX; @@ -726,17 +733,6 @@ void Paste() } -void Tip(int y, dword caption, id, arrow) -{ - DrawBar(17,y,160,17,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); //подчёркивание -} - - - void ReName(byte rename) { int del_file_rez; @@ -773,56 +769,6 @@ void ReName(byte rename) } -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); - } - LeftPanel(); -} - - -void LeftPanel() -{ - 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); - } -} - - void Goto_edit_path() { diff --git a/programs/fs/Eolite/trunk/blue_hl8.raw b/programs/fs/Eolite/trunk/imgs/blue_hl8.raw similarity index 100% rename from programs/fs/Eolite/trunk/blue_hl8.raw rename to programs/fs/Eolite/trunk/imgs/blue_hl8.raw diff --git a/programs/fs/Eolite/trunk/devices.raw b/programs/fs/Eolite/trunk/imgs/devices.raw similarity index 100% rename from programs/fs/Eolite/trunk/devices.raw rename to programs/fs/Eolite/trunk/imgs/devices.raw diff --git a/programs/fs/Eolite/trunk/file_actions.raw b/programs/fs/Eolite/trunk/imgs/file_actions.raw similarity index 100% rename from programs/fs/Eolite/trunk/file_actions.raw rename to programs/fs/Eolite/trunk/imgs/file_actions.raw diff --git a/programs/fs/Eolite/trunk/imgs/left_p.txt b/programs/fs/Eolite/trunk/imgs/left_p.txt index a0aa534195..c8e1e6a17a 100644 --- a/programs/fs/Eolite/trunk/imgs/left_p.txt +++ b/programs/fs/Eolite/trunk/imgs/left_p.txt @@ -1,4 +1,4 @@ -unsigned char blue_hl[190*268]= FROM "blue_hl8.raw"; +unsigned char blue_hl[190*268]= FROM "imgs\blue_hl8.raw"; dword blue_hl_pal[100]= {0x0001699C,0x0000699C,0x00026A9C,0x0002699C, @@ -19,7 +19,7 @@ dword blue_hl_pal[100]= {0x0001699C,0x0000699C,0x00026A9C,0x0002699C, 0x001E7AA8,0x001C79A6,0x001575A4,0x00207CA8,0x001E7AA7,0x001D79A7, 0x001976A4,0x00217CA8,0x00227CA8,0x00207BA8,0x001976A5,0x001473A3,0}; -unsigned char devices[14*65]= FROM "devices.raw"; +unsigned char devices[14*65]= FROM "imgs\devices.raw"; -unsigned char factions[16*44] = FROM "file_actions.raw"; \ No newline at end of file +unsigned char factions[16*44] = FROM "imgs\file_actions.raw"; \ No newline at end of file diff --git a/programs/fs/Eolite/trunk/include/about_dialog.h b/programs/fs/Eolite/trunk/include/about_dialog.h index c989949796..101186c4f5 100644 --- a/programs/fs/Eolite/trunk/include/about_dialog.h +++ b/programs/fs/Eolite/trunk/include/about_dialog.h @@ -38,7 +38,7 @@ void about_dialog() 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.38",0); + WriteText(49,100,0x90,0xBF40BF,"Eolite v1.4",0); $add ebx, 1<<16 $int 0x40 WriteText(55,120,0x80,0,"Developers:",0); diff --git a/programs/fs/Eolite/trunk/include/devices.h b/programs/fs/Eolite/trunk/include/devices.h index 85c040e1fb..a5c1be945e 100644 --- a/programs/fs/Eolite/trunk/include/devices.h +++ b/programs/fs/Eolite/trunk/include/devices.h @@ -1,4 +1,13 @@ -//03.04.2012 +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; @@ -42,6 +51,7 @@ void DrawSystemDiscs() char disc_name[100]; int i, dev_icon; + for (i=0; i<20; i++) DeleteButton(i); //список дисков Tip(56, "Devices", 78, "="); for (i=0;i300) PutPaletteImage(#blue_hl, 190, 87, 2, start_y+100, #blue_hl_pal); + } +} + + +void DrawLeftPanel() +{ + DrawSystemDiscs(); + Actions(); + LeftPanelBackground(); +} + diff --git a/programs/fs/Eolite/trunk/lib/strings.h b/programs/fs/Eolite/trunk/lib/strings.h index 76f864f45f..e1e70142b5 100644 --- a/programs/fs/Eolite/trunk/lib/strings.h +++ b/programs/fs/Eolite/trunk/lib/strings.h @@ -49,7 +49,7 @@ f3: $stosb $jnz f3 $mov eax, #buffer - $ret + //$ret } inline fastcall dword StrToInt() @@ -79,8 +79,7 @@ dword StrToCol(char* htmlcolor) IF ((ch>='a') && (ch<='f')) ch -= 'a'-10; color = color*0x10 + ch; } - - return color; + return color; } inline fastcall signed char strcmp(ESI, EDI) @@ -97,7 +96,7 @@ inline fastcall signed char strcmp(ESI, EDI) -inline fastcall unsigned int strchr(ESI,BL) +inline fastcall signed int strchr(ESI,BL) { int jj=0, last=-1; do{ diff --git a/programs/fs/Eolite/trunk/txt/History.txt b/programs/fs/Eolite/trunk/txt/History.txt index 4cfe2bed86..7d81c37edf 100644 --- a/programs/fs/Eolite/trunk/txt/History.txt +++ b/programs/fs/Eolite/trunk/txt/History.txt @@ -1,7 +1,8 @@ -16.11.12 -- v1.38 +16.11.12 -- v1.4 - при минимальном размере окна учитывается количество дисков в системе; - добавлен фон на левую панель; -- изменения в организации файлов. +- изменения в организации файлов; +- удаление виртуальных дисков типа /tmpX/1. 15.11.12 -- v1.36 - устранена утечка памяти при сканировании устройств;