@ -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 ;
}
}