From 8135cb094babf51e19cfc648be7c98cb66b013d0 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 20 May 2025 10:24:36 +0600 Subject: [PATCH] Edit buttons fix --- source/ubl-settings-bootloader-melody.c | 14 ++++++------- source/ubl-settings-bootloader-user.c | 26 ++++++++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/source/ubl-settings-bootloader-melody.c b/source/ubl-settings-bootloader-melody.c index 04ce4ce..931ad51 100644 --- a/source/ubl-settings-bootloader-melody.c +++ b/source/ubl-settings-bootloader-melody.c @@ -48,12 +48,12 @@ void on_ringtone_add_clicked(GtkWidget *,main_window *widgets){ } void on_ringtone_edit_clicked(GtkWidget *,main_window *widgets){ - yon_ringtone_window *window = yon_ringtone_window_new(); GtkTreeIter iter; GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootRingtoneList); if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->BootRingtoneTree)),&model,&iter)){ + yon_ringtone_window *window = yon_ringtone_window_new(); int is_chosen; char *name, *code; gtk_tree_model_get(model,&iter,0,&is_chosen,1,&name,2,&code,-1); @@ -62,14 +62,14 @@ void on_ringtone_edit_clicked(GtkWidget *,main_window *widgets){ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->ChooseCheck),is_chosen); gtk_entry_set_text(GTK_ENTRY(window->NameEntry),name); gtk_entry_set_text(GTK_ENTRY(window->CodeEntry),code); - } + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); - dictionary *dict = NULL; - yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); - yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_ringtone_accept),dict); + gtk_widget_show(window->Window); + } - g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_ringtone_accept),dict); - gtk_widget_show(window->Window); } diff --git a/source/ubl-settings-bootloader-user.c b/source/ubl-settings-bootloader-user.c index 554ac40..524f2b9 100644 --- a/source/ubl-settings-bootloader-user.c +++ b/source/ubl-settings-bootloader-user.c @@ -42,6 +42,18 @@ void on_user_accept(GtkWidget *,dictionary *dict){ char *superusers = yon_char_parsed_to_string(parsed,size,","); yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_command,superusers); } + } else { + int size; + char *superusers = config(GRUB_SUPERUSERS_parameter); + config_str parsed = yon_char_parse(superusers,&size,","); + int pos = yon_char_parsed_check_exist(parsed,size,(char*)username); + if (pos!=-1){ + parsed = yon_char_parsed_rip(parsed,&size,pos); + + char *superusers = yon_char_parsed_to_string(parsed,size,","); + yon_config_register(GRUB_SUPERUSERS_parameter,GRUB_SUPERUSERS_command,superusers); + } + } gtk_widget_destroy(window->Window); yon_interface_update(widgets); @@ -60,12 +72,12 @@ void on_user_add_clicked(GtkWidget *,main_window *widgets){ } void on_user_edit_clicked(GtkWidget *,main_window *widgets){ - yon_user_window *window = yon_user_window_new(); GtkTreeIter iter; GtkTreeModel *model = GTK_TREE_MODEL(widgets->BootUsersList); if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->BootUsersTree)),&model,&iter)){ + yon_user_window *window = yon_user_window_new(); int is_admin; char *name; gtk_tree_model_get(model,&iter,0,&is_admin,1,&name,-1); @@ -76,14 +88,14 @@ void on_user_edit_clicked(GtkWidget *,main_window *widgets){ if (password){ gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),password); } - } + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); - dictionary *dict = NULL; - yon_dictionary_add_or_create_if_exists_with_data(dict,"widgets",widgets); - yon_dictionary_add_or_create_if_exists_with_data(dict,"window",window); + g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_user_accept),dict); + gtk_widget_show(window->Window); + } - g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_user_accept),dict); - gtk_widget_show(window->Window); }