From bb4381f81b0ba9d05e90640f9ceba5f29cca301b Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Wed, 20 Mar 2013 22:35:57 +0000 Subject: [PATCH] Eolite 1.63: fix scrollbar look when files count in folder ==0 git-svn-id: svn://kolibrios.org@3399 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/eolite/Eolite.c | 2 +- programs/cmm/eolite/include/about_dialog.h | 4 ++-- programs/cmm/eolite/include/left_panel.h | 12 +++++++++--- programs/cmm/eolite/include/some_code.h | 20 ++++++++++++++------ 4 files changed, 26 insertions(+), 12 deletions(-) diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index 77b6b8334b..2c01e8fa6c 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -25,7 +25,7 @@ int BUTTON_HEIGHT=18; #define ONLY_OPEN 2 //переменные -#define title "Eolite File Manager v1.62" +#define title "Eolite File Manager v1.63" dword col_work = 0xE4DFE1; dword col_border = 0x819FC5; dword col_padding = 0xC8C9C9; diff --git a/programs/cmm/eolite/include/about_dialog.h b/programs/cmm/eolite/include/about_dialog.h index 5ebe125719..04807bd69c 100644 --- a/programs/cmm/eolite/include/about_dialog.h +++ b/programs/cmm/eolite/include/about_dialog.h @@ -1,4 +1,4 @@ -//Leency - 2008-2013 +//Leency 2008-2013 #define EDITOR_PATH "/sys/tinypad" #define BROWSER_PATH "/sys/htmlv" @@ -25,7 +25,7 @@ void about_dialog() DefineAndDrawWindow(600,150,181,232+GetSkinHeight(),0x34,col_work,"About Eolite"); DrawBar(0,0,172,50,0x8494C4); PutPaletteImage(#logo,85,85,43,7,8,#logo_pal); - WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.62"); + WriteTextB(46,100,0x90,0xBF40BF,"Eolite v1.63"); WriteText(55,120,0x80,0,"Developers:"); WriteText(39,130,0x80,0,"Leency & Veliant"); WriteText(45,140,0x80,0,"KolibriOS Team"); diff --git a/programs/cmm/eolite/include/left_panel.h b/programs/cmm/eolite/include/left_panel.h index 3295c316af..f64a345da1 100644 --- a/programs/cmm/eolite/include/left_panel.h +++ b/programs/cmm/eolite/include/left_panel.h @@ -1,3 +1,5 @@ +//Leency 2008-2013 + void Tip(int y, dword caption, id, arrow) { int i; @@ -10,7 +12,7 @@ void Tip(int y, dword caption, id, arrow) } -path_string disk_list[20]; +path_string disk_list[30]; int disc_num; dword devbuf; @@ -21,7 +23,7 @@ void GetSystemDiscs() disc_num=0; if (devbuf) free(devbuf); - devbuf = malloc(3112); //буфер где-то на 10 девайсов в левой панели + devbuf = malloc(10000); //буфер где-то на 10 девайсов в левой панели ReadDir(19, devbuf, "/"); dev_num = EBX; for (i1=0; i1onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //для большого списка + if (count<=0) + { + on_y = 57; + scroll_size = onTop(22,58); + } + else + { + on_y = za_kadrom * onTop(22,57) / count +57; + scroll_size=onTop(22,57) * f_visible - f_visible / count; + if (scroll_size<20) scroll_size = 20; //устанавливаем минимальный размер скролла + if (scroll_size>onTop(22,57)-on_y+56) || (za_kadrom+f_visible>=count) on_y=onTop(23+scroll_size,0); //для большого списка + } DrawFlatButton(onLeft(27,0),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(onLeft(25-i,0), on_y+2, 1, scroll_size-3, col_palette[i]);