|
|
|
@ -196,6 +196,7 @@ void on_driver_install(GtkWidget *self,widgets_dict *widgets){
|
|
|
|
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
gtk_tree_model_get(list_s,&iter,2,&name,-1);
|
|
|
|
gtk_tree_model_get(list_s,&iter,2,&name,-1);
|
|
|
|
yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name));
|
|
|
|
yon_terminal_start(widgets,yon_char_append(install_proprietary_command,name));
|
|
|
|
|
|
|
|
gtk_list_store_set(videoconfig.list,&iter,0,1,-1);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -271,6 +272,7 @@ void on_driver_delete(GtkWidget *self,widgets_dict *widgets){
|
|
|
|
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
if (gtk_tree_selection_get_selected(selection,&list_s,&iter)){
|
|
|
|
gtk_tree_model_get(list_s,&iter,2,&name,-1);
|
|
|
|
gtk_tree_model_get(list_s,&iter,2,&name,-1);
|
|
|
|
yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name));
|
|
|
|
yon_terminal_start(widgets,yon_char_append(delete_proprietary_command,name));
|
|
|
|
|
|
|
|
gtk_list_store_set(videoconfig.list,&iter,0,0,-1);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
yon_ubl_status_box_render(PROPRIETARY_NOTHING_SELECTED_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -1094,14 +1096,21 @@ void yon_proprietary_local_get(){
|
|
|
|
config_str rtn=NULL;
|
|
|
|
config_str rtn=NULL;
|
|
|
|
rtn = yon_config_load(get_proprietary_drivers_info_command,&size);
|
|
|
|
rtn = yon_config_load(get_proprietary_drivers_info_command,&size);
|
|
|
|
config_str drivers=yon_config_load(get_proprietary_installed_command,&drivers_size);
|
|
|
|
config_str drivers=yon_config_load(get_proprietary_installed_command,&drivers_size);
|
|
|
|
for (int dr_desc=0;dr_desc<drivers_size;dr_desc++){
|
|
|
|
for (int i=0;i<drivers_size;i++){
|
|
|
|
for (int dr_foun=0;dr_foun<drivers_size;dr_foun++){
|
|
|
|
if (drivers[i][strlen(drivers[i])-1]=='\n') drivers[i][strlen(drivers[i])-1] = '\0';
|
|
|
|
drivers[dr_foun]=yon_char_divide_search(drivers[dr_foun],"\n",-1);
|
|
|
|
}
|
|
|
|
char *pack=yon_char_new(rtn[dr_desc]);
|
|
|
|
for (int dr_desc=1;dr_desc<size;dr_desc++){
|
|
|
|
char *ubm=yon_char_divide_search(pack,";",-1);
|
|
|
|
int current_size;
|
|
|
|
pack=yon_char_divide_search(pack,";",-1);
|
|
|
|
config_str current = yon_char_parse(rtn[dr_desc],¤t_size,";");
|
|
|
|
if (strcmp(drivers[dr_foun],ubm)==0){
|
|
|
|
if (strcmp(current[0],"")){
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[dr_foun],rtn[dr_desc]);
|
|
|
|
int target = yon_char_parsed_check_exist(drivers,drivers_size,current[0]);
|
|
|
|
|
|
|
|
if (target>-1){
|
|
|
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[target],rtn[dr_desc]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else if (strcmp(current[1],"")){
|
|
|
|
|
|
|
|
int target = yon_char_parsed_check_exist(drivers,drivers_size,current[1]);
|
|
|
|
|
|
|
|
if (target>-1){
|
|
|
|
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(videoconfig.proprietary,drivers[target],rtn[dr_desc]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|