diff --git a/source/ubinstall-gtk-startup-services.c b/source/ubinstall-gtk-startup-services.c index 715b68e..4bfb3ca 100644 --- a/source/ubinstall-gtk-startup-services.c +++ b/source/ubinstall-gtk-startup-services.c @@ -1,12 +1,19 @@ #include "ubinstall-gtk.h" -void on_srartup_services_toggled(GtkWidget *, char *path, main_window *widgets){ +void on_srartup_services_toggled(GtkCellRenderer *self, char *path, main_window *widgets){ + GtkWidget *tree = NULL; + if (self == widgets->StartupChosenCell){ + tree = widgets->StartupServicesTree; + } else if (self == widgets->StartupAppsChosenCell){ + tree = widgets->StartupAppsTree; + } + GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tree)); GtkTreeIter iter; int status; - gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(widgets->StartupList),&iter,path); - gtk_tree_model_get(GTK_TREE_MODEL(widgets->StartupList),&iter,0,&status,-1); - gtk_list_store_set(widgets->StartupList,&iter,0,!status,-1); + gtk_tree_model_get_iter_from_string(model,&iter,path); + gtk_tree_model_get(model,&iter,0,&status,-1); + gtk_list_store_set(GTK_LIST_STORE(model),&iter,0,!status,-1); } void on_startup_services_selection_changed(GtkWidget *,main_window *widgets){ diff --git a/source/ubinstall-gtk.c b/source/ubinstall-gtk.c index 245b519..4da367d 100644 --- a/source/ubinstall-gtk.c +++ b/source/ubinstall-gtk.c @@ -779,17 +779,18 @@ void yon_main_window_create(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->LanguagesTree),"cursor-changed",G_CALLBACK(on_locale_changed),widgets); g_signal_connect(G_OBJECT(widgets->CountryLanguagesTree),"row-activated",G_CALLBACK(on_installer_language_changed),widgets); // g_signal_connect(G_OBJECT(widgets->LanguageCombo),"changed",G_CALLBACK(on_locale_changed),widgets); - g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesTree),"cursor-changed",G_CALLBACK(on_startup_services_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesAddButton),"clicked",G_CALLBACK(on_startup_service_add),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesEditButton),"clicked",G_CALLBACK(on_startup_service_edit),widgets); g_signal_connect(G_OBJECT(widgets->StartupServicesRemoveButton),"clicked",G_CALLBACK(on_startup_services_remove),widgets); + g_signal_connect(G_OBJECT(widgets->StartupChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); g_signal_connect(G_OBJECT(widgets->StartupAppsTree),"cursor-changed",G_CALLBACK(on_startup_apps_selection_changed),widgets); g_signal_connect(G_OBJECT(widgets->StartupAppsAddButton),"clicked",G_CALLBACK(on_startup_app_add),widgets); g_signal_connect(G_OBJECT(widgets->StartupAppsEditButton),"clicked",G_CALLBACK(on_startup_app_edit),widgets); g_signal_connect(G_OBJECT(widgets->StartupAppsRemoveButton),"clicked",G_CALLBACK(on_startup_apps_remove),widgets); + g_signal_connect(G_OBJECT(widgets->StartupAppsChosenCell),"toggled",G_CALLBACK(on_srartup_services_toggled),widgets); g_signal_connect(G_OBJECT(widgets->AutoHostnameCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),widgets->HotnameEntry); diff --git a/source/ubinstall-gtk.h b/source/ubinstall-gtk.h index 591ee2a..1f7819d 100755 --- a/source/ubinstall-gtk.h +++ b/source/ubinstall-gtk.h @@ -1280,7 +1280,7 @@ void yon_kernel_resize(main_window *widgets); void yon_kernel_addon_setup(main_window *widgets); void yon_kernel_addon_resize(main_window *widgets); void yon_startup_services_setup(main_window *widgets); -void on_srartup_services_toggled(GtkWidget *, char *path, main_window *widgets); +void on_srartup_services_toggled(GtkCellRenderer *, char *path, main_window *widgets); void on_startup_service_edit(GtkWidget *, main_window *widgets); void on_startup_service_add(GtkWidget *, main_window *widgets); startup_service_window *yon_startup_service_window_new();