From 178c7af85fac11d8ae0c4bf5c4ae2396731396e9 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Wed, 2 Jan 2002 19:11:03 +0000 Subject: remove e_gnome_dialog util functions and use e-util ones instead 2002-01-02 JP Rosevear * mail-callbacks.c: remove e_gnome_dialog util functions and use e-util ones instead 2002-01-02 JP Rosevear * e-dialog-utils.c (e_gnome_dialog_set_parent): util function moved from mail-callbacks, also destroys the dialog if the parent is destroyed (e_gnome_warning_dialog_parented): similarly (e_gnome_ok_cancel_dialog_parented): ditto * e-dialog-utils.h: new protos svn path=/trunk/; revision=15225 --- e-util/e-dialog-utils.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'e-util/e-dialog-utils.c') diff --git a/e-util/e-dialog-utils.c b/e-util/e-dialog-utils.c index 45a57d42fc..f155b83145 100644 --- a/e-util/e-dialog-utils.c +++ b/e-util/e-dialog-utils.c @@ -32,6 +32,8 @@ #include +#include + #include #include @@ -162,3 +164,43 @@ e_set_dialog_parent_from_xid (GtkWindow *dialog, set_transient_for_gdk (dialog, gdk_window_foreign_new (xid)); } + +static void +e_gnome_dialog_parent_destroyed (GtkWidget *parent, GtkWidget *dialog) +{ + gnome_dialog_close (GNOME_DIALOG (dialog)); +} + +void +e_gnome_dialog_set_parent (GnomeDialog *dialog, GtkWindow *parent) +{ + gnome_dialog_set_parent (dialog, parent); + gtk_signal_connect_while_alive (GTK_OBJECT (parent), "destroy", + e_gnome_dialog_parent_destroyed, + dialog, GTK_OBJECT (dialog)); +} + +GtkWidget * +e_gnome_warning_dialog_parented (const char *warning, GtkWindow *parent) +{ + GtkWidget *dialog; + + dialog = gnome_warning_dialog_parented (warning, parent); + gtk_signal_connect (GTK_OBJECT (parent), "destroy", + e_gnome_dialog_parent_destroyed, dialog); + + return dialog; +} + +GtkWidget * +e_gnome_ok_cancel_dialog_parented (const char *message, GnomeReplyCallback callback, + gpointer data, GtkWindow *parent) +{ + GtkWidget *dialog; + + dialog = gnome_ok_cancel_dialog_parented (message, callback, data, parent); + gtk_signal_connect (GTK_OBJECT (parent), "destroy", + e_gnome_dialog_parent_destroyed, dialog); + + return dialog; +} -- cgit