buttons are unsensitive when terminal is busy

pull/46/head
parent ba2a1db3a5
commit 1c49013ebc

@ -397,6 +397,24 @@ gboolean on_command_execute_success(GtkWidget *,gint status,main_window *widgets
} else {
yon_ubl_status_box_render(OPERATION_ERROR_LABEL,BACKGROUND_IMAGE_FAIL_TYPE);
}
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);
}
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);
}
return G_SOURCE_REMOVE;
}
@ -443,7 +461,7 @@ void *yon_command_execute_async(char *command,main_window *widgets){
gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(widgets->InstallationProgress),0);
vte_terminal_reset(VTE_TERMINAL(widgets->InstallTerminal),0,1);
yon_terminal_integrated_start_shell(widgets->InstallTerminal,yon_debug_output("%s\n",command),NULL,NULL);
g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_command_execute_success),widgets);
// g_signal_connect_after(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_command_execute_success),widgets);
// yon_terminal_integrated_start(widgets->InstallTerminal,yon_debug_output("%s\n",command));
glong columns = vte_terminal_get_column_count(VTE_TERMINAL(widgets->InstallTerminal));
vte_terminal_set_size(VTE_TERMINAL(widgets->InstallTerminal),columns,20);
@ -453,6 +471,24 @@ void *yon_command_execute_async(char *command,main_window *widgets){
main_config.progress_active=1;
g_mutex_unlock(&main_config.progress_mutex);
gdk_threads_add_timeout(500,(GSourceFunc)yon_terminal_get_progress,widgets);
gtk_widget_set_sensitive(widgets->UpdateButton,0);
dictionary *dict = NULL;
for_dictionaries(dict,main_config.kernel_tabs){
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,0);
}
for_dictionaries(dict,main_config.addition_tabs){
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_module_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->update_package_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_module_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->install_package_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_module_button,0);
gtk_widget_set_sensitive(((kernels_tab*)dict->data)->remove_package_button,0);
}
return NULL;
}
@ -1227,7 +1263,7 @@ void yon_main_window_complete(main_window *widgets){
g_signal_connect(G_OBJECT(widgets->UpdateButton),"clicked",G_CALLBACK(on_update_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->BuildingButton),"clicked",G_CALLBACK(on_building_clicked),widgets);
g_signal_connect(G_OBJECT(widgets->MoreButton),"clicked",G_CALLBACK(on_terminal_revealer_open),widgets);
// g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_command_execute_success),widgets);
g_signal_connect(G_OBJECT(widgets->InstallTerminal),"child-exited",G_CALLBACK(on_command_execute_success),widgets);
g_signal_connect(G_OBJECT(widgets->SaveMenuItem),"activate",G_CALLBACK(on_config_save),widgets);
g_signal_connect(G_OBJECT(widgets->SaveGlobalMenuItem),"activate",G_CALLBACK(on_config_global_save),widgets);

Loading…
Cancel
Save