Added new warning

pull/288/head
parent a43f159103
commit f74f393604
No known key found for this signature in database
GPG Key ID: FF1D842BF4DDE92B

@ -149,6 +149,37 @@ void on_homedir_changed(GtkComboBox *self, GtkWidget *target){
}
void on_home_changed(GtkWidget *self,ubl_settings_usergroups_user_window *window){
const char *homepath = gtk_entry_get_text(GTK_ENTRY(self));
if (yon_char_is_empty(homepath)) return;
char *home_parameter = yon_char_unite("--home-dir ",homepath,NULL);
int size;
config_str parameters = yon_config_get_all_by_key(USERADD_SEARCH_macro,&size);
for (int i=0;i<size;i++){
int parsed_size;
config_str parsed = yon_char_parse(parameters[i],&parsed_size,":");
if (strstr(parsed[4],home_parameter)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),HOMEDIR_USED_LABEL,5,BACKGROUND_IMAGE_INFO_TYPE);
yon_ubl_status_highlight_incorrect(window->userHomeEntry);
break;
}
yon_char_parsed_free(parsed,parsed_size);
}
yon_char_parsed_free(parameters,size);
for (int i=0;i<main_config.users_size; i++){
int parsed_size;
config_str parsed = yon_char_parse(main_config.users[i],&parsed_size,":");
if (strstr(parsed[5],homepath)){
yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),HOMEDIR_USED_LABEL,5,BACKGROUND_IMAGE_INFO_TYPE);
yon_ubl_status_highlight_incorrect(window->userHomeEntry);
break;
}
yon_char_parsed_free(parsed,parsed_size);
}
free(home_parameter);
}
ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
ubl_settings_usergroups_user_window *window = malloc(sizeof(ubl_settings_usergroups_user_window));
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_ubl_settings_usergroups_user);
@ -263,6 +294,7 @@ ubl_settings_usergroups_user_window *yon_ubl_settings_usergroups_user_new(){
g_signal_connect(G_OBJECT(window->userPasswordCombo),"changed",G_CALLBACK(on_toggle_button_set_active_from_combo_box),window);
g_signal_connect(G_OBJECT(window->userPasswordEntry),"changed",G_CALLBACK(on_password_user_changed),window);
g_signal_connect(G_OBJECT(window->userHomeEntry),"changed",G_CALLBACK(on_parameter_changed),window);
g_signal_connect(G_OBJECT(window->userHomeEntry),"changed",G_CALLBACK(on_home_changed),window);
g_signal_connect(G_OBJECT(window->userHomeCombo),"changed",G_CALLBACK(on_parameter_changed),window);
g_signal_connect(G_OBJECT(window->userShellCombo),"changed",G_CALLBACK(on_parameter_changed),window);
g_signal_connect(G_OBJECT(window->userShellEntry),"changed",G_CALLBACK(on_parameter_changed),window);
@ -335,6 +367,7 @@ void on_user_login_update(GtkWidget *, ubl_settings_usergroups_user_window *wind
void on_user_save(GtkWidget *self, dictionary *dict){
main_window *widgets = yon_dictionary_get_data(dict->first,main_window*);
ubl_settings_usergroups_user_window *window = yon_dictionary_get_data(dict->first->next,ubl_settings_usergroups_user_window*);
yon_ubl_status_box_despawn(GTK_CONTAINER(window->StatusBox));
char *final_user="";
char *uid_string = NULL;
char *password = NULL;

@ -626,4 +626,5 @@ int yon_system_group_sync(char *group);
int yon_system_user_sync(char *user);
void on_homedir_changed(GtkComboBox *self, GtkWidget *target);
int yon_config_check_valid();
void on_home_changed(GtkWidget *self,ubl_settings_usergroups_user_window *window);
#endif

@ -300,3 +300,5 @@
#define DMY_MINUS_FORMAT_LABEL _("DD-MM-YYYY")
#define DMY_SLASH_FORMAT_LABEL _("DD/MM/YYYY")
#define MDY_FORMAT_LABEL _("MM-DD-YYYY")
#define HOMEDIR_USED_LABEL _("The selected home directory is used by another user")
Loading…
Cancel
Save