From 9e8a09deff70004946bd820f1c32f202b4418de8 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 10 Jun 2025 11:19:13 +0000 Subject: [PATCH] Search columns amount increased --- source/ubl-settings-usergroups.c | 18 ++++++++++++++---- source/ubl-strings.h | 1 + 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index c72dbda..8b0aaf1 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1873,12 +1873,14 @@ gboolean on_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets) GtkWidget *search = NULL; int id_col=0; int name_col = 0; + int login_col = -1; int systemed = 0; if ((void*)model == (void*)widgets->UsersList){ check = widgets->ConfigUserShowSystemCheck; search = widgets->ConfigUserSearchEntry; id_col=1; name_col=2; + login_col=3; } else if ((void*)model == (void*)widgets->GroupsList){ check = widgets->ConfigGroupShowSystemCheck; search = widgets->ConfigGroupSearchEntry; @@ -1889,6 +1891,7 @@ gboolean on_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets) search = widgets->SystemUserSearchEntry; id_col=1; name_col=2; + login_col=3; systemed=1; } else if ((void*)model == (void*)widgets->liststore2){ check = widgets->SystemGroupShowSystemCheck; @@ -1898,10 +1901,10 @@ gboolean on_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets) systemed=1; } else return 0; - char *uid, *target; - int iuid; + char *uid=NULL, *target=NULL, *login=NULL; + int iuid=-1; if (systemed) - gtk_tree_model_get(model,iter,id_col,&iuid,name_col,&target,-1); + gtk_tree_model_get(model,iter,id_col,&iuid,name_col,&target, login_col,&login,-1); else gtk_tree_model_get(model,iter,id_col,&uid,name_col,&target,-1); char *search_text = (char*)gtk_entry_get_text(GTK_ENTRY(search)); @@ -1911,7 +1914,14 @@ gboolean on_filter(GtkTreeModel* model, GtkTreeIter *iter, main_window *widgets) int system_id_found = 0; int search_found = 0; if (!yon_char_is_empty(search_text)){ - if (strstr(target,search_text)){ + char *iuid_string = NULL; + if (iuid>-1){ + iuid_string = yon_char_from_int(iuid); + } + if ((!yon_char_is_empty(uid)&&strstr(uid,search_text))|| + (!yon_char_is_empty(iuid_string)&&strstr(iuid_string,search_text))|| + (!yon_char_is_empty(login)&&strstr(login,search_text))|| + strstr(target,search_text)){ search_found = 1; } } else { diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 7b863e7..ba7708b 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -280,6 +280,7 @@ #define UNBOCK_LOGIN_LABEL _("Unblock login with password") #define CONFIRMATION_GROUP_DEPENDS_SINGLE_LABEL(target,depends) yon_char_unite(_("User(-s)")," \"",target,"\" ",_("is included into main group of users")," \"",depends,"\", ",_("which will be deleted"),".\n",_("After reboot users")," ",depends," ",_("main group will be set to default group"),".",NULL) +// #define CONFIRMATION_GROUP_DEPENDS_SINGLE_LABEL(target,depends) yon_char_unite(_("Main group")," \"",group,"\" ",_("of deleted user")," \"",target,"\", ",_("is including user(-s) "),depends,".\n",_("Group")," ",group," ",_("This group will be sinchronized with configuration "),".",NULL) #define CONFIRMATION_GROUP_DEPENDS_MULTIPLE_LABEL _("Some of users, chosen for deletion, are included as main group for other users. This users will get default main group after reboot") #define AUTH_ALLOWED_LABEL _("User auth with password is allowed")