|
|
|
@ -468,6 +468,12 @@ void on_groups_multiple_clicked(GtkWidget *self, GtkEntry *output_target){
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->GroupsWindow),ADDITIONAL_GROUPS_TITLE_LABEL);
|
|
|
|
gtk_window_set_title(GTK_WINDOW(window->GroupsWindow),ADDITIONAL_GROUPS_TITLE_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),ADDITIONAL_GROUPS_TITLE_LABEL);
|
|
|
|
gtk_label_set_text(GTK_LABEL(window->HeaderLabel),ADDITIONAL_GROUPS_TITLE_LABEL);
|
|
|
|
GtkTreeIter iter, itar;
|
|
|
|
GtkTreeIter iter, itar;
|
|
|
|
|
|
|
|
char *output = (char*)gtk_entry_get_text(output_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.groups_list),&iter);
|
|
|
|
int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(main_config.groups_list),&iter);
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.groups_list),&iter)){
|
|
|
|
for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(main_config.groups_list),&iter)){
|
|
|
|
char *groupname;
|
|
|
|
char *groupname;
|
|
|
|
@ -476,6 +482,16 @@ void on_groups_multiple_clicked(GtkWidget *self, GtkEntry *output_target){
|
|
|
|
gtk_list_store_set(window->list,&itar,1,groupname,-1);
|
|
|
|
gtk_list_store_set(window->list,&itar,1,groupname,-1);
|
|
|
|
free(groupname);
|
|
|
|
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);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
dictionary *dict = NULL;
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window);
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"output",output_target);
|
|
|
|
yon_dictionary_add_or_create_if_exists_with_data(dict,"output",output_target);
|
|
|
|
@ -1300,7 +1316,10 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
additional_groups = (char*)gtk_entry_get_text(GTK_ENTRY(window->userAdditionalGroupsEntry));
|
|
|
|
additional_groups = (char*)gtk_entry_get_text(GTK_ENTRY(window->userAdditionalGroupsEntry));
|
|
|
|
|
|
|
|
char *default_groups = yon_config_get_by_key("USERGROUPS");
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(default_groups)&&!strcmp(default_groups,additional_groups)){
|
|
|
|
|
|
|
|
additional_groups="";
|
|
|
|
|
|
|
|
}
|
|
|
|
long password_change_interval_minimum_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMinimumSpin));
|
|
|
|
long password_change_interval_minimum_active = gtk_spin_button_get_value(GTK_SPIN_BUTTON(window->userPasswordChangeDelayMinimumSpin));
|
|
|
|
if (password_change_interval_minimum_active>0){
|
|
|
|
if (password_change_interval_minimum_active>0){
|
|
|
|
password_change_interval_minimum = yon_char_from_long(password_change_interval_minimum_active);
|
|
|
|
password_change_interval_minimum = yon_char_from_long(password_change_interval_minimum_active);
|
|
|
|
@ -1693,8 +1712,12 @@ void on_main_edit(GtkWidget *self, main_window *widgets){
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry), parsed_size>2?parameters[2]:"");
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userGroupsEntry), parsed_size>2?parameters[2]:"");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (parsed_size>3){
|
|
|
|
if (parsed_size>3){
|
|
|
|
if (strcmp(parameters[3],"x"))
|
|
|
|
if (strcmp(parameters[3],"x")){
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userAdditionalGroupsEntry), parsed_size>3?parameters[3]:"");
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userAdditionalGroupsEntry), parameters[3]);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
char *default_groups = yon_config_get_by_key("USERGROUPS");
|
|
|
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->userAdditionalGroupsEntry), default_groups);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (parsed_size>4&&!yon_char_is_empty(parameters[4])){
|
|
|
|
if (parsed_size>4&&!yon_char_is_empty(parameters[4])){
|
|
|
|
|