If kernel has empty module or package space in csv, buttons for installing/uninstalling won't be shown. If both are empty, kernel will not be shown at all

pull/39/head
parent 355346de88
commit c154fafda3

@ -125,7 +125,8 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
} }
g_list_free(list); g_list_free(list);
if (!getuid()){ if (!getuid()){
if (tab->module_installed){ switch(tab->module_installed){
case 1:{
yon_tag_add(GTK_BOX(tab->install_tags_box),MODULE_INSTALLED_LABEL,"tag_green",NULL); 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); gtk_image_set_from_icon_name(GTK_IMAGE(tab->module_icon),module_icon_path,GTK_ICON_SIZE_BUTTON);
@ -133,23 +134,36 @@ gboolean yon_tab_create_tags(kernels_tab *tab){
gtk_widget_show(tab->update_module_button); gtk_widget_show(tab->update_module_button);
gtk_widget_hide(tab->install_module_button); gtk_widget_hide(tab->install_module_button);
} else { } break;
case 0:{
gtk_widget_hide(tab->remove_module_button); gtk_widget_hide(tab->remove_module_button);
gtk_widget_hide(tab->update_module_button); gtk_widget_hide(tab->update_module_button);
gtk_widget_show(tab->install_module_button); gtk_widget_show(tab->install_module_button);
} break;
case -1: {
gtk_widget_hide(tab->remove_module_button);
gtk_widget_hide(tab->update_module_button);
gtk_widget_hide(tab->install_module_button);
} break;
} }
{ switch (tab->package_installed){
if (tab->package_installed){ case 1: {
yon_tag_add(GTK_BOX(tab->install_tags_box),PACKAGE_INSTALLED_LABEL,"tag_green",NULL); 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); gtk_image_set_from_icon_name(GTK_IMAGE(tab->package_icon),package_icon_path,GTK_ICON_SIZE_BUTTON);
gtk_widget_hide(tab->install_package_button); gtk_widget_hide(tab->install_package_button);
gtk_widget_show(tab->remove_package_button); gtk_widget_show(tab->remove_package_button);
gtk_widget_show(tab->update_package_button); gtk_widget_show(tab->update_package_button);
} else { } break;
case 0:{
gtk_widget_show(tab->install_package_button); gtk_widget_show(tab->install_package_button);
gtk_widget_hide(tab->remove_package_button); gtk_widget_hide(tab->remove_package_button);
gtk_widget_hide(tab->update_package_button); gtk_widget_hide(tab->update_package_button);
}break;
case -1:{
gtk_widget_hide(tab->remove_package_button);
gtk_widget_hide(tab->update_package_button);
gtk_widget_hide(tab->install_package_button);
} }
} }
if (tab->package_installed||tab->module_installed){ if (tab->package_installed||tab->module_installed){
@ -198,31 +212,41 @@ char *yon_package_string_set(char *target){
void *yon_tab_set_installed(kernels_tab *tab){ void *yon_tab_set_installed(kernels_tab *tab){
char *target_module = yon_package_string_set(tab->module); char *target_module = yon_package_string_set(tab->module);
char *target_package = yon_package_string_set(tab->package); char *target_package = yon_package_string_set(tab->package);
char *check_install_command = NULL;
char *check_install_command = get_package_is_installed_command(target_module); //if module installed if (yon_char_is_empty(target_module)){
if (!system(yon_debug_output("%s\n",check_install_command))){ tab->module_installed=-1;
tab->module_installed=1; } else {
} else tab->module_installed=0; check_install_command = get_package_is_installed_command(target_module); //if module installed
free(check_install_command); if (!system(yon_debug_output("%s\n",check_install_command))){
tab->module_installed=1;
check_install_command = get_package_is_installed_command(target_package); //if package installed } else tab->module_installed=0;
if (!system(yon_debug_output("%s\n",check_install_command))){ free(check_install_command);
tab->package_installed=1;
} else tab->package_installed=0; check_install_command = get_package_is_updated_command(target_module); //if module has updates
free(check_install_command); if (!system(yon_debug_output("%s\n",check_install_command))){
tab->module_updated = 0;
check_install_command = get_package_is_updated_command(target_module); //if module has updates } else tab->module_updated = 1;
if (!system(yon_debug_output("%s\n",check_install_command))){ free(check_install_command);
tab->module_updated = 0; }
} else tab->module_updated = 1; if (yon_char_is_empty(target_package)){
free(check_install_command); tab->package_installed=-1;
} else {
check_install_command = get_package_is_updated_command(target_package); //if package has updates check_install_command = get_package_is_installed_command(target_package); //if package installed
if (!system(yon_debug_output("%s\n",check_install_command))){ if (!system(yon_debug_output("%s\n",check_install_command))){
tab->package_updated = 0; tab->package_installed=1;
} else tab->package_updated = 1; } else tab->package_installed=0;
free(check_install_command); free(check_install_command);
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;
free(check_install_command);
}
if (tab->package_installed==-1&&tab->module_installed==-1){
gtk_widget_destroy(tab->main_box);
tab->main_box=NULL;
}
gdk_threads_add_idle((GSourceFunc)yon_tab_create_tags,tab); gdk_threads_add_idle((GSourceFunc)yon_tab_create_tags,tab);
return NULL; return NULL;
} }

Loading…
Cancel
Save