|
|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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 *window = malloc(sizeof(ubl_settings_usergroups_group_window));
|
|
|
|
|
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->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_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_window_config_custom_window_setup(GTK_WINDOW(window->GroupsWindow),"GroupWindow");
|
|
|
|
|
|