[evolution] Fix transience problems with ENameSelectorDialogs ...



commit 36f1f29b9a42c56a619e031b045db5a18f2b1dd7
Author: Michael Meeks <michael meeks novell com>
Date:   Thu Jul 8 16:10:59 2010 +0100

    Fix transience problems with ENameSelectorDialogs ...

 .../contact-list-editor/e-contact-list-editor.c    |    2 ++
 calendar/gui/dialogs/alarm-dialog.c                |    8 ++------
 calendar/gui/dialogs/e-delegate-dialog.c           |    8 ++------
 calendar/gui/dialogs/memo-page.c                   |    7 ++-----
 calendar/gui/e-meeting-list-view.c                 |    6 ++----
 composer/e-composer-name-header.c                  |    1 +
 plugins/groupwise-features/proxy.c                 |    4 +---
 plugins/groupwise-features/share-folder.c          |   20 +++++---------------
 8 files changed, 17 insertions(+), 39 deletions(-)
---
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 81bf3a4..cc734d2 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -774,6 +774,8 @@ contact_list_editor_select_button_clicked_cb (GtkWidget *widget)
 
 	g_list_free (list);
 
+	e_name_selector_show_dialog (editor->priv->name_selector,
+				     eab_editor_get_window (EAB_EDITOR (editor)));
 	gtk_dialog_run (GTK_DIALOG (dialog));
 	gtk_widget_hide (GTK_WIDGET (dialog));
 
diff --git a/calendar/gui/dialogs/alarm-dialog.c b/calendar/gui/dialogs/alarm-dialog.c
index 9fe23fe..f782741 100644
--- a/calendar/gui/dialogs/alarm-dialog.c
+++ b/calendar/gui/dialogs/alarm-dialog.c
@@ -902,13 +902,9 @@ show_options (Dialog *dialog)
 #endif
 
 static void
-addressbook_clicked_cb (GtkWidget *widget, gpointer data)
+addressbook_clicked_cb (GtkWidget *widget, Dialog *dialog)
 {
-	Dialog *dialog = data;
-	ENameSelectorDialog *name_selector_dialog;
-
-	name_selector_dialog = e_name_selector_peek_dialog (dialog->name_selector);
-	gtk_widget_show (GTK_WIDGET (name_selector_dialog));
+	e_name_selector_show_dialog (dialog->name_selector, dialog->toplevel);
 }
 
 static void
diff --git a/calendar/gui/dialogs/e-delegate-dialog.c b/calendar/gui/dialogs/e-delegate-dialog.c
index 551229c..b45f587 100644
--- a/calendar/gui/dialogs/e-delegate-dialog.c
+++ b/calendar/gui/dialogs/e-delegate-dialog.c
@@ -189,13 +189,9 @@ static void
 addressbook_clicked_cb (GtkWidget *widget, gpointer data)
 {
 	EDelegateDialog *edd = data;
-	EDelegateDialogPrivate *priv;
-	ENameSelectorDialog *name_selector_dialog;
 
-	priv = edd->priv;
-
-	name_selector_dialog = e_name_selector_peek_dialog (priv->name_selector);
-	gtk_widget_show (GTK_WIDGET (name_selector_dialog));
+	e_name_selector_show_dialog (edd->priv->name_selector,
+				     e_delegate_dialog_get_toplevel (edd));
 }
 
 static void
diff --git a/calendar/gui/dialogs/memo-page.c b/calendar/gui/dialogs/memo-page.c
index 27270fd..735566b 100644
--- a/calendar/gui/dialogs/memo-page.c
+++ b/calendar/gui/dialogs/memo-page.c
@@ -973,11 +973,8 @@ static void
 to_button_clicked_cb (GtkButton *button,
                       MemoPage *mpage)
 {
-	ENameSelectorDialog *name_selector_dialog;
-
-	name_selector_dialog = e_name_selector_peek_dialog (
-		mpage->priv->name_selector);
-	gtk_widget_show (GTK_WIDGET (name_selector_dialog));
+	e_name_selector_show_dialog (mpage->priv->name_selector,
+				     mpage->priv->main);
 }
 
 static void
diff --git a/calendar/gui/e-meeting-list-view.c b/calendar/gui/e-meeting-list-view.c
index b581221..686d43c 100644
--- a/calendar/gui/e-meeting-list-view.c
+++ b/calendar/gui/e-meeting-list-view.c
@@ -945,10 +945,8 @@ name_selector_dialog_close_cb (ENameSelectorDialog *dialog, gint response, gpoin
 void
 e_meeting_list_view_invite_others_dialog (EMeetingListView *view)
 {
-	ENameSelectorDialog *dialog;
-
-	dialog = e_name_selector_peek_dialog (view->priv->name_selector);
-	gtk_widget_show (GTK_WIDGET (dialog));
+	e_name_selector_show_dialog (view->priv->name_selector,
+				     GTK_WIDGET (view));
 }
 
 void
diff --git a/composer/e-composer-name-header.c b/composer/e-composer-name-header.c
index 18714ab..3544ff0 100644
--- a/composer/e-composer-name-header.c
+++ b/composer/e-composer-name-header.c
@@ -224,6 +224,7 @@ composer_name_header_clicked (EComposerHeader *header)
 	dialog = e_name_selector_peek_dialog (priv->name_selector);
 	e_name_selector_dialog_set_destination_index (
 		dialog, priv->destination_index);
+	e_name_selector_show_dialog (priv->name_selector, header->title_widget);
 	gtk_dialog_run (GTK_DIALOG (dialog));
 	gtk_widget_hide (GTK_WIDGET (dialog));
 }
diff --git a/plugins/groupwise-features/proxy.c b/plugins/groupwise-features/proxy.c
index 1507e08..c539974 100644
--- a/plugins/groupwise-features/proxy.c
+++ b/plugins/groupwise-features/proxy.c
@@ -884,12 +884,10 @@ address_button_clicked (GtkButton *button, EAccount *account)
 {
 	proxyDialog *prd;
 	proxyDialogPrivate *priv;
-	ENameSelectorDialog *name_selector_dialog;
 
 	prd = g_object_get_data ((GObject *)account, "prd");
 	priv = prd->priv;
-	name_selector_dialog = e_name_selector_peek_dialog (priv->proxy_name_selector);
-	gtk_widget_show (GTK_WIDGET (name_selector_dialog));
+	e_name_selector_show_dialog (priv->proxy_name_selector, priv->main);
 }
 
 static void
diff --git a/plugins/groupwise-features/share-folder.c b/plugins/groupwise-features/share-folder.c
index 7470337..365b7c1 100644
--- a/plugins/groupwise-features/share-folder.c
+++ b/plugins/groupwise-features/share-folder.c
@@ -536,29 +536,19 @@ notification_clicked(GtkButton *button, ShareFolder *sf)
 }
 
 static void
-addressbook_dialog_response (ENameSelectorDialog *name_selector_dialog, gint response, gpointer user_data)
-{
-	gtk_widget_hide (GTK_WIDGET (name_selector_dialog));
-}
-
-static void
 addressbook_entry_changed (GtkWidget *entry, gpointer   user_data)
 {
 
 }
 
 static void
-address_button_clicked_cb (GtkButton *button, gpointer data)
+address_button_clicked_cb (GtkButton *button, ShareFolder *sf)
 {
-	ShareFolder *sf = data;
-	ENameSelectorDialog *name_selector_dialog;
-
-	name_selector_dialog = e_name_selector_peek_dialog (sf->name_selector);
-	gtk_widget_show (GTK_WIDGET (name_selector_dialog));
+	e_name_selector_show_dialog (sf->name_selector, sf->window);
 }
 
-	static void
-user_selected(GtkTreeSelection *selection, ShareFolder *sf)
+static void
+user_selected (GtkTreeSelection *selection, ShareFolder *sf)
 {
 	GtkTreeModel *model;
 
@@ -695,7 +685,7 @@ share_folder_construct (ShareFolder *sf)
 	sf->name_selector = e_name_selector_new ();
 	name_selector_dialog = e_name_selector_peek_dialog (sf->name_selector);
 	g_signal_connect (name_selector_dialog, "response",
-			G_CALLBACK (addressbook_dialog_response), sf);
+			G_CALLBACK (gtk_widget_hide), sf);
 
 	name_selector_model = e_name_selector_peek_model (sf->name_selector);
 	e_name_selector_model_add_section (name_selector_model, "Add User", _("Add User"), NULL);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]