diff --git a/sflphone-gtk/src/actions.c b/sflphone-gtk/src/actions.c index 0f2182f0c56387d3762aa2ca37334653ed69d6d8..3591e70c1c860506ec646c0edc2391c8ff26ab0b 100644 --- a/sflphone-gtk/src/actions.c +++ b/sflphone-gtk/src/actions.c @@ -69,7 +69,7 @@ sflphone_quit () dbus_clean (); //call_list_clean(); TODO //account_list_clean() - create_progress_bar(); + display_progress_bar(); gtk_main_quit (); } return quit; diff --git a/sflphone-gtk/src/quit.c b/sflphone-gtk/src/quit.c index a375a82aba5a572a36c4001e65e9f68618bebcff..57305664f8fede3a3d1b2ac108c1bb4d8c183235 100644 --- a/sflphone-gtk/src/quit.c +++ b/sflphone-gtk/src/quit.c @@ -19,39 +19,45 @@ #include "quit.h" +#define ITERATIONS 1700 + void update_progress_bar( GtkWidget* bar ) { - gdouble fraction; gint i; - gint total = 2000; - //gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR (bar) , 0.0); - gtk_grab_add( bar ); + //gtk_grab_add( bar ); - for( i = 0 ; i < total ; i++) + for( i = 0 ; i < ITERATIONS ; i++) { - fraction = (gdouble)i / (gdouble)total ; usleep(5000); - if( i > 1000 ) + if( i > 700 && i < 1000) gtk_progress_bar_set_text( (GtkProgressBar *)bar , "Saving configuration...."); - //gtk_progress_bar_set_fraction( GTK_PROGRESS_BAR (bar) , fraction); + if( i > 1000 && i < 1300 ) + gtk_progress_bar_set_text( (GtkProgressBar *)bar , "Unload DTMF key"); + if( i > 1300 && i < 1500 ) + gtk_progress_bar_set_text( (GtkProgressBar *)bar , "Unload audio driver"); + if( i > 1500 ) + gtk_progress_bar_set_text( (GtkProgressBar *)bar , "Unload audio codecs"); + gtk_progress_bar_set_pulse_step( (GtkProgressBar*) bar , 0.01 ); gtk_progress_bar_pulse( (GtkProgressBar*)bar); gtk_main_iteration(); } - gtk_grab_remove( bar ); + //gtk_grab_remove( bar ); } GtkWidget* -create_progress_bar( void ) +display_progress_bar( void ) { - g_print("Progress Bar \n"); GtkWidget *top; GtkWidget *progressBar; GtkWidget *vbox; top = gtk_window_new( GTK_WINDOW_TOPLEVEL ); - gtk_window_set_default_size( GTK_WINDOW( top ), 240, 20); + //gtk_window_set_default_size( GTK_WINDOW( top ), 260, 20); + gtk_widget_set_size_request( top , 250, 20); + gtk_window_set_policy (GTK_WINDOW ( top ), FALSE, FALSE, FALSE); + gtk_window_set_position( GTK_WINDOW( top ) , GTK_WIN_POS_CENTER_ALWAYS ); gtk_container_set_border_width(GTK_CONTAINER( top ), 0); vbox = gtk_vbox_new(TRUE, 0); @@ -66,11 +72,3 @@ create_progress_bar( void ) } -void -destroy_progress_bar() -{ - //gtk_widget_destroy( progressBar ); -} - - - diff --git a/sflphone-gtk/src/quit.h b/sflphone-gtk/src/quit.h index 1baa4532051101598ff02613a63fa81c8785fd39..5175256e3ca6ce2e68e6f0903fd50bbbcbbb7f9a 100644 --- a/sflphone-gtk/src/quit.h +++ b/sflphone-gtk/src/quit.h @@ -24,9 +24,7 @@ /** @file quit.h * @brief Display a progress bar when quiting. */ -GtkWidget * create_progress_bar(); - -//GtkWidget* progressBar; +GtkWidget * display_progress_bar(); #endif