diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 2c6d160..2fdb0b4 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -884,7 +884,7 @@ void on_groups_clicked(GtkWidget *, GtkEntry *output_target){ char *final_group_name=NULL; - if (digits==strlen(current_group)){ + if (digits&&digits==strlen(current_group)){ for (int i=0;ilist,&iter){ char *group; 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_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; @@ -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)){ char *target; 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; config_str passwd_users = yon_file_open(users_path,&size); 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); } } + yon_interface_update((main_window*)widgets); break; case 3: break; diff --git a/source/ubl-strings.h b/source/ubl-strings.h index e6a97d2..d77577b 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -51,6 +51,9 @@ #define UPDATE_LABEL _("Update users and groups") #define SAVING_CONFIGURATION_LABEL _("Additional saving configuration") +#define SYSTEM_USER_ADD_CONFIRMATION_LABEL(target) yon_char_unite(_("This user doesn't exist in configuration. Are you sure want to add user")," ",target," ", _("to configuration?"),NULL) +#define SYSTEM_USER_SYNC_CONFIRMATION_LABEL(target) yon_char_unite(_("This user exists in configuration. Are you sure want to update user")," ",target," ", _("data at configuration?"),NULL) + //ubl-settings-usergroups-additional-settings.glade #define ADDITIONAL_SETTINGS_TITLE_LABEL _("Additional settings")