From fb57402f9a5d12d16e33c60c6bfad93d564a75aa Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 22 Dec 2023 16:14:59 +0600 Subject: [PATCH] User creation saving and loading fixes --- source/ubl-settings-usergroups.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 727ab44..eaea778 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -387,7 +387,9 @@ void on_group_save(GtkWidget *self, dictionary *dict){ NULL); yon_config_register(GROUPADD(group_name),"users",final_string); GtkTreeIter iter; - gtk_list_store_append(widgets->GroupsList,&iter); + GtkTreeModel *model = GTK_TREE_MODEL(widgets->GroupsList); + if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsList)),&model,&iter)) + gtk_list_store_append(widgets->GroupsList,&iter); gtk_list_store_set(widgets->GroupsList,&iter,0,gid,1,group_name,2,group_users,3,yon_char_append(non_unique,gsystem),4,gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->PasswordCombo)),-1); on_subwindow_close(self); } @@ -1010,6 +1012,7 @@ void on_main_add(GtkWidget *self, main_window *widgets){ GtkTreeIter iter; if (gtk_notebook_get_current_page(GTK_NOTEBOOK(widgets->MainNotebook))==0){ model = GTK_TREE_MODEL(widgets->UsersList); + gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree))); ubl_settings_usergroups_user_window *window = yon_ubl_settings_usergroups_user_new(); dictionary *dict = NULL; yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); @@ -1020,6 +1023,7 @@ void on_main_add(GtkWidget *self, main_window *widgets){ gtk_widget_show(window->CreateUserWindow); } else { model = GTK_TREE_MODEL(widgets->GroupsList); + gtk_tree_selection_unselect_all(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree))); ubl_settings_usergroups_group_creation_window *window = yon_ubl_settings_usergroups_group_creation_new(); dictionary *dict = NULL; yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets);