@ -884,7 +884,7 @@ void on_groups_clicked(GtkWidget *, GtkEntry *output_target){
char * final_group_name = NULL ;
char * final_group_name = NULL ;
if ( digits == strlen ( current_group ) ) {
if ( digits && digits == strlen ( current_group ) ) {
for ( int i = 0 ; i < main_config . groups_size ; i + + ) {
for ( int i = 0 ; i < main_config . groups_size ; i + + ) {
int group_size = 0 ;
int group_size = 0 ;
config_str groups_parsed = yon_char_parse ( main_config . groups [ i ] , & group_size , " : " ) ;
config_str groups_parsed = yon_char_parse ( main_config . groups [ i ] , & group_size , " : " ) ;
@ -901,7 +901,7 @@ void on_groups_clicked(GtkWidget *, GtkEntry *output_target){
for_iter ( window - > list , & iter ) {
for_iter ( window - > list , & iter ) {
char * group ;
char * group ;
gtk_tree_model_get ( GTK_TREE_MODEL ( window - > list ) , & iter , 1 , & group , - 1 ) ;
gtk_tree_model_get ( GTK_TREE_MODEL ( window - > list ) , & iter , 1 , & group , - 1 ) ;
if ( ! strcmp( group , final_group_name ) ) {
if ( ! yon_char_is_empty( final_group_name ) & & ! strcmp( group , final_group_name ) ) {
gtk_tree_selection_select_iter ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( window - > GroupsTree ) ) , & iter ) ;
gtk_tree_selection_select_iter ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( window - > GroupsTree ) ) , & iter ) ;
gtk_tree_view_scroll_to_cell ( GTK_TREE_VIEW ( window - > GroupsTree ) , gtk_tree_model_get_path ( GTK_TREE_MODEL ( window - > list ) , & iter ) , gtk_tree_view_get_column ( GTK_TREE_VIEW ( window - > GroupsTree ) , 1 ) , 0 , 0 , 0 ) ;
gtk_tree_view_scroll_to_cell ( GTK_TREE_VIEW ( window - > GroupsTree ) , gtk_tree_model_get_path ( GTK_TREE_MODEL ( window - > list ) , & iter ) , gtk_tree_view_get_column ( GTK_TREE_VIEW ( window - > GroupsTree ) , 1 ) , 0 , 0 , 0 ) ;
break ;
break ;
@ -2802,6 +2802,19 @@ void on_user_sync_with_config(GtkWidget *,main_window *widgets){
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > SystemTree ) ) , & model , & iter ) ) {
if ( gtk_tree_selection_get_selected ( gtk_tree_view_get_selection ( GTK_TREE_VIEW ( widgets - > SystemTree ) ) , & model , & iter ) ) {
char * target ;
char * target ;
gtk_tree_model_get ( model , & iter , 2 , & target , - 1 ) ;
gtk_tree_model_get ( model , & iter , 2 , & target , - 1 ) ;
dialog_confirmation_data data ;
if ( config ( USERADD ( target ) ) ) {
data . action_text = SYSTEM_USER_SYNC_CONFIRMATION_LABEL ( target ) ;
data . data = NULL ;
data . function = NULL ;
} else {
data . action_text = SYSTEM_USER_ADD_CONFIRMATION_LABEL ( target ) ;
data . data = NULL ;
data . function = NULL ;
}
if ( yon_confirmation_dialog_call ( widgets - > Window , & data ) ! = GTK_RESPONSE_ACCEPT ) {
return ;
}
int size ;
int size ;
config_str passwd_users = yon_file_open ( users_path , & size ) ;
config_str passwd_users = yon_file_open ( users_path , & size ) ;
int active_usr = yon_char_parsed_strstr ( passwd_users , size , target ) ;
int active_usr = yon_char_parsed_strstr ( passwd_users , size , target ) ;
@ -2832,6 +2845,7 @@ void on_user_sync_with_config(GtkWidget *,main_window *widgets){
// config_str shadow = yon_file_open(shadow_path,&shadow_size);
// config_str shadow = yon_file_open(shadow_path,&shadow_size);
}
}
}
}
yon_interface_update ( ( main_window * ) widgets ) ;
break ;
break ;
case 3 :
case 3 :
break ;
break ;