static void quit_close_all_dialog_response (GtkWidget *dialog, gint response_id, Gimp *gimp) { GimpMessageBox *box = GIMP_MESSAGE_DIALOG (dialog)->box; gboolean do_quit = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (box), "do-quit")); gtk_widget_destroy (dialog); if (response_id == GTK_RESPONSE_OK) { if (do_quit) gimp_exit (gimp, TRUE); else gimp_displays_close (gimp); } }
void file_close_all_cmd_callback (GtkAction *action, gpointer data) { Gimp *gimp; return_if_no_gimp (gimp, data); if (! gimp_displays_dirty (gimp)) { gimp_displays_close (gimp); } else { GtkWidget *widget; return_if_no_widget (widget, data); gimp_dialog_factory_dialog_raise (gimp_dialog_factory_get_singleton (), gtk_widget_get_screen (widget), "gimp-close-all-dialog", -1); } }