diff --git a/source/ubl-settings-video.c b/source/ubl-settings-video.c
index 257d197..5fbd446 100644
--- a/source/ubl-settings-video.c
+++ b/source/ubl-settings-video.c
@@ -1562,6 +1562,52 @@ void yon_adapter_window_setup(widgets_dict *widgets){
else {
gtk_widget_destroy(widgets->InformationCompanyLogoImage);
}
+ if (size>5){
+ gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay2),widgets->InformationCompanyLogoImage2);
+ yon_char_parsed_rip(rtn,&size,0);
+ yon_char_parsed_rip(rtn,&size,1);
+ yon_char_parsed_rip(rtn,&size,2);
+ yon_char_parsed_rip(rtn,&size,3);
+ yon_char_parsed_rip(rtn,&size,4);
+ char *desc = yon_config_get_parameter(rtn,size,"description");
+ yon_char_divide_search(desc,"=",-1);
+ char *product = yon_config_get_parameter(rtn,size,"product");
+ yon_char_divide_search(product,"=",-1);
+ char *vendor = yon_config_get_parameter(rtn,size,"vendor");
+ yon_char_divide_search(vendor,"=",-1);
+ char *driver_use = yon_config_get_parameter(rtn,size,"Kernel-driver-in-use");
+ yon_char_divide_search(driver_use,"=",-1);
+ char *driver_all = yon_config_get_parameter(rtn,size,"Kernel-modules");
+ yon_char_divide_search(driver_all,"=",-1);
+ char *final_text = yon_char_unite("",DESCRIPTION_LABEL,": ",_(desc),
+ "\n",VENDOR_LABEL,": ",vendor,
+ "\n",MODEL_LABEL,": ",product,
+ "\n",USED_KERNEL_DRIVER_LABEL,": ",driver_use,
+ "\n",AVALIABLE_KERNEL_DRIVERS_LABEL,": ",driver_all,"",NULL);
+ gtk_label_set_markup(GTK_LABEL(gtk_builder_get_object(widgets->builder,"InformationLabel2")),final_text);
+ if (strstr(vendor,"Intel")){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage2),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.intel-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else if (strstr(vendor,"NVIDIA")){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage2),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.nvidia-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else if (strstr(vendor,"AMD")){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage2),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.amd-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else if (strstr(vendor,"VMware")){
+ GtkIconTheme *icthm=gtk_icon_theme_get_default();
+ gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage2),gtk_icon_info_load_icon(gtk_icon_theme_lookup_icon_for_scale(icthm, "com.ublinux.ubl-settings-video.vmware-logo",64,1,GTK_ICON_LOOKUP_FORCE_SVG),NULL));
+ }
+ else {
+ gtk_widget_destroy(widgets->InformationCompanyLogoImage2);
+ }
+ } else {
+ gtk_widget_hide(widgets->InformationOverlay2);
+ gtk_widget_hide(GTK_WIDGET(gtk_builder_get_object(widgets->builder,"InformationLabel2")));
+ }
}
/** void yon_setup_widgets(widgets_dict *widgets)
@@ -1671,6 +1717,8 @@ void yon_setup_widgets(widgets_dict *widgets)
widgets->InformationFrameLabel = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationFrameLabel"));
widgets->InformationOverlay = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationOverlay"));
widgets->InformationCompanyLogoImage = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationCompanyLogoImage"));
+ widgets->InformationOverlay2 = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationOverlay2"));
+ widgets->InformationCompanyLogoImage2 = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationCompanyLogoImage2"));
widgets->driverInstalledColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverInstalledColumn"));
widgets->driverPackageColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverPackageColumn"));
diff --git a/source/ubl-settings-video.h b/source/ubl-settings-video.h
index 9a629d3..8a1dd84 100644
--- a/source/ubl-settings-video.h
+++ b/source/ubl-settings-video.h
@@ -277,6 +277,8 @@ typedef struct
GtkWidget *InformationFrameLabel;
GtkWidget *InformationOverlay;
GtkWidget *InformationCompanyLogoImage;
+ GtkWidget *InformationOverlay2;
+ GtkWidget *InformationCompanyLogoImage2;
GtkWidget *TerminalOverlay;
GtkWidget *TerminalBox;
diff --git a/source/ubl-utils.c b/source/ubl-utils.c
index e01d9a4..1a1d565 100644
--- a/source/ubl-utils.c
+++ b/source/ubl-utils.c
@@ -684,22 +684,24 @@ char **yon_char_parse(char *parameters, int *size, char *divider){
* Возвращает получившийся массив, в [size] загружается размер нового массива.
*/
char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete){
- char **new_char_parsed=NULL;
- new_char_parsed=malloc(sizeof(char*)*((*size)-1));
- int flag = 0;
- for (int i=0;i < (*size);i++){
- if (i==item_to_delete) {
- flag = 1;
- }
- if (flag == 0) {
- new_char_parsed[i]=yon_char_new(char_string[i]);
- }
- else if (flag == 1 && i!=item_to_delete) {
- new_char_parsed[i-1]=yon_char_new(char_string[i]);
+ if (char_string&&(*size)>0&&(*size)>item_to_delete&&item_to_delete>=0){
+ char **new_char_parsed=NULL;
+ new_char_parsed=malloc(sizeof(char*)*((*size)-1));
+ int flag = 0;
+ for (int i=0;i < (*size);i++){
+ if (i==item_to_delete) {
+ flag = 1;
+ }
+ if (flag == 0) {
+ new_char_parsed[i]=yon_char_new(char_string[i]);
+ }
+ else if (flag == 1 && i!=item_to_delete) {
+ new_char_parsed[i-1]=yon_char_new(char_string[i]);
+ }
}
- }
- (*size)=(*size)-1;
- return new_char_parsed;
+ (*size)=(*size)-1;
+ return new_char_parsed;
+ } else return NULL;
}
/**yon_char_parsed_check_exist(char **parameters, int size, char *param)
diff --git a/ubl-settings-video.glade b/ubl-settings-video.glade
index 087756c..fc405fc 100644
--- a/ubl-settings-video.glade
+++ b/ubl-settings-video.glade
@@ -14,6 +14,13 @@
start
64
+