From cdbf48e43612a9e0ee98d9db70a9a40f399858c2 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 7 Feb 2024 17:46:43 +0600 Subject: [PATCH] Group's users now load correctly into groups choose window --- source/ubl-settings-usergroups.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index cd8e344..3e67fc0 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -713,6 +713,12 @@ void on_user_choose(GtkWidget *self, GtkEntry *target){ gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); gtk_label_set_text(GTK_LABEL(window->HeaderLabel),GROUP_USERS_TITLE_LABEL); GtkTreeIter iter, itar; + char *output = (char*)gtk_entry_get_text(target); + int size=0; + config_str parsed=NULL; + if (!yon_char_is_empty(output)){ + parsed = yon_char_parse(output,&size,","); + } int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.users_list),&iter); for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.users_list),&iter)){ char *groupname; @@ -721,6 +727,16 @@ void on_user_choose(GtkWidget *self, GtkEntry *target){ gtk_list_store_set(window->list,&itar,1,groupname,-1); free(groupname); } + valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&iter); + for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&iter)){ + char *groupname; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&iter,1,&groupname,-1); + if (parsed){ + if (yon_char_parsed_check_exist(parsed,size,groupname)>-1){ + gtk_list_store_set(window->list,&iter,0,1,-1); + } + } + } gtk_list_store_new(2,G_TYPE_BOOLEAN,G_TYPE_STRING); dictionary *dict = NULL; yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);