aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--e-util/ChangeLog10
-rw-r--r--e-util/e-dialog-utils.c42
-rw-r--r--e-util/e-dialog-utils.h18
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/mail-callbacks.c45
5 files changed, 72 insertions, 48 deletions
diff --git a/e-util/ChangeLog b/e-util/ChangeLog
index 178ec7aa8b..2bcb5f8820 100644
--- a/e-util/ChangeLog
+++ b/e-util/ChangeLog
@@ -1,3 +1,13 @@
+2002-01-02 JP Rosevear <jpr@ximian.com>
+
+ * 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
+
2001-12-17 JP Rosevear <jpr@ximian.com>
* e-pilot-map.c (e_pilot_map_clear): clear all info from the map
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 <gtk/gtksignal.h>
+#include <libgnomeui/gnome-dialog-util.h>
+
#include <bonobo/bonobo-control.h>
#include <bonobo/bonobo-property-bag.h>
@@ -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;
+}
diff --git a/e-util/e-dialog-utils.h b/e-util/e-dialog-utils.h
index a00ab75d21..1e1b8af22f 100644
--- a/e-util/e-dialog-utils.h
+++ b/e-util/e-dialog-utils.h
@@ -25,12 +25,22 @@
#include <gtk/gtkwindow.h>
#include <gtk/gtkwidget.h>
+#include <libgnomeui/gnome-types.h>
+#include <libgnomeui/gnome-dialog.h>
#include <X11/Xlib.h> /* Window */
-void e_set_dialog_parent (GtkWindow *dialog,
- GtkWidget *parent_widget);
-void e_set_dialog_parent_from_xid (GtkWindow *dialog,
- Window xid);
+void e_set_dialog_parent (GtkWindow *dialog,
+ GtkWidget *parent_widget);
+void e_set_dialog_parent_from_xid (GtkWindow *dialog,
+ Window xid);
+void e_gnome_dialog_set_parent (GnomeDialog *dialog,
+ GtkWindow *parent);
+GtkWidget *e_gnome_warning_dialog_parented (const char *warning,
+ GtkWindow *parent);
+GtkWidget *e_gnome_ok_cancel_dialog_parented (const char *message,
+ GnomeReplyCallback callback,
+ gpointer data,
+ GtkWindow *parent);
#endif
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 7a01be6d11..14cb4b9667 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-02 JP Rosevear <jpr@ximian.com>
+
+ * mail-callbacks.c: remove e_gnome_dialog util functions and use
+ e-util ones instead
+
2001-12-21 Jeffrey Stedfast <fejj@ximian.com>
The idea here is that if we consistantly name the movemail file
diff --git a/mail/mail-callbacks.c b/mail/mail-callbacks.c
index 1c6a40609f..f08c40f9d4 100644
--- a/mail/mail-callbacks.c
+++ b/mail/mail-callbacks.c
@@ -31,8 +31,6 @@
#include <errno.h>
#include <time.h>
#include <libgnome/gnome-paper.h>
-#include <libgnomeui/gnome-dialog.h>
-#include <libgnomeui/gnome-dialog-util.h>
#include <libgnomeui/gnome-stock.h>
#include <libgnome/gnome-paper.h>
#include <libgnomeprint/gnome-print-master.h>
@@ -42,6 +40,7 @@
#include <gal/e-table/e-table.h>
#include <gal/widgets/e-gui-utils.h>
#include <gal/widgets/e-unicode.h>
+#include <e-util/e-dialog-utils.h>
#include <filter/filter-editor.h>
#include "mail.h"
#include "message-browser.h"
@@ -73,48 +72,6 @@
#define FB_WINDOW(fb) GTK_WINDOW (gtk_widget_get_ancestor (GTK_WIDGET (fb), GTK_TYPE_WINDOW))
-/* These e_gnome_dialog* functions are to handle the brokenness that is gnome-dialog */
-static void
-e_gnome_dialog_parent_destroyed (GtkWidget *parent, GtkWidget *dialog)
-{
- gnome_dialog_close (GNOME_DIALOG (dialog));
-}
-
-static 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));
-}
-
-static 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;
-}
-
-static 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;
-}
-
-
struct post_send_data {
CamelFolder *folder;
gchar *uid;