From f0b73bb5f3e527574adb3030485ee6226f5a8fda Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Wed, 1 Dec 2021 13:48:58 +0000 Subject: [PATCH] Eolite 5.12: show disk names if available, replace hardcoded numbers of the left sidebar by constants git-svn-id: svn://kolibrios.org@9349 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/c--/c--.ini | 8 +++--- programs/cmm/eolite/Eolite.c | 10 +++---- programs/cmm/eolite/include/const.h | 7 +++++ programs/cmm/eolite/include/gui.h | 34 ++++++++++++------------ programs/cmm/eolite/include/left_panel.h | 24 ++++++++++++++--- 5 files changed, 53 insertions(+), 30 deletions(-) diff --git a/programs/cmm/c--/c--.ini b/programs/cmm/c--/c--.ini index f7dcbd6631..fa3535bb65 100644 --- a/programs/cmm/c--/c--.ini +++ b/programs/cmm/c--/c--.ini @@ -10,13 +10,13 @@ X ; oc ; опримизация по размеру кода -w ; выдавать предупреждения +;w ; выдавать предупреждения -wf=warning.txt ; предупреждения выводить в файл warning +;wf=warning.txt ; предупреждения выводить в файл warning -nw=1 ; не показывать кое-какие ошибки в warning.txt +;nw=1 ; не показывать кое-какие ошибки в warning.txt -nw=2 ; не показывать кое-какие ошибки в warning.txt +;nw=2 ; не показывать кое-какие ошибки в warning.txt ;de ; использовать временное расширение типа при делении diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index b6b3fb75b4..d1b964a73c 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -9,9 +9,9 @@ TODO: http://board.kolibrios.org/viewtopic.php?f=23&t=4521&p=77334#p77334 */ -#define ABOUT_TITLE "EOLITE 5.11" -#define TITLE_EOLITE "Eolite File Manager 5.11" -#define TITLE_KFM "Kolibri File Manager 2.11"; +#define ABOUT_TITLE "EOLITE 5.12" +#define TITLE_EOLITE "Eolite File Manager 5.12" +#define TITLE_KFM "Kolibri File Manager 2.12"; #define MEMSIZE 1024 * 250 #include "../lib/clipboard.h" @@ -662,7 +662,7 @@ void DrawFilePanels() if (!efm) { SystemDiscs.Draw(); - files.SetSizes(192, 57, Form.cwidth - 210, Form.cheight - 59 - status_bar_h, files.item_h); + files.SetSizes(SIDEBAR_W, 57, Form.cwidth - SIDEBAR_W-18, Form.cheight - 59 - status_bar_h, files.item_h); DrawButtonsAroundList(); List_ReDraw(); DrawPathBar(); @@ -1128,7 +1128,7 @@ void ShowPopinForm(byte _popin_type) strcat(#param, "...?"); } } - WriteTextCenter(popinx, 192, POPIN_W, sc.work_text, #param); + WriteTextCenter(popinx, SIDEBAR_W, POPIN_W, sc.work_text, #param); break; case POPIN_DISK: DefineHiddenButton(0,0,5000,3000,POPUP_BTN2+BT_NOFRAME); diff --git a/programs/cmm/eolite/include/const.h b/programs/cmm/eolite/include/const.h index c8a3c1cd12..8f8cc367ad 100644 --- a/programs/cmm/eolite/include/const.h +++ b/programs/cmm/eolite/include/const.h @@ -256,5 +256,12 @@ char *devinfo = { #define KFM2_DEVH 20 #define SELECTY 10 #define POPIN_W 260 +//Sidebar width +#define SIDEBAR_W 192 +//Sidebar padding +#define SBPAD 15 +//Block width inside Sidebar +#define SB_BLOCKX SBPAD+2 +#define SB_BLOCKW SIDEBAR_W-SBPAD-SB_BLOCKX int toolbar_buttons_x[7]={9,46,85,134,167,203}; diff --git a/programs/cmm/eolite/include/gui.h b/programs/cmm/eolite/include/gui.h index 319c110c4b..d5a24c6cb1 100644 --- a/programs/cmm/eolite/include/gui.h +++ b/programs/cmm/eolite/include/gui.h @@ -114,11 +114,11 @@ void DrawFuncButton(dword x,y,width,id,number,text) void Tip(int y, dword caption, id, arrow) { - DrawBar(17,y,160,1,col.list_bg); - DrawBar(17,y+1,1,16,sc.work_light); - DrawFilledBar(18, y+1, 160-1, 16); - DrawBar(17,y+17,160,1,sc.work_graph); - WriteText(25,y+5,0x80,col.list_gb_text,caption); + DrawBar(SB_BLOCKX,y,SB_BLOCKW,1,col.list_bg); + DrawBar(SB_BLOCKX,y+1,1,16,sc.work_light); + DrawFilledBar(SB_BLOCKX+1, y+1, SB_BLOCKW-1, 16); + DrawBar(SB_BLOCKX,y+SB_BLOCKX,SB_BLOCKW,1,sc.work_graph); + WriteText(SB_BLOCKX+8,y+5,0x80,col.list_gb_text,caption); if (id) DefineButton(159,y+1,16,16,id+BT_HIDE+BT_NOFRAME,0); //arrow button WriteText(165,y+5,0x80,col.list_gb_text,arrow); //arrow } @@ -129,10 +129,10 @@ void ActionsDraw(int actions_y) Tip(actions_y-18, T_ACTIONS, 77, ""); for (i=0; actions[i*3]!=0; i++, actions_y+=DEV_H) { - DrawBar(17,actions_y,160,DEV_H,0xFFFFFF); //белое - DefineButton(17,actions_y,159,DEV_H,actions[i*3]+BT_HIDE,0xE4DFE1); + DrawBar(SB_BLOCKX,actions_y,SB_BLOCKW,DEV_H,0xFFFFFF); //белое + DefineButton(SB_BLOCKX,actions_y,SB_BLOCKW-1,DEV_H,actions[i*3]+BT_HIDE,0xE4DFE1); WriteText(45,actions_y+4,0x80,0,actions[i*3+1]); - WriteText(-strlen(actions[i*3+2])*6+170,actions_y+4,0x80,0x999999,actions[i*3+2]); + WriteText(-strlen(actions[i*3+2])*6+SIDEBAR_W-SBPAD-7,actions_y+4,0x80,0x999999,actions[i*3+2]); _PutImage(23,actions_y+2, 14,13, i*14*13*3+#factions); } } @@ -141,21 +141,21 @@ void DrawLeftPanelBg(int actions_y) { int start_y = actions_y+159; int area_h; - DrawBar(2,41,190,15,waves_pal[0]); //above devices block - DrawBar(17,actions_y+75,160,15,EDX); //below devices block - DrawBar(2,56,15,actions_y+103,EDX); //on the left - DrawBar(177,56,15,actions_y+103,EDX); //on the right + DrawBar(2,41,SIDEBAR_W-2,SBPAD,waves_pal[0]); //above devices block + DrawBar(SB_BLOCKX,actions_y+75,SB_BLOCKW,SBPAD,EDX); //below devices block + DrawBar(2,56,SBPAD,actions_y+103,EDX); //on the left + DrawBar(SIDEBAR_W-SBPAD,56,SBPAD,actions_y+103,EDX); //on the right area_h = Form.cheight-start_y-2 - status_bar_h; if (area_h < 268){ PutPaletteImage(#blue_hl, 190, area_h, 2, start_y, 8, #waves_pal); } else { - DrawBar(2,start_y,190, area_h-268, waves_pal[0]); + DrawBar(2,start_y,SIDEBAR_W-2, area_h-268, waves_pal[0]); PutPaletteImage(#blue_hl, 190, 268, 2, Form.cheight-270-status_bar_h, 8, #waves_pal); } - PutShadow(17,actions_y+75,160,1,1,3); - PutShadow(18,actions_y+75+1,158,1,1,1); - PutShadow(17,start_y,160,1,1,3); - PutShadow(18,start_y+1,158,1,1,1); + PutShadow(SB_BLOCKX,actions_y+75,SB_BLOCKW,1,1,3); + PutShadow(SB_BLOCKX+1,actions_y+75+1,SB_BLOCKW-2,1,1,1); + PutShadow(SB_BLOCKX,start_y,SB_BLOCKW,1,1,3); + PutShadow(SB_BLOCKX+1,start_y+1,SB_BLOCKW-2,1,1,1); } //===================================================// diff --git a/programs/cmm/eolite/include/left_panel.h b/programs/cmm/eolite/include/left_panel.h index 0f37c2ece6..ce27defa05 100644 --- a/programs/cmm/eolite/include/left_panel.h +++ b/programs/cmm/eolite/include/left_panel.h @@ -49,17 +49,27 @@ void _SystemDiscs::Get() free(diskbuf); } -void GetDiskIconAndName(dword dev_name, dev_icon, disc_name) +void GetDiskIconAndName(dword dev_name, icon, disc_name) { int i; + dword volume_label; for (i=0; devinfo[i]!=0; i+=3) { if (!strncmp(dev_name+1, devinfo[i], 2)) { - ESBYTE[dev_icon] = devinfo[i+1]; + ESBYTE[icon] = devinfo[i+1]; + if (volume_label = GetVolumeLabel(dev_name)) + { + //show label only for hard disk drives + if (ESBYTE[icon]==4) { + strncpy(disc_name, volume_label, 15); + chrcat(disc_name, ' '); + return; + } + } strcpy(disc_name, devinfo[i+2]); return; } } - ESBYTE[dev_icon]=5; + ESBYTE[icon]=4; strcpy(disc_name, T_UNC); } @@ -89,7 +99,13 @@ void _SystemDiscs::Draw() DefineHiddenButton(draw_x,draw_y,159,16,100+i); if (show_dev_name.checked) { - strcat(#disc_name, #dev_name); + if (dev_name[1]=='t') { + chrcat(#disc_name, dev_name[4]); + } else if (dev_name[1]=='f') { + // + } else { + strcat(#disc_name, #dev_name); + } if (is_active) WriteText(draw_x+30,draw_y+5,0x80,0x555555,#disc_name); WriteText(draw_x+29,draw_y+5,0x80,0,#disc_name); //if (is_active) kfont.bold = true;