Added group/user choose window search

pull/318/head
parent 6b057a4626
commit cd12c38e3f

@ -1,8 +1,5 @@
#include "ubl-settings-usergroups.h" #include "ubl-settings-usergroups.h"
ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group_creation_new(){ ubl_settings_usergroups_group_creation_window *yon_ubl_settings_usergroups_group_creation_new(){
ubl_settings_usergroups_group_creation_window *window = malloc(sizeof(ubl_settings_usergroups_group_creation_window)); ubl_settings_usergroups_group_creation_window *window = malloc(sizeof(ubl_settings_usergroups_group_creation_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_group_creation); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_group_creation);

@ -17,8 +17,6 @@ void on_password_user_changed(GtkComboBox *,ubl_settings_usergroups_user_window
} }
} }
void on_password_change(GtkWidget *, dictionary *entry_dict){ void on_password_change(GtkWidget *, dictionary *entry_dict){
GtkEntry *output_target = yon_dictionary_get_data(entry_dict->first->next,GtkEntry*); GtkEntry *output_target = yon_dictionary_get_data(entry_dict->first->next,GtkEntry*);
ubl_settings_usergroups_password_window *window = yon_ubl_settings_usergroups_password_new(); ubl_settings_usergroups_password_window *window = yon_ubl_settings_usergroups_password_new();

@ -1183,6 +1183,22 @@ void on_group_clicked(GtkCellRenderer *, char *path, ubl_settings_usergroups_gro
gtk_list_store_set(window->list,&iter,0,!status,-1); gtk_list_store_set(window->list,&iter,0,!status,-1);
} }
gboolean on_group_search_func(GtkTreeModel *model, gint ,const char *key, GtkTreeIter *iter, main_window *){
char *target;
int id;
gtk_tree_model_get(model, iter, 1,&target, 2, &id,-1);
char *string_utf = g_utf8_casefold(key,-1);
char *target_utf = g_utf8_casefold(target,-1);
char *id_str = yon_char_from_int(id);
char *loc_target_utf = g_utf8_casefold(id_str,-1);
char *string_normalized = g_utf8_strdown(g_utf8_normalize(string_utf,-1,G_NORMALIZE_DEFAULT),-1);
char *target_normalized = g_utf8_strdown(g_utf8_normalize(target_utf,-1,G_NORMALIZE_DEFAULT),-1);
char *loc_target_normalized = g_utf8_strdown(g_utf8_normalize(loc_target_utf,-1,G_NORMALIZE_DEFAULT),-1);
return !(g_str_has_prefix(target_normalized,string_normalized) || g_str_has_prefix(loc_target_normalized,string_normalized));
}
ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(int mode){ // 1 - user, 0 - group ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(int mode){ // 1 - user, 0 - group
ubl_settings_usergroups_group_window *window = malloc(sizeof(ubl_settings_usergroups_group_window)); ubl_settings_usergroups_group_window *window = malloc(sizeof(ubl_settings_usergroups_group_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_group); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_group);
@ -1200,6 +1216,7 @@ ubl_settings_usergroups_group_window *yon_ubl_settings_usergroups_group_new(int
window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox"); window->StatusBox=yon_gtk_builder_get_widget(builder,"StatusBox");
window->list = gtk_list_store_new(3,G_TYPE_BOOLEAN,G_TYPE_STRING,G_TYPE_INT); window->list = gtk_list_store_new(3,G_TYPE_BOOLEAN,G_TYPE_STRING,G_TYPE_INT);
gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(window->list),2,GTK_SORT_ASCENDING); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(window->list),2,GTK_SORT_ASCENDING);
gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(window->GroupsTree),(GtkTreeViewSearchEqualFunc)on_group_search_func,window,NULL);
yon_gtk_entry_block_symbols(GTK_ENTRY(window->AddNewEntry),";.'\"*%$#!-=+\\|/_@^&()№:?<>"); yon_gtk_entry_block_symbols(GTK_ENTRY(window->AddNewEntry),";.'\"*%$#!-=+\\|/_@^&()№:?<>");
yon_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow"); yon_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow");

@ -651,4 +651,5 @@ gboolean on_login_focus_event(GtkWidget *self, GdkEvent *, ubl_settings_usergrou
gboolean on_login_focus_out_event(GtkWidget *self, GdkEvent *, ubl_settings_usergroups_user_window *window); gboolean on_login_focus_out_event(GtkWidget *self, GdkEvent *, ubl_settings_usergroups_user_window *window);
gboolean on_login_tooltip_event(GtkWidget *self, GdkEvent *, ubl_settings_usergroups_user_window *window); gboolean on_login_tooltip_event(GtkWidget *self, GdkEvent *, ubl_settings_usergroups_user_window *window);
gboolean on_login_tooltip_out_event(GtkWidget *self, GdkEvent *, ubl_settings_usergroups_user_window *window); gboolean on_login_tooltip_out_event(GtkWidget *self, GdkEvent *, ubl_settings_usergroups_user_window *window);
gboolean on_group_search_func(GtkTreeModel *model, gint ,const char *key, GtkTreeIter *iter, main_window *);
#endif #endif
Loading…
Cancel
Save