icons32.png: new script icon

drvinst: restart desktop on video driver install, and a notice for achi driver
syspanel/game center: fix performance issue

git-svn-id: svn://kolibrios.org@7793 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Kirill Lipatov (Leency) 2020-04-15 13:44:21 +00:00
parent b76d44d868
commit 56413fb062
5 changed files with 32 additions and 13 deletions

View File

@ -1,12 +1,14 @@
[AHCI] [AHCI]
ver=ver rc06 ver=ver rc06
description_ru=<EFBFBD>®¨áª ª®­â஫«¥à®¢ ¨ ®¯à¥¤¥«¥­¨¥ ¯®¤ª«îçñ­­ëå €’€ ¤¨áª®¢. á«ãç ¥ ãᯥå , ¤¥« ¥â ¢¨¤¨¬ë¬¨ ¢ Š®«¨¡à¨ ¤¨áª¨ ¯®¤ª«î祭­ë¥ ç¥à¥§ ACHI. type=disk
description_en=The driver searches for ATA disks connected to the AHCI controller. Found disks are identified and made available to the user. description_ru=<EFBFBD>®¨áª ª®­â஫«¥à®¢ ¨ ®¯à¥¤¥«¥­¨¥ ¯®¤ª«îçñ­­ëå €’€ ¤¨áª®¢. á«ãç ¥ ãᯥå , ¤¥« ¥â ¢¨¤¨¬ë¬¨ ¢ Š®«¨¡à¨ ¤¨áª¨ ¯®¤ª«î祭­ë¥ ç¥à¥§ 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 readme=/kolibrios/drivers/ahci/readme.txt
install=/kolibrios/drivers/ahci/ahci install=/kolibrios/drivers/ahci/ahci
[Video ATI KMS] [Video ATI KMS]
ver=ver 4.4.30 ver=ver 4.4.30
type=video
description_ru=„à ©¢¥à  ¤«ï ¢¨¤¥®ª àâ ATI Radeon. <20>®¤¤¥à¦¨¢ îâáï ¤¨áªà¥â­ë¥ ¨ ¨­â¥£à¨à®¢ ­­ë¥ 稯á¥âë ᥬ¥©á⢠ATI R100-R600, Evergreen, Northern Islands, Southern Islands. “áâ ­ ¢«¨¢ ¥â ¢¨¤¥®à¥¦¨¬ ¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¨ ¤¥« ¥â ¤®áâã¯­ë¬ á¬¥­ã ¢¨¤¥®à¥¦¨¬  ¢ ¯à®æ¥áᥠࠡ®âë ç¥à¥§ SYSPANEL -> VideoMode. description_ru=„à ©¢¥à  ¤«ï ¢¨¤¥®ª àâ ATI Radeon. <20>®¤¤¥à¦¨¢ îâáï ¤¨áªà¥â­ë¥ ¨ ¨­â¥£à¨à®¢ ­­ë¥ 稯á¥âë ᥬ¥©á⢠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. 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 readme=/kolibrios/drivers/atikms/readme.txt
@ -14,6 +16,7 @@ install=/kolibrios/drivers/atikms/atikms
[Video Intel i915] [Video Intel i915]
ver=ver 4.6.7-1 ver=ver 4.6.7-1
type=video
description_ru=„à ©¢¥à  ¤«ï ¢¨¤¥®ª àâ Intel. <20>®¤¤¥à¦¨¢ îâáï ¢á¥ PCI Express ¢¨¤¥®ï¤à  Intel ®â i915 ¤® Skylake. “áâ ­ ¢«¨¢ ¥â ¢¨¤¥®à¥¦¨¬ ¯à¨ ¯¥à¢®¬ § ¯ã᪥ ¨ ¤¥« ¥â ¤®áâã¯­ë¬ á¬¥­ã ¢¨¤¥®à¥¦¨¬  ¢ ¯à®æ¥áᥠࠡ®âë ç¥à¥§ SYSPANEL -> VideoMode. description_ru=„à ©¢¥à  ¤«ï ¢¨¤¥®ª àâ Intel. <20>®¤¤¥à¦¨¢ îâáï ¢á¥ 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. 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 readme=/kolibrios/drivers/i915/readme.txt
@ -21,6 +24,7 @@ install=/kolibrios/drivers/i915/i915
[Video VmWare] [Video VmWare]
ver=ver 3.14-rc2 ver=ver 3.14-rc2
type=video
description_ru=„à ©¢¥à ¤«ï VMware SVGA II. description_ru=„à ©¢¥à ¤«ï VMware SVGA II.
description_en=The driver for VMware SVGA II. description_en=The driver for VMware SVGA II.
readme=/kolibrios/drivers/vmware/readme.txt readme=/kolibrios/drivers/vmware/readme.txt

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -98,13 +98,9 @@ bool LinksArray::HoverAndProceed(dword mx, my, list_y, list_first)
} }
if (mouse.mkm) && (mouse.up) { if (mouse.mkm) && (mouse.up) {
if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) { if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
open_new_window = true; ProcessEvent(IN_NEW_TAB);
EventClickLink(PageLinks.GetURL(PageLinks.active));
open_new_window = false;
} else { } else {
open_new_tab = true; ProcessEvent(IN_NEW_WINDOW);
EventClickLink(PageLinks.GetURL(PageLinks.active));
open_new_tab = false;
} }
return false; return false;
} }

View File

@ -14,10 +14,12 @@
#include "../lib/list_box.h" #include "../lib/list_box.h"
#include "../lib/obj/box_lib.h" #include "../lib/obj/box_lib.h"
#include "../lib/obj/libio.h" #include "../lib/obj/libio.h"
#include "../lib/obj/libimg.h"
#include "../lib/obj/libini.h" #include "../lib/obj/libini.h"
#include "../lib/collection.h" #include "../lib/collection.h"
#include "../lib/io.h" #include "../lib/io.h"
#include "../lib/patterns/select_list.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_ASSEPT_RISK "Ÿ ¯à¨­¨¬ î à¨áª"
#define T_README "Readme" #define T_README "Readme"
#define T_INSTALL "“áâ ­®¢¨âì" #define T_INSTALL "“áâ ­®¢¨âì"
#define T_DRIVER_INSTALLARION_STARTED "'<27> ç « áì ãáâ ­®¢ª  ¤à ©¢¥à .\n®£ ãáâ ­®¢ª¨ ­ å®¤¨âáï ¢ ¯à¨«®¦¥­¨¨ BOARD.'I"
char description_name[] = "description_ru"; char description_name[] = "description_ru";
#else #else
#define WINDOW_TITLE "Driver Installer" #define WINDOW_TITLE "Driver Installer"
@ -42,6 +45,7 @@ proc_info Form;
#define T_ASSEPT_RISK "I accept the risk" #define T_ASSEPT_RISK "I accept the risk"
#define T_README "Readme" #define T_README "Readme"
#define T_INSTALL "Install" #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"; char description_name[] = "description_en";
#endif #endif
@ -58,6 +62,7 @@ collection ini_sections;
char drvinf_path[4096] = "/kolibrios/drivers/drvinf.ini"; char drvinf_path[4096] = "/kolibrios/drivers/drvinf.ini";
char cur_version[64]; char cur_version[64];
char cur_type[12];
char cur_description[1024]; char cur_description[1024];
char cur_readme_path[4096]; char cur_readme_path[4096];
char cur_install_path[4096]; char cur_install_path[4096];
@ -86,6 +91,7 @@ void main()
load_dll(libio, #libio_init,1); load_dll(libio, #libio_init,1);
load_dll(libini, #lib_init,1); load_dll(libini, #lib_init,1);
load_dll(boxlib, #box_lib_init,0); load_dll(boxlib, #box_lib_init,0);
load_dll(libimg, #libimg_init,1);
GetIniData(); GetIniData();
SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER);
loop() switch(WaitEvent()) loop() switch(WaitEvent())
@ -136,6 +142,7 @@ void Draw_DriverListWindow()
int PADDING = 12; int PADDING = 12;
int right_frame_x = Form.cwidth*46/100; int right_frame_x = Form.cwidth*46/100;
int readme_w = 0; int readme_w = 0;
int icon_n = 38;
//LEFT FRAME //LEFT FRAME
SelectList_Init(PADDING, SelectList_Init(PADDING,
PADDING, PADDING,
@ -147,8 +154,10 @@ void Draw_DriverListWindow()
//RIGHT FRAME //RIGHT FRAME
GetCurrentSectionData(); GetCurrentSectionData();
DrawBar(right_frame_x, PADDING+3, Form.cwidth - right_frame_x - PADDING, 80, system.color.work); 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)); if (streq(#cur_type, "disk")) icon_n = 50;
WriteText(right_frame_x, PADDING+23, 0x80, system.color.work_text, #cur_version); 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); 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); 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, 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); 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, "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, #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, "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); 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; int result;
result = io.run(#cur_install_path, NULL); 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);
}
} }

View File

@ -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_x = col*list.item_w+5;
text_y = list.item_h - 40 / 2; text_y = list.item_h - 40 / 2;
if (kfont.getsize(key_name)+30<list.item_w) || (!strchr(key_name, ' ')) { if (!strchr(key_name, ' ')) {//|| (kfont.getsize(key_name)+30<list.item_w) <== too slow
kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos, list.item_w,0, swc.list_bg, swc.text, 12, key_name); kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos, list.item_w,0, swc.list_bg, swc.text, 12, key_name);
//WriteTextCenter(text_x, row*list.item_h+46 + list_pos+3, list.item_w, swc.text, key_name);
} else { } else {
space_pos = strrchr(key_name, ' '); space_pos = strrchr(key_name, ' ');
ESBYTE[key_name+space_pos-1] = '\0'; ESBYTE[key_name+space_pos-1] = '\0';
kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos - 2, list.item_w,0, swc.list_bg, swc.text, 12, key_name); kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos - 2, list.item_w,0, swc.list_bg, swc.text, 12, key_name);
kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos + 14, list.item_w,0, swc.list_bg, swc.text, 12, key_name+space_pos); kfont.WriteIntoWindowCenter(text_x, row*list.item_h+46 + list_pos + 13, list.item_w,0, swc.list_bg, swc.text, 12, key_name+space_pos);
//WriteTextCenter(text_x, row*list.item_h+46 + list_pos, list.item_w, swc.text, key_name);
//WriteTextCenter(text_x, row*list.item_h+46 + list_pos + 10, list.item_w, swc.text, key_name+space_pos);
} }
if (icon_char_pos) icon_id = atoi(icon_char_pos+1); if (icon_char_pos) icon_id = atoi(icon_char_pos+1);
img_draw stdcall(skin.image, icon_x, icon_y, 32, 32, 0, icon_id*32); img_draw stdcall(skin.image, icon_x, icon_y, 32, 32, 0, icon_id*32);