diff --git a/data/common/drivers/drvinf.ini b/data/common/drivers/drvinf.ini index c5d913ed34..427c652d1e 100644 --- a/data/common/drivers/drvinf.ini +++ b/data/common/drivers/drvinf.ini @@ -1,12 +1,14 @@ [AHCI] ver=ver rc06 -description_ru=Поиск контроллеров и определение подключённых АТА дисков. В случае успеха, делает видимыми в Колибри диски подключенные через ACHI. -description_en=The driver searches for ATA disks connected to the AHCI controller. Found disks are identified and made available to the user. +type=disk +description_ru=Поиск контроллеров и определение подключённых АТА дисков. В случае успеха, делает видимыми в Колибри диски подключенные через ACHI. Альтернативой данному драйверу, с другим механизмом определения дисков, является пункт "b" на голубом стартовом экране. +description_en=The driver searches for ATA disks connected to the AHCI controller. Found disks are identified and made available to the user. Alternative to this dirver is an option "b" at the start blue screen. readme=/kolibrios/drivers/ahci/readme.txt install=/kolibrios/drivers/ahci/ahci [Video ATI KMS] ver=ver 4.4.30 +type=video description_ru=Драйвера для видеокарт ATI Radeon. Поддерживаются дискретные и интегрированные чипсеты семейств ATI R100-R600, Evergreen, Northern Islands, Southern Islands. Устанавливает видеорежим при первом запуске и делает доступным смену видеорежима в процессе работы через SYSPANEL -> VideoMode. description_en=The driver for ATI Radeon video cards supports all discrete and integrated chipsets from the ATI R100-R600, Evergreen, Northern Islands and Southern Islands families. The driver sets the video mode on the first load and allows to change the video mode via SYSPANEL -> VideoMode. readme=/kolibrios/drivers/atikms/readme.txt @@ -14,6 +16,7 @@ install=/kolibrios/drivers/atikms/atikms [Video Intel i915] ver=ver 4.6.7-1 +type=video description_ru=Драйвера для видеокарт Intel. Поддерживаются все PCI Express видеоядра Intel от i915 до Skylake. Устанавливает видеорежим при первом запуске и делает доступным смену видеорежима в процессе работы через SYSPANEL -> VideoMode. description_en=The driver for Intel video cards supports all Intel PCI Express video cores from i915 till Skylake. The driver sets the video mode on the first load and allows to change the video mode via SYSPANEL -> VideoMode. readme=/kolibrios/drivers/i915/readme.txt @@ -21,6 +24,7 @@ install=/kolibrios/drivers/i915/i915 [Video VmWare] ver=ver 3.14-rc2 +type=video description_ru=Драйвер для VMware SVGA II. description_en=The driver for VMware SVGA II. readme=/kolibrios/drivers/vmware/readme.txt diff --git a/data/common/icons32.png b/data/common/icons32.png index 8597480a51..c1a173b670 100644 Binary files a/data/common/icons32.png and b/data/common/icons32.png differ diff --git a/programs/cmm/TWB/links.h b/programs/cmm/TWB/links.h index 003c61c6b8..88f1b02f55 100644 --- a/programs/cmm/TWB/links.h +++ b/programs/cmm/TWB/links.h @@ -98,13 +98,9 @@ bool LinksArray::HoverAndProceed(dword mx, my, list_y, list_first) } if (mouse.mkm) && (mouse.up) { if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) { - open_new_window = true; - EventClickLink(PageLinks.GetURL(PageLinks.active)); - open_new_window = false; + ProcessEvent(IN_NEW_TAB); } else { - open_new_tab = true; - EventClickLink(PageLinks.GetURL(PageLinks.active)); - open_new_tab = false; + ProcessEvent(IN_NEW_WINDOW); } return false; } diff --git a/programs/cmm/drvinst/drvinst.c b/programs/cmm/drvinst/drvinst.c index a6069e221c..641de1e16c 100644 --- a/programs/cmm/drvinst/drvinst.c +++ b/programs/cmm/drvinst/drvinst.c @@ -14,10 +14,12 @@ #include "../lib/list_box.h" #include "../lib/obj/box_lib.h" #include "../lib/obj/libio.h" +#include "../lib/obj/libimg.h" #include "../lib/obj/libini.h" #include "../lib/collection.h" #include "../lib/io.h" #include "../lib/patterns/select_list.h" +#include "../lib/patterns/restart_process.h" //===================================================// // // @@ -34,6 +36,7 @@ proc_info Form; #define T_ASSEPT_RISK "Я принимаю риск" #define T_README "Readme" #define T_INSTALL "Установить" + #define T_DRIVER_INSTALLARION_STARTED "'Началась установка драйвера.\nЛог установки находится в приложении BOARD.'I" char description_name[] = "description_ru"; #else #define WINDOW_TITLE "Driver Installer" @@ -42,6 +45,7 @@ proc_info Form; #define T_ASSEPT_RISK "I accept the risk" #define T_README "Readme" #define T_INSTALL "Install" + #define T_DRIVER_INSTALLARION_STARTED "'Driver installation started.\nInstallation log can be found in BOARD app.'I" char description_name[] = "description_en"; #endif @@ -58,6 +62,7 @@ collection ini_sections; char drvinf_path[4096] = "/kolibrios/drivers/drvinf.ini"; char cur_version[64]; +char cur_type[12]; char cur_description[1024]; char cur_readme_path[4096]; char cur_install_path[4096]; @@ -86,6 +91,7 @@ void main() load_dll(libio, #libio_init,1); load_dll(libini, #lib_init,1); load_dll(boxlib, #box_lib_init,0); + load_dll(libimg, #libimg_init,1); GetIniData(); SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); loop() switch(WaitEvent()) @@ -136,6 +142,7 @@ void Draw_DriverListWindow() int PADDING = 12; int right_frame_x = Form.cwidth*46/100; int readme_w = 0; + int icon_n = 38; //LEFT FRAME SelectList_Init(PADDING, PADDING, @@ -147,8 +154,10 @@ void Draw_DriverListWindow() //RIGHT FRAME GetCurrentSectionData(); DrawBar(right_frame_x, PADDING+3, Form.cwidth - right_frame_x - PADDING, 80, system.color.work); - WriteTextB(right_frame_x, PADDING+3, 0x81, system.color.work_text, ini_sections.get(select_list.cur_y)); - WriteText(right_frame_x, PADDING+23, 0x80, system.color.work_text, #cur_version); + if (streq(#cur_type, "disk")) icon_n = 50; + DrawIcon32(right_frame_x, PADDING, system.color.work, icon_n); + WriteTextB(right_frame_x+44, PADDING+3, 0x81, system.color.work_text, ini_sections.get(select_list.cur_y)); + WriteText(right_frame_x+44, PADDING+23, 0x80, system.color.work_text, #cur_version); if(cur_readme_path[0]) readme_w = DrawStandartCaptButton(right_frame_x, PADDING+45, BUTTON_ID_README, T_README); DrawStandartCaptButton(right_frame_x + readme_w, PADDING+45, BUTTON_ID_INSTALL, T_INSTALL); DrawTextViewArea(right_frame_x-2, PADDING+83, Form.cwidth - right_frame_x - PADDING, Form.cheight-PADDING-PADDING, @@ -183,6 +192,7 @@ void GetCurrentSectionData() { dword section_name = ini_sections.get(select_list.cur_y); ini_get_str stdcall (#drvinf_path, section_name, "ver", #cur_version, sizeof(cur_version), 0); + ini_get_str stdcall (#drvinf_path, section_name, "type", #cur_type, sizeof(cur_type), 0); ini_get_str stdcall (#drvinf_path, section_name, #description_name, #cur_description, sizeof(cur_description), 0); ini_get_str stdcall (#drvinf_path, section_name, "readme", #cur_readme_path, sizeof(cur_readme_path), 0); ini_get_str stdcall (#drvinf_path, section_name, "install", #cur_install_path, sizeof(cur_install_path), 0); @@ -231,5 +241,11 @@ void Event_RunInstall() { int result; result = io.run(#cur_install_path, NULL); - if (result) notify("'Driver installation started.\nPlease, open BOARD to check status.'I"); + if (result) notify(T_DRIVER_INSTALLARION_STARTED); + pause(300); + if (streq(#cur_type, "video")) { + RestartProcessByName("/sys/@taskbar", SINGLE); + RestartProcessByName("/sys/@docky", SINGLE); + RestartProcessByName("/sys/@icon", MOLTIPLE); + } } \ No newline at end of file diff --git a/programs/cmm/software_widget/software_widget.c b/programs/cmm/software_widget/software_widget.c index 5a7bf28e10..8b0ab205d4 100644 --- a/programs/cmm/software_widget/software_widget.c +++ b/programs/cmm/software_widget/software_widget.c @@ -193,13 +193,16 @@ byte draw_icons_from_section(dword key_value, key_name, sec_name, f_name) text_x = col*list.item_w+5; text_y = list.item_h - 40 / 2; - if (kfont.getsize(key_name)+30