aboutsummaryrefslogtreecommitdiffstats
path: root/mail
diff options
context:
space:
mode:
Diffstat (limited to 'mail')
-rw-r--r--mail/ChangeLog6
-rw-r--r--mail/mail-accounts.c15
2 files changed, 18 insertions, 3 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index be91569175..7d3d3d2f4d 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,9 @@
+2003-03-11 Jeffrey Stedfast <fejj@ximian.com>
+
+ * mail-accounts.c (account_add_clicked): Use
+ gtk_window_set_transient_for() on the druid with the settings
+ dialog as the parent window.
+
2003-03-10 Jeffrey Stedfast <fejj@ximian.com>
* mail-signature-editor.c (do_exit): Remove the yes/no
diff --git a/mail/mail-accounts.c b/mail/mail-accounts.c
index f47b6b4da9..fb06efd6ba 100644
--- a/mail/mail-accounts.c
+++ b/mail/mail-accounts.c
@@ -143,9 +143,15 @@ static void
account_add_clicked (GtkButton *button, gpointer user_data)
{
MailAccountsTab *prefs = (MailAccountsTab *) user_data;
+ GtkWidget *parent;
if (prefs->druid == NULL) {
prefs->druid = (GtkWidget *) mail_config_druid_new ();
+
+ parent = gtk_widget_get_toplevel ((GtkWidget *) prefs);
+ if (GTK_WIDGET_TOPLEVEL (parent))
+ gtk_window_set_transient_for ((GtkWindow *) prefs->druid, (GtkWindow *) parent);
+
g_object_weak_ref ((GObject *) prefs->druid,
(GWeakNotify) account_add_finished, prefs);
@@ -183,10 +189,13 @@ account_edit_clicked (GtkButton *button, gpointer user_data)
gtk_tree_model_get (model, &iter, 3, &account, -1);
if (account) {
- GtkWidget *window;
+ GtkWidget *parent;
+
+ parent = gtk_widget_get_toplevel ((GtkWidget *) prefs);
+ parent = GTK_WIDGET_TOPLEVEL (parent) ? parent : NULL;
+
+ prefs->editor = (GtkWidget *) mail_account_editor_new (account, (GtkWindow *) parent, prefs);
- window = gtk_widget_get_ancestor (GTK_WIDGET (prefs), GTK_TYPE_WINDOW);
- prefs->editor = (GtkWidget *) mail_account_editor_new (account, GTK_WINDOW (window), prefs);
g_object_weak_ref ((GObject *) prefs->editor, (GWeakNotify) account_edit_finished, prefs);
gtk_widget_show (prefs->editor);
g_object_ref (prefs);