From 93915682d2f06a75a270e9682dc8a2197efe5df7 Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Fri, 15 Mar 2019 14:05:59 +0000 Subject: [PATCH] mousecfg: fix appearance: add a flag to update dock on skin change git-svn-id: svn://kolibrios.org@7612 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/cmm/appearance/appearance.c | 28 ++++++++++++++++++++++------ programs/cmm/mousecfg/mousecfg.c | 4 ++-- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/programs/cmm/appearance/appearance.c b/programs/cmm/appearance/appearance.c index b78611c364..567416b7e3 100644 --- a/programs/cmm/appearance/appearance.c +++ b/programs/cmm/appearance/appearance.c @@ -34,6 +34,7 @@ ?define T_PICTURE_MODE " Положение картинки " ?define T_CHECKBOX_STRETCH "Растянуть" ?define T_CHECKBOX_TILED "Замостить" + ?define T_UPDATE_DOCK "Обновлять Dock-панель" #else ?define WINDOW_HEADER "Appearance" ?define T_SKINS "Skins" @@ -43,6 +44,7 @@ ?define T_PICTURE_MODE " Picture Mode " ?define T_CHECKBOX_STRETCH "Stretch" ?define T_CHECKBOX_TILED "Tiled" + ?define T_UPDATE_DOCK "Update Dock" #endif #define PANEL_H 40 @@ -69,6 +71,7 @@ block skp; _tabs tabs = { LP, LP, NULL, NULL, SKINS }; +checkbox update_docky = { T_UPDATE_DOCK, false }; checkbox checkbox1 = { "Checkbox", true }; more_less_box spinbox1 = { 23, 0, 999, "SpinBox" }; edit_box edit_cmm = {180,NULL,NULL,0xffffff,0x94AECE,0xFFFfff,0xffffff, @@ -141,6 +144,7 @@ void main() if (id==BTN_SELECT_WALLP_FOLDER) EventSelectWallpFolder(); checkbox1.click(id); spinbox1.click(id); + if (update_docky.click(id)) EventUpdateDocky(); if (!optionbox_stretch.checked) && (optionbox_stretch.click(id)) EventSetWallpMode_Stretch(); if (!optionbox_tiled.checked) && (optionbox_tiled.click(id)) EventSetWallpMode_Tiled(); break; @@ -187,8 +191,7 @@ void main() void draw_window() { - system.color.get(); - DefineAndDrawWindow(screen.width-600/2,80,630,404+skin_height,0x74,0xE4DFE1,WINDOW_HEADER,0); + DefineAndDrawWindow(screen.width-600/2,80,630,504+skin_height,0x74,NULL,WINDOW_HEADER,0); GetProcessInfo(#Form, SelfInfo); IF (Form.status_window>=2) return; DrawWindowContent(); @@ -200,6 +203,8 @@ void DrawWindowContent() incn y; int list_w; + system.color.get(); + if (tabs.active_tab == SKINS) list_w=250; else list_w=350; DrawWideRectangle(0, 0, Form.cwidth, Form.cheight, LP, system.color.work); @@ -223,9 +228,9 @@ void DrawWindowContent() skp.set_size( select_list.x + select_list.w + TAB_PADDING + scroll1.size_x + 20, - select_list.y + 30, + select_list.y + 30 + 50, list_w, - select_list.h - 50 + 230 //select_list.h - 50 - 50 ); SelectList_Draw(); @@ -235,9 +240,9 @@ void DrawWindowContent() { DrawBar(skp.x-20, select_list.y, skp.w+40, select_list.h, system.color.work); DrawRectangle(skp.x-20, select_list.y, skp.w+40, select_list.h, system.color.work_graph); + update_docky.draw(skp.x, select_list.y+15); y.n = skp.y; DrawFrame(skp.x, skp.y, skp.w, skp.h, " Components Preview "); - checkbox1.draw(skp.x+20, y.inc(30)); spinbox1.draw(skp.x+20, y.inc(30)); WriteText(skp.x+20, y.inc(30), 0x90, system.color.work_text, "C-- Edit"); DrawEditBoxPos(skp.x+20, y.inc(20), #edit_cmm); @@ -390,16 +395,18 @@ void EventSetWallpMode_Tiled() EventApply(); } +#include "..\lib\patterns\restart_process.h" void EventApply() { char kivpath[4096+10]; EventSetNewCurrent(); if (tabs.active_tab==SKINS) { - draw_window(); cur = select_list.cur_y; SetSystemSkin(#cur_file_path); + SelectList_Draw(); strcpy(#cur_skin_path, #cur_file_path); + EventUpdateDocky(); } if (tabs.active_tab==WALLPAPERS) { @@ -411,6 +418,15 @@ void EventApply() } } +void EventUpdateDocky() +{ + if (!update_docky.checked) return; + KillProcessByName("@docky", MULTIPLE); + RunProgram("/sys/@docky",NULL); + pause(50); + ActivateWindow(GetProcessSlot(Form.ID)); +} + void EventOpenFile() { if (tabs.active_tab==SKINS) RunProgram("/sys/skincfg", #cur_file_path); diff --git a/programs/cmm/mousecfg/mousecfg.c b/programs/cmm/mousecfg/mousecfg.c index 7049dc811e..c6e2e1bdc3 100644 --- a/programs/cmm/mousecfg/mousecfg.c +++ b/programs/cmm/mousecfg/mousecfg.c @@ -72,12 +72,12 @@ void main() { else IF (double_click_delay.click(id)) ApplyCfg(); ELSE IF (emulation.click(id)) { IF (emulation.checked == true) RunProgram("/sys/mousemul", 0); - ELSE KillProcessByName("/sys/mousemul", SINGLE); + ELSE KillProcessByName("mousemul", SINGLE); break; } ELSE IF (madmouse.click(id)) { IF (madmouse.checked == true) RunProgram("/sys/madmouse", 0); - ELSE KillProcessByName("/sys/madmouse", SINGLE); + ELSE KillProcessByName("madmouse", SINGLE); break; } break;