diff --git a/src/phone.c b/src/phone.c index 6ed0a46..9b4e405 100644 --- a/src/phone.c +++ b/src/phone.c @@ -2802,21 +2802,27 @@ static GtkWidget * _phone_create_progress(GtkWidget * parent, char const * text) GtkWidget * vbox; GtkWidget * widget; - /* FIXME add a cancel button? callback needed for delete-event then */ + /* window */ window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(window), "delete-event", G_CALLBACK( on_phone_closex), NULL); gtk_window_set_modal(GTK_WINDOW(window), TRUE); gtk_window_set_title(GTK_WINDOW(window), _("Operation in progress...")); gtk_window_set_transient_for(GTK_WINDOW(window), GTK_WINDOW(parent)); - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_vbox_new(FALSE, 4); widget = gtk_label_new(text); - gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 2); + gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0); + /* progress bar */ widget = gtk_progress_bar_new(); g_object_set_data(G_OBJECT(window), "progress", widget); gtk_progress_bar_pulse(GTK_PROGRESS_BAR(widget)); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(widget), " "); - gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 2); + gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, TRUE, 0); + /* close button */ + widget = gtk_button_new_from_stock(GTK_STOCK_CLOSE); + g_signal_connect_swapped(G_OBJECT(widget), "clicked", G_CALLBACK( + gtk_widget_hide), window); + gtk_box_pack_end(GTK_BOX(vbox), widget, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(window), 4); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show_all(window);