diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index ef5ab6b..c16fc2a 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -200,6 +200,26 @@ void on_toggle_button_toggled(GtkWidget *self, main_window *widgets){ } } +void yon_update_toggled(GtkWidget *self, main_window *widgets){ + g_signal_handlers_block_by_func(G_OBJECT(self),G_CALLBACK(yon_update_toggled),widgets); + if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->AutoUpdateCheck))){ + gtk_widget_set_sensitive(widgets->UpdateIntervalDefaultCheck,1); + int status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->UpdateIntervalDefaultCheck)); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->BootCheck),!status); + status = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets->BootCheck)); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->UpdateIntervalSpin),!status); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->UpdateIntervalCombo),!status); + + } else { + gtk_widget_set_sensitive(GTK_WIDGET(widgets->UpdateIntervalDefaultCheck),0); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->BootCheck),0); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->UpdateIntervalSpin),0); + gtk_widget_set_sensitive(GTK_WIDGET(widgets->UpdateIntervalCombo),0); + + } + g_signal_handlers_unblock_by_func(G_OBJECT(self),G_CALLBACK(yon_update_toggled),widgets); +} + void yon_interface_update(main_window *widgets){ gtk_list_store_clear(widgets->ReposList); gtk_list_store_clear(widgets->MirrorList); @@ -1474,6 +1494,10 @@ void yon_main_window_complete(main_window *widgets){ g_signal_connect(G_OBJECT(widgets->UpdateIntervalSpin),"changed",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->UpdateIntervalCombo),"changed",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(yon_update_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(yon_update_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(yon_update_toggled),widgets); + g_signal_connect(G_OBJECT(widgets->AutoUpdateCheck),"toggled",G_CALLBACK(yon_update_toggled),widgets); g_signal_connect(G_OBJECT(widgets->UpdateModeCombo),"changed",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->UpdateIntervalDefaultCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets); g_signal_connect(G_OBJECT(widgets->UpdateRepoListCheck),"toggled",G_CALLBACK(on_toggle_button_toggled),widgets); diff --git a/source/ubl-settings-update.h b/source/ubl-settings-update.h index 946bfe4..4eb8f76 100644 --- a/source/ubl-settings-update.h +++ b/source/ubl-settings-update.h @@ -434,4 +434,5 @@ void yon_ftp_window_add(GtkWidget *, main_window *widgets); void on_anon_user_select(GtkWidget *, ftp_window *window); void yon_ftp_window_edit(GtkWidget *, main_window *widgets); void on_ftp_remove(GtkWidget *,main_window *widgets); +void yon_update_toggled(GtkWidget *self, main_window *widgets); #endif \ No newline at end of file