From 17b840cb9cdf861c90d76e4a9e9cb5da5df3fea6 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Mon, 12 Nov 2018 16:27:48 +0000 Subject: [PATCH] Eolite: fix dialog popins when two panels view is on Appearance: fix redraw, thanks themirageonly for bug found git-svn-id: svn://kolibrios.org@7551 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/appearance/appearance.c | 18 +++++++++++++----- programs/cmm/eolite/Eolite.c | 7 ++++--- programs/cmm/eolite/include/translations.h | 4 ++-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/programs/cmm/appearance/appearance.c b/programs/cmm/appearance/appearance.c index a5bb514b46..0521ba9382 100644 --- a/programs/cmm/appearance/appearance.c +++ b/programs/cmm/appearance/appearance.c @@ -1,5 +1,5 @@ //11.03.12 - start! -//ver 2.2 +//ver 2.21 #ifndef AUTOBUILD ?include "lang.h--" @@ -53,6 +53,7 @@ enum { char folder_path[4096]; char cur_file_path[4096]; +char cur_skin_path[4096]; char temp_filename[4096]; int files_mas[400]; @@ -93,7 +94,7 @@ void main() EventTabClick(SKINS); - SetEventMask(0x27); + SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE + EVM_MOUSE_FILTER); loop() switch(WaitEvent()) { case evMouse: @@ -115,7 +116,7 @@ void main() case evButton: id=GetButtonID(); - if (id==1) ExitProcess(); + if (id==1) EventExit(); if (id==SKINS) EventTabClick(SKINS); if (id==WALLPAPERS) EventTabClick(WALLPAPERS); if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder(); @@ -356,16 +357,17 @@ void EventApply() EventSetNewCurrent(); if (tabs.active_tab==SKINS) { + draw_window(); cur = select_list.cur_y; SetSystemSkin(#cur_file_path); - SaveSkinSettings(#cur_file_path); + strcpy(#cur_skin_path, #cur_file_path); } if (tabs.active_tab==WALLPAPERS) { + SelectList_Draw(); strcpy(#kivpath, "\\S__"); strcat(#kivpath, #cur_file_path); RunProgram("/sys/media/kiv", #kivpath); - SelectList_Draw(); } } @@ -375,4 +377,10 @@ void EventOpenFile() if (tabs.active_tab==WALLPAPERS) RunProgram("/sys/media/kiv", #cur_file_path); } +void EventExit() +{ + ExitProcess(); + SaveSkinSettings(#cur_skin_path); +} + stop: diff --git a/programs/cmm/eolite/Eolite.c b/programs/cmm/eolite/Eolite.c index a184f54a29..8b901730a3 100644 --- a/programs/cmm/eolite/Eolite.c +++ b/programs/cmm/eolite/Eolite.c @@ -563,7 +563,8 @@ void draw_window() GetProcessInfo(#Form, SelfInfo); if (Form.status_window>2) return; if (Form.height < 350) { MoveSize(OLD,OLD,OLD,350); return; } - if (Form.width < 480) { MoveSize(OLD,OLD,480,OLD); return; } + if (!two_panels.checked) && (Form.width < 480) { MoveSize(OLD,OLD,480,OLD); return; } + if ( two_panels.checked) && (Form.width < 573) { MoveSize(OLD,OLD,573,OLD); return; } GetProcessInfo(#Form, SelfInfo); ESDWORD[#toolbar_pal] = col_work; ESDWORD[#toolbar_pal+4] = MixColors(0, col_work, 35); @@ -639,7 +640,7 @@ void DrawFilePanels() { llist_copy(#files, #files_inactive); strcpy(#path, #inactive_path); - col_selec = 0xCCCccc; + col_selec = 0xCCCccc; //this is a bad code: need to use some var to set inactive panel for DrawList(); files.SetSizes(Form.cwidth/2, files_y, Form.cwidth/2 -17, Form.cheight-files_y-2 - status_bar_h, files.item_h); DrawList(); Open_Dir(#path,WITH_REDRAW); @@ -700,7 +701,7 @@ void List_ReDraw() Scroll(); if (del_active) Del_Form(); - if (new_element_active) NewElement_Form(new_element_active, #new_element_name); + if (new_element_active) && (col_selec != 0xCCCccc) NewElement_Form(new_element_active, #new_element_name); } diff --git a/programs/cmm/eolite/include/translations.h b/programs/cmm/eolite/include/translations.h index 9343980257..ab0daa5f19 100644 --- a/programs/cmm/eolite/include/translations.h +++ b/programs/cmm/eolite/include/translations.h @@ -1,5 +1,5 @@ -#define TITLE "Eolite File Manager 4.04a" -#define ABOUT_TITLE "EOLITE 4.04a" +#define TITLE "Eolite File Manager 4.05" +#define ABOUT_TITLE "EOLITE 4.05" #ifdef LANG_RUS ?define T_FILE "” ©«"