From 4fd229398b008ec589353fe5203a93538bd87134 Mon Sep 17 00:00:00 2001 From: Ivan Dmitrievich Yartsev Date: Wed, 18 Mar 2026 10:16:11 +0600 Subject: [PATCH] Enabled kernel can be unchecked --- source/ubinstall-gtk-kernel.c | 11 +++++++++++ source/ubinstall-gtk.h | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/ubinstall-gtk-kernel.c b/source/ubinstall-gtk-kernel.c index 997b92c..39e9483 100644 --- a/source/ubinstall-gtk-kernel.c +++ b/source/ubinstall-gtk-kernel.c @@ -8,6 +8,16 @@ void on_kernel_install_enabled(GtkWidget *, kernel_row *row){ } } +gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row){ + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(row->EnableRadio))){ + g_signal_handlers_block_by_func(G_OBJECT(self),"toggled",row); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(main_config.kernel_unchosen_radio),1); + g_signal_handlers_unblock_by_func(G_OBJECT(self),"toggled",row); + return 1; + } + return 0; +} + kernel_row *yon_kernel_row_new(){ kernel_row *row = new(kernel_row); GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_kernel_row); @@ -26,6 +36,7 @@ kernel_row *yon_kernel_row_new(){ row->package=NULL; g_signal_connect(G_OBJECT(row->InstallCheck),"toggled",G_CALLBACK(on_kernel_install_enabled),row); + g_signal_connect(G_OBJECT(row->EnableRadio),"button-release-event",G_CALLBACK(on_kernel_enabled_toggled),row); row->row = gtk_list_box_row_new(); gtk_container_add(GTK_CONTAINER(row->row),row->RowBox); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 172bdf3..4222b30 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1579,4 +1579,5 @@ void yon_gtk_widget_set_translation(GtkWidget *target); void on_bootloader_user_edit(GtkWidget *, main_window *widgets); void on_bootloader_admin_toggled(GtkWidget *, char *path, main_window *widgets); void on_bootloader_user_remove(GtkWidget *, main_window *widgets); -void on_software_uncheck_all(GtkWidget *, main_window *widgets); \ No newline at end of file +void on_software_uncheck_all(GtkWidget *, main_window *widgets); +gboolean on_kernel_enabled_toggled(GtkWidget *self, GdkEventButton *, kernel_row *row); \ No newline at end of file