From 887599a65b85785fa4950ea5a9f6977e47a3377f Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 27 Feb 2025 15:24:55 +0600 Subject: [PATCH] Button sensitivity fixed when launched without root --- source/ubl-settings-kernel.c | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/source/ubl-settings-kernel.c b/source/ubl-settings-kernel.c index ee901c3..67db608 100644 --- a/source/ubl-settings-kernel.c +++ b/source/ubl-settings-kernel.c @@ -503,20 +503,24 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets gtk_widget_set_sensitive(widgets->UpdateButton,1); dictionary *dict = NULL; for_dictionaries(dict,main_config.kernel_tabs){ - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1); + if (!getuid()){ + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1); + } } for_dictionaries(dict,main_config.addition_tabs){ - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1); - gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1); + if (!getuid()){ + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,1); + gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,1); + } } { gtk_button_set_label(GTK_BUTTON(widgets->MoreButton),MORE_LABEL); @@ -1251,6 +1255,14 @@ additions_kernels_tab *yon_additions_tab_row_new(GtkListBox *target, char *targe g_signal_connect(G_OBJECT(tab->module_label),"activate-link",G_CALLBACK(on_info_clicked),tab); g_signal_connect(G_OBJECT(tab->package_label),"activate-link",G_CALLBACK(on_info_clicked),tab); + if(getuid()){ + gtk_widget_set_sensitive(tab->launch_button,0); + gtk_widget_set_sensitive(tab->remove_module_button,0); + gtk_widget_set_sensitive(tab->install_module_button,0); + gtk_widget_set_sensitive(tab->remove_package_button,0); + gtk_widget_set_sensitive(tab->install_package_button,0); + } + gtk_list_box_insert(target,tab->main_box,-1); tab->name = yon_char_new(parsed[0]);