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);
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);
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_hide(tab->install_module_button);
} else {
} break;
case 0:{
gtk_widget_hide(tab->remove_module_button);
gtk_widget_hide(tab->update_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;
}
{
if (tab->package_installed){
switch (tab->package_installed){
case 1: {
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_widget_hide(tab->install_package_button);
gtk_widget_show(tab->remove_package_button);
gtk_widget_show(tab->update_package_button);
} else {
} break;
case 0:{
gtk_widget_show(tab->install_package_button);
gtk_widget_hide(tab->remove_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){
@ -198,31 +212,41 @@ char *yon_package_string_set(char *target){
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); //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); //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); //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); //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);
char *check_install_command = NULL;
if (yon_char_is_empty(target_module)){
tab->module_installed=-1;
} else {
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_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);
}
if (yon_char_is_empty(target_package)){
tab->package_installed=-1;
} else {
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_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);
return NULL;
}

Loading…
Cancel
Save