|
|
|
|
@ -452,11 +452,38 @@ void on_app_chooser_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_adapter_window_setup(main_window *widgets){
|
|
|
|
|
void yon_adapter_update(struct adapter_struct *adapter){
|
|
|
|
|
if (!adapter->vendor){
|
|
|
|
|
gtk_widget_hide(adapter->widgets->InformationOverlay2);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
gtk_label_set_markup(GTK_LABEL(adapter->widgets->InformationLabel),adapter->adapter_text);
|
|
|
|
|
if (strstr(adapter->vendor,"Intel")){
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),"com.ublinux.ubl-settings-video.intel-logo",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_pixel_size(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),64);
|
|
|
|
|
}
|
|
|
|
|
else if (strstr(adapter->vendor,"NVIDIA")){
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),"com.ublinux.ubl-settings-video.nvidia-logo",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_pixel_size(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),64);
|
|
|
|
|
}
|
|
|
|
|
else if (strstr(adapter->vendor,"AMD")||strstr(adapter->vendor,"Advanced Micro Devices")){
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),"com.ublinux.ubl-settings-video.amd-logo",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_pixel_size(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),64);
|
|
|
|
|
}
|
|
|
|
|
else if (strstr(adapter->vendor,"VMware")){
|
|
|
|
|
gtk_image_set_from_icon_name(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),"com.ublinux.ubl-settings-video.vmware-logo",GTK_ICON_SIZE_BUTTON);
|
|
|
|
|
gtk_image_set_pixel_size(GTK_IMAGE(adapter->widgets->InformationCompanyLogoImage),64);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
gtk_widget_destroy(adapter->widgets->InformationCompanyLogoImage);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void *yon_load_adapter(main_window *widgets){
|
|
|
|
|
int size=0;
|
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay),widgets->InformationCompanyLogoImage);
|
|
|
|
|
config_str rtn = yon_config_load(get_adapter_info_json,&size);
|
|
|
|
|
struct json_object *jsobject = json_tokener_parse(yon_char_parsed_to_string(rtn,size,""));{
|
|
|
|
|
struct json_object *jsobject = json_tokener_parse(yon_char_parsed_to_string(rtn,size,""));
|
|
|
|
|
{
|
|
|
|
|
struct json_object *item_obj = json_object_array_get_idx(jsobject, 0);
|
|
|
|
|
struct json_object *unit_obj;
|
|
|
|
|
const char *desc="";
|
|
|
|
|
@ -493,28 +520,14 @@ void yon_adapter_window_setup(main_window *widgets){
|
|
|
|
|
"\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(widgets->InformationLabel),final_text);
|
|
|
|
|
if (strstr(vendor,"Intel")){
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage),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->InformationCompanyLogoImage),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")||strstr(vendor,"Advanced Micro Devices")){
|
|
|
|
|
GtkIconTheme *icthm=gtk_icon_theme_get_default();
|
|
|
|
|
gtk_image_set_from_pixbuf(GTK_IMAGE(widgets->InformationCompanyLogoImage),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->InformationCompanyLogoImage),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->InformationCompanyLogoImage);
|
|
|
|
|
}
|
|
|
|
|
struct adapter_struct *adapter_info = malloc(sizeof(struct adapter_struct));
|
|
|
|
|
memset(adapter_info,0,sizeof(struct adapter_struct));
|
|
|
|
|
adapter_info->widgets = widgets;
|
|
|
|
|
adapter_info->vendor=yon_char_new(vendor);
|
|
|
|
|
adapter_info->adapter_text = yon_char_new(final_text);
|
|
|
|
|
g_idle_add_once((GSourceOnceFunc)yon_adapter_update,adapter_info);
|
|
|
|
|
}
|
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay2),widgets->InformationCompanyLogoImage2);
|
|
|
|
|
{
|
|
|
|
|
struct json_object *item_obj = json_object_array_get_idx(jsobject, 1);
|
|
|
|
|
if (item_obj){
|
|
|
|
|
struct json_object *unit_obj;
|
|
|
|
|
@ -552,29 +565,28 @@ void yon_adapter_window_setup(main_window *widgets){
|
|
|
|
|
"\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(widgets->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")&&strstr(vendor,"Advanced Micro Devices")){
|
|
|
|
|
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));
|
|
|
|
|
|
|
|
|
|
struct adapter_struct *adapter_info = malloc(sizeof(struct adapter_struct));
|
|
|
|
|
memset(adapter_info,0,sizeof(struct adapter_struct));
|
|
|
|
|
adapter_info->widgets = widgets;
|
|
|
|
|
adapter_info->vendor=yon_char_new(vendor);
|
|
|
|
|
adapter_info->adapter_text = yon_char_new(final_text);
|
|
|
|
|
g_idle_add_once((GSourceOnceFunc)yon_adapter_update,adapter_info);
|
|
|
|
|
} else {
|
|
|
|
|
struct adapter_struct *adapter_info = malloc(sizeof(struct adapter_struct));
|
|
|
|
|
memset(adapter_info,0,sizeof(struct adapter_struct));
|
|
|
|
|
adapter_info->widgets = widgets;
|
|
|
|
|
|
|
|
|
|
g_idle_add_once((GSourceOnceFunc)yon_adapter_update,adapter_info);
|
|
|
|
|
}
|
|
|
|
|
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);
|
|
|
|
|
g_thread_exit(NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_adapter_window_setup(main_window *widgets){
|
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay),widgets->InformationCompanyLogoImage);
|
|
|
|
|
g_thread_new("adapter_thread",(GThreadFunc)yon_load_adapter,widgets);
|
|
|
|
|
gtk_overlay_add_overlay(GTK_OVERLAY(widgets->InformationOverlay2),widgets->InformationCompanyLogoImage2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void yon_set_sensitive_from_combo_box(GtkComboBox *toggle, GtkWidget *target){
|
|
|
|
|
@ -967,8 +979,12 @@ int main(int argc, char *argv[]){
|
|
|
|
|
template_main_window *widgets = yon_ubl_window_setup();
|
|
|
|
|
config_init();
|
|
|
|
|
widgets = yon_main_window_complete((main_window*)widgets);
|
|
|
|
|
yon_packages_init();
|
|
|
|
|
yon_window_config_setup(GTK_WINDOW(widgets->Window));
|
|
|
|
|
|
|
|
|
|
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
|
|
|
|
|
yon_window_config_load(path);
|
|
|
|
|
yon_root_button_setup(widgets,argv,argc);
|
|
|
|
|
yon_packages_init();
|
|
|
|
|
|
|
|
|
|
if (system(yon_check_database_command)){
|
|
|
|
|
dialog_confirmation_data *data = yon_confirmation_dialog_data_new();
|
|
|
|
|
@ -982,10 +998,6 @@ int main(int argc, char *argv[]){
|
|
|
|
|
} else {
|
|
|
|
|
yon_proprietary_get_thread(NULL,(main_window*)widgets);
|
|
|
|
|
}
|
|
|
|
|
yon_window_config_setup(GTK_WINDOW(widgets->Window));
|
|
|
|
|
|
|
|
|
|
char *path = yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL);
|
|
|
|
|
yon_window_config_load(path);
|
|
|
|
|
gtk_main();
|
|
|
|
|
yon_packages_finish();
|
|
|
|
|
return 0;
|
|
|
|
|
|