diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index 2aaa0c7..1dae467 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -133,6 +133,11 @@ gboolean yon_tab_create_tags(kernels_tab *tab){ gtk_widget_show(tab->update_module_button); gtk_widget_hide(tab->install_module_button); + } else { + gtk_widget_hide(tab->remove_module_button); + gtk_widget_hide(tab->update_module_button); + + gtk_widget_show(tab->install_module_button); } { if (tab->package_installed){ @@ -141,6 +146,10 @@ gboolean yon_tab_create_tags(kernels_tab *tab){ gtk_widget_hide(tab->install_package_button); gtk_widget_show(tab->remove_package_button); gtk_widget_show(tab->update_package_button); + } else { + gtk_widget_show(tab->install_package_button); + gtk_widget_hide(tab->remove_package_button); + gtk_widget_hide(tab->update_package_button); } } if (tab->package_installed||tab->module_installed){ @@ -194,23 +203,25 @@ void *yon_tab_set_installed(kernels_tab *tab){ char *target_module = yon_package_string_set(tab->module); char *target_package = yon_package_string_set(tab->package); - char *check_install_command = get_package_is_installed_command(target_module); + char *check_install_command = get_package_is_installed_command(target_module); //if module installed if (!system(yon_debug_output("%s\n",check_install_command))){ tab->module_installed=1; } else tab->module_installed=0; free(check_install_command); - check_install_command = get_package_is_installed_command(target_package); + + check_install_command = get_package_is_installed_command(target_package); //if package installed if (!system(yon_debug_output("%s\n",check_install_command))){ tab->package_installed=1; } else tab->package_installed=0; free(check_install_command); - check_install_command = get_package_is_updated_command(target_module); + check_install_command = get_package_is_updated_command(target_module); //if module has updates if (!system(yon_debug_output("%s\n",check_install_command))){ tab->module_updated = 0; } else tab->module_updated = 1; free(check_install_command); - check_install_command = get_package_is_updated_command(target_package); + + check_install_command = get_package_is_updated_command(target_package); //if package has updates if (!system(yon_debug_output("%s\n",check_install_command))){ tab->package_updated = 0; } else tab->package_updated = 1; @@ -567,7 +578,6 @@ void on_module_remove_clicked(GtkWidget *self,dictionary *dict){ char *command = remove_command(target); char *command_unload = unload_command(target); system(yon_debug_output("%s\n",command_unload)); - // system(yon_debug_output("%s\n",command)); g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_module_remove_done),tab); yon_command_execute_async(command,widgets); tab->module_installed=0; @@ -609,44 +619,8 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo int size; config_str parsed = yon_char_parse(target_string,&size,";"); if (size){ - int types_size; - dictionary *cur = yon_dictionary_get(&main_config.kernel_tabs,parsed[2]); kernels_tab *tab = NULL; - if (cur){ - tab = (kernels_tab*)cur->data; - gtk_widget_hide(tab->changelog_button); - gtk_widget_show(tab->launch_button); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),"",GTK_ICON_SIZE_BUTTON); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),"",GTK_ICON_SIZE_BUTTON); - if (tab->module_installed){ - gtk_widget_show(tab->remove_module_button); - gtk_widget_hide(tab->install_module_button); - gtk_widget_show(tab->remove_module_button); - yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); - } else { - gtk_widget_hide(tab->remove_module_button); - gtk_widget_hide(tab->update_module_button); - gtk_widget_show(tab->install_module_button); - - } - if (tab->package_installed){ - gtk_widget_show(tab->remove_package_button); - gtk_widget_hide(tab->install_package_button); - gtk_widget_show(tab->changelog_button); - yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); - - } else { - gtk_widget_hide(tab->remove_package_button); - gtk_widget_hide(tab->update_package_button); - gtk_widget_show(tab->install_package_button); - - } - if (!tab->package_installed&&!tab->module_installed){ - gtk_widget_hide(tab->launch_button); - } - } else { + int types_size; tab = malloc(sizeof(kernels_tab)); @@ -738,7 +712,6 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->RunSizeGroup),tab->run_tags_box); gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label); gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->launch_button)); - } @@ -748,42 +721,11 @@ kernels_tab *yon_tab_row_new(GtkListBox *target, char *target_string, main_windo } additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *target_string, main_window *widgets){ - int size; + int size=0; config_str parsed = yon_char_parse(target_string,&size,";"); if (size){ - dictionary *cur = yon_dictionary_get(&main_config.addition_tabs,parsed[2]); additions_kernels_tab *tab = NULL; - if (cur){ - tab = (additions_kernels_tab*)cur->data; - gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),"",GTK_ICON_SIZE_BUTTON); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),"",GTK_ICON_SIZE_BUTTON); - if (tab->module_installed){ - gtk_widget_show(tab->remove_module_button); - gtk_widget_hide(tab->install_module_button); - gtk_widget_show(tab->update_module_button); - gtk_widget_show(tab->remove_module_button); - yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON); - } else { - gtk_widget_hide(tab->update_module_button); - gtk_widget_hide(tab->remove_module_button); - gtk_widget_show(tab->install_module_button); - - } - if (tab->package_installed){ - gtk_widget_show(tab->update_package_button); - gtk_widget_show(tab->remove_package_button); - gtk_widget_hide(tab->install_package_button); - yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); - gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON); - - } else { - gtk_widget_hide(tab->update_package_button); - gtk_widget_hide(tab->remove_package_button); - gtk_widget_show(tab->install_package_button); - - } - } else { + GtkBuilder *builder = gtk_builder_new_from_resource(glade_additions_table_row_path); tab = malloc(sizeof(additions_kernels_tab)); @@ -819,28 +761,23 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe g_signal_connect(G_OBJECT(tab->remove_package_button),"clicked",G_CALLBACK(on_package_remove_clicked),dict); gtk_list_box_insert(target,tab->main_box,-1); - int size; - config_str parsed = yon_char_parse(target_string,&size,";"); - if (size){ - tab->name = yon_char_new(parsed[0]); - tab->module = yon_char_new(parsed[1]); - tab->package = yon_char_new(parsed[2]); - char *name = yon_char_unite("",tab->name,"",NULL); - char *module = yon_char_unite("",MODULE_LABEL," ",tab->module,"",NULL); - char *package = yon_char_unite("",PACKAGE_LABEL," ",tab->package,"",NULL); - - yon_dictionary_add_or_create_if_exists_with_data(main_config.addition_tabs,tab->package,tab); - - gtk_label_set_markup(GTK_LABEL(tab->name_label),name); - gtk_label_set_markup(GTK_LABEL(tab->module_label),module); - gtk_label_set_markup(GTK_LABEL(tab->package_label),package); - gtk_label_set_text(GTK_LABEL(tab->description_label),parsed[3]); - gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->KernelSizeGroup),gtk_widget_get_parent(gtk_widget_get_parent(tab->name_label))); - gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->InstallSizeGroup),tab->install_tags_box); - gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label); - gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->remove_module_button)); - } - } + tab->name = yon_char_new(parsed[0]); + tab->module = yon_char_new(parsed[1]); + tab->package = yon_char_new(parsed[2]); + char *name = yon_char_unite("",tab->name,"",NULL); + char *module = yon_char_unite("",MODULE_LABEL," ",tab->module,"",NULL); + char *package = yon_char_unite("",PACKAGE_LABEL," ",tab->package,"",NULL); + + yon_dictionary_add_or_create_if_exists_with_data(main_config.addition_tabs,tab->package,tab); + + gtk_label_set_markup(GTK_LABEL(tab->name_label),name); + gtk_label_set_markup(GTK_LABEL(tab->module_label),module); + gtk_label_set_markup(GTK_LABEL(tab->package_label),package); + gtk_label_set_text(GTK_LABEL(tab->description_label),parsed[3]); + gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->KernelSizeGroup),gtk_widget_get_parent(gtk_widget_get_parent(tab->name_label))); + gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->InstallSizeGroup),tab->install_tags_box); + gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->DescriptionSizeGroup),tab->description_label); + gtk_size_group_add_widget(GTK_SIZE_GROUP(widgets->ButtonsSizeGroup),gtk_widget_get_parent(tab->remove_module_button)); return tab; } return NULL;