Added menu for second videocard information

pull/55/head
parent 26d7cf3afd
commit 0a38702171

@ -1562,6 +1562,52 @@ void yon_adapter_window_setup(widgets_dict *widgets){
else { else {
gtk_widget_destroy(widgets->InformationCompanyLogoImage); 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("<span size=\"12pt\"><span weight='bold' color='#1a5fb4'>",DESCRIPTION_LABEL,":</span> ",_(desc),
"\n<span weight='bold' color='#1a5fb4'>",VENDOR_LABEL,":</span> ",vendor,
"\n<span weight='bold' color='#1a5fb4'>",MODEL_LABEL,":</span> ",product,
"\n<span weight='bold' color='#1a5fb4'>",USED_KERNEL_DRIVER_LABEL,":</span> ",driver_use,
"\n<span weight='bold' color='#1a5fb4'>",AVALIABLE_KERNEL_DRIVERS_LABEL,":</span> ",driver_all,"</span>",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) /** 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->InformationFrameLabel = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationFrameLabel"));
widgets->InformationOverlay = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationOverlay")); widgets->InformationOverlay = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationOverlay"));
widgets->InformationCompanyLogoImage = GTK_WIDGET(gtk_builder_get_object(widgets->builder, "InformationCompanyLogoImage")); 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->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")); widgets->driverPackageColumn = GTK_TREE_VIEW_COLUMN(gtk_builder_get_object(widgets->builder, "driverPackageColumn"));

@ -277,6 +277,8 @@ typedef struct
GtkWidget *InformationFrameLabel; GtkWidget *InformationFrameLabel;
GtkWidget *InformationOverlay; GtkWidget *InformationOverlay;
GtkWidget *InformationCompanyLogoImage; GtkWidget *InformationCompanyLogoImage;
GtkWidget *InformationOverlay2;
GtkWidget *InformationCompanyLogoImage2;
GtkWidget *TerminalOverlay; GtkWidget *TerminalOverlay;
GtkWidget *TerminalBox; GtkWidget *TerminalBox;

@ -684,22 +684,24 @@ char **yon_char_parse(char *parameters, int *size, char *divider){
* Возвращает получившийся массив, в [size] загружается размер нового массива. * Возвращает получившийся массив, в [size] загружается размер нового массива.
*/ */
char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete){ char **yon_char_parsed_rip(char **char_string, int *size, int item_to_delete){
char **new_char_parsed=NULL; if (char_string&&(*size)>0&&(*size)>item_to_delete&&item_to_delete>=0){
new_char_parsed=malloc(sizeof(char*)*((*size)-1)); char **new_char_parsed=NULL;
int flag = 0; new_char_parsed=malloc(sizeof(char*)*((*size)-1));
for (int i=0;i < (*size);i++){ int flag = 0;
if (i==item_to_delete) { for (int i=0;i < (*size);i++){
flag = 1; if (i==item_to_delete) {
} flag = 1;
if (flag == 0) { }
new_char_parsed[i]=yon_char_new(char_string[i]); 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]); else if (flag == 1 && i!=item_to_delete) {
new_char_parsed[i-1]=yon_char_new(char_string[i]);
}
} }
} (*size)=(*size)-1;
(*size)=(*size)-1; return new_char_parsed;
return new_char_parsed; } else return NULL;
} }
/**yon_char_parsed_check_exist(char **parameters, int size, char *param) /**yon_char_parsed_check_exist(char **parameters, int size, char *param)

@ -14,6 +14,13 @@
<property name="valign">start</property> <property name="valign">start</property>
<property name="pixel-size">64</property> <property name="pixel-size">64</property>
</object> </object>
<object class="GtkImage" id="InformationCompanyLogoImage2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">end</property>
<property name="valign">start</property>
<property name="pixel-size">64</property>
</object>
<object class="GtkMenu" id="LoadConfigurationMenu"> <object class="GtkMenu" id="LoadConfigurationMenu">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
@ -1798,26 +1805,55 @@ translated and supported by community.</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="margin-top">15</property> <property name="margin-top">15</property>
<property name="margin-bottom">15</property> <property name="margin-bottom">15</property>
<property name="orientation">vertical</property>
<property name="spacing">20</property> <property name="spacing">20</property>
<child> <child>
<object class="GtkOverlay" id="InformationOverlay"> <object class="GtkBox">
<property name="width-request">177</property>
<property name="height-request">159</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<child> <child>
<object class="GtkImage"> <object class="GtkOverlay" id="InformationOverlay">
<property name="width-request">177</property>
<property name="height-request">159</property>
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="halign">start</property> <property name="halign">start</property>
<property name="valign">end</property> <property name="valign">start</property>
<property name="pixel-size">128</property> <child>
<property name="icon-name">com.ublinux.ubl-settings-video.video-card</property> <object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">end</property>
<property name="pixel-size">128</property>
<property name="icon-name">com.ublinux.ubl-settings-video.video-card</property>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="index">-1</property> <property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="InformationLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="margin-top">30</property>
<property name="label" translatable="yes">&lt;span size='15pt'&gt;&lt;span color='#1a5fb4'&gt;sdrtjhsrtjh:&lt;/span&gt; dfuykdftytdykkdfty&lt;/span&gt;</property>
<property name="use-markup">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing> </packing>
</child> </child>
</object> </object>
@ -1828,15 +1864,54 @@ translated and supported by community.</property>
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkLabel" id="InformationLabel"> <object class="GtkBox">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="valign">start</property> <child>
<property name="margin-top">30</property> <object class="GtkOverlay" id="InformationOverlay2">
<property name="label" translatable="yes">&lt;span size='15pt'&gt;&lt;span color='#1a5fb4'&gt;sdrtjhsrtjh:&lt;/span&gt; dfuykdftytdykkdfty&lt;/span&gt;</property> <property name="width-request">177</property>
<property name="use-markup">True</property> <property name="height-request">159</property>
<property name="xalign">0</property> <property name="visible">True</property>
<property name="yalign">0</property> <property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">start</property>
<child>
<object class="GtkImage">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="halign">start</property>
<property name="valign">end</property>
<property name="pixel-size">128</property>
<property name="icon-name">com.ublinux.ubl-settings-video.video-card</property>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="InformationLabel2">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="valign">start</property>
<property name="margin-top">30</property>
<property name="label" translatable="yes">&lt;span size='15pt'&gt;&lt;span color='#1a5fb4'&gt;sdrtjhsrtjh:&lt;/span&gt; dfuykdftytdykkdfty&lt;/span&gt;</property>
<property name="use-markup">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>

Loading…
Cancel
Save