diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index 0cec4cc..e0a2b56 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -663,18 +663,21 @@ int yon_system_user_sync(char *target_user){ !yon_char_is_empty(groups_string)?groups_string:"",":", !yon_char_is_empty(optionals)?optionals:"",":", user_size>1&&strcmp(parsed[1],"x")?yon_char_return_if_exist(parsed[1],""):yon_char_return_if_exist(parsed_shadow[1],""),NULL); - char *config_shadow = yon_char_unite(yon_char_return_if_exist(parsed[2],""),":", - user_size>3?parsed[3]:"",":", - user_size>4?parsed[4]:"",":", - user_size>5?parsed[5]:"",":", - user_size>6?parsed[6]:"",":", - user_size>7?parsed[7]:"",":",NULL); + + char *config_shadow = yon_char_unite(yon_char_return_if_exist(parsed_shadow[2],""),":", + user_size>3?parsed_shadow[3]:"",":", + user_size>4?parsed_shadow[4]:"",":", + user_size>5?parsed_shadow[5]:"",":", + user_size>6?parsed_shadow[6]:"",":", + user_size>7?parsed_shadow[7]:"",":",NULL); free(groups_string); free(optionals); if (!yon_char_is_empty(config_user)){ char *user_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",USERADD(target_user)); - yon_config_register(USERADD(target_user),user_command,config_user); + char *parameter_name = USERADD(target_user); + yon_config_register(parameter_name,user_command,config_user); + yon_config_remove_ignore(parameter_name); free(config_user); } else return 0; diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 03faec5..57ca1a4 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -336,10 +336,14 @@ void yon_hide_passwords(template_saving_window *window){ char *new_value; gtk_tree_model_get(model,&iter,1,&name,2,&old_value,3,&new_value,-1); if (strstr(name,USERADD_SEARCH_macro)){ - if (!yon_char_is_empty(new_value)&&!yon_char_is_empty(old_value)&&strstr(new_value,old_value)){ + if (!yon_char_is_empty(new_value)&&!yon_char_is_empty(old_value)&&strstr(new_value,old_value)&&new_value[0]==old_value[0]){ GtkTreeIter *iter_cur = gtk_tree_iter_copy(&iter); gtk_list_store_remove(window->list,iter_cur); - gtk_tree_model_get_iter_first(model,&iter); + if (!gtk_tree_model_get_iter_first(model,&iter)){ + gtk_widget_destroy(window->Window); + yon_ubl_status_box_render(yon_char_get_localised_from_lib(NOTHING_TO_SAVE_LABEL),BACKGROUND_IMAGE_FAIL_TYPE); + return; + } continue; } char *old=NULL; @@ -2188,41 +2192,17 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi gtk_widget_show(widgets->DeleteButton); gtk_widget_show(widgets->UserInfoButton); gtk_widget_hide(widgets->UserAddToConfigButton); - GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList); - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){ - gtk_widget_set_sensitive(widgets->EditButton,1); - gtk_widget_set_sensitive(widgets->DeleteButton,1); - } else { - gtk_widget_set_sensitive(widgets->EditButton,0); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } } else if (num==1){ gtk_widget_show(widgets->AddButton); gtk_widget_show(widgets->EditButton); gtk_widget_show(widgets->DeleteButton); gtk_widget_hide(widgets->UserAddToConfigButton); gtk_widget_hide(widgets->UserInfoButton); - GtkTreeModel *model = GTK_TREE_MODEL(widgets->GroupsList); - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree)),&model,&iter)){ - gtk_widget_set_sensitive(widgets->EditButton,1); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } else { - gtk_widget_set_sensitive(widgets->EditButton,0); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } } else if (num==2){ gtk_widget_hide(widgets->AddButton); gtk_widget_hide(widgets->EditButton); gtk_widget_show(widgets->UserInfoButton); gtk_widget_show(widgets->UserAddToConfigButton); - GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1); - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){ - gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1); - gtk_widget_set_sensitive(widgets->DeleteButton,1); - } else { - gtk_widget_set_sensitive(widgets->UserAddToConfigButton,0); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } } else if (num==3){ gtk_widget_hide(widgets->AddButton);