On 8/27/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > Hi everybody. > I need a dialog in my application that simply show a label (so without any > button) and then hide itself after some processing occurred. > The problem is that I can't send any :response signal to the dialog, so it > remains blocked in the loop after gtk_dialog_run has been called. > I tried to use the example posted in the GTK+ reference manual, but without > success. >
Just in case Yeti's comment didn't make it clear, it's still important to yield control of the program back to GTK once the progress window is shown, otherwise nothing appears to happen. So your code might look like this: do_long_task_step_1(struct task_params *p) { gtk_widget_show(p->progress_window); g_idle_add(do_long_task_step_2, p); } do_long_task_step_2(struct task_params *p) { /* do part of the task here */ g_idle_add(do_long_task_step_3, p); } do_long_task_step_3(struct task_params *p) { /* finish up the task here */ gtk_widget_hide(p->progress_window); } For file/device I/O, you would use something like g_io_channel, so you wouldn't need to rely on g_idle_add. -Jim _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list