From f81882412a602d2b19746dda3d013926021890bd Mon Sep 17 00:00:00 2001 From: Srinivasa Ragavan Date: Wed, 3 Aug 2005 08:23:26 +0000 Subject: Made the error dialog for load-error nonmodal, since it block the UI along 2005-08-01 Srinivasa Ragavan * gui/widgets/eab-gui-util.c (eab_load_error_dialog): Made the error dialog for load-error nonmodal, since it block the UI along with popup menu. * gui/component/addressbook-view.c (load_uri_for_selection) (primary_source_selection_changed_callback) (addressbook_view_init): Checks whether the book is already selected. If so it doesnt reselect it on a r-click. Fixes the bug #309247 svn path=/trunk/; revision=29966 --- addressbook/gui/component/addressbook-view.c | 11 +++++++---- addressbook/gui/widgets/eab-gui-util.c | 7 +++++-- 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'addressbook/gui') diff --git a/addressbook/gui/component/addressbook-view.c b/addressbook/gui/component/addressbook-view.c index 9923c31a62..b049755842 100644 --- a/addressbook/gui/component/addressbook-view.c +++ b/addressbook/gui/component/addressbook-view.c @@ -551,11 +551,14 @@ source_list_changed_cb (ESourceList *source_list, AddressbookView *view) static void load_uri_for_selection (ESourceSelector *selector, - AddressbookView *view) + AddressbookView *view, + gboolean force) { ESource *selected_source = e_source_selector_peek_primary_selection (E_SOURCE_SELECTOR (selector)); + ESource *primary = get_primary_source (view); - if (selected_source != NULL) + if (selected_source != NULL && + ((primary && (!g_str_equal (e_source_peek_uid (primary),e_source_peek_uid (selected_source) )))||force)) activate_source (view, selected_source); } @@ -749,7 +752,7 @@ static void primary_source_selection_changed_callback (ESourceSelector *selector, AddressbookView *view) { - load_uri_for_selection (selector, view); + load_uri_for_selection (selector, view, FALSE); save_primary_selection (view); } @@ -1160,7 +1163,7 @@ addressbook_view_init (AddressbookView *view) G_OBJECT (view), 0); load_primary_selection (view); - load_uri_for_selection (E_SOURCE_SELECTOR (priv->selector), view); + load_uri_for_selection (E_SOURCE_SELECTOR (priv->selector), view, TRUE); } static void diff --git a/addressbook/gui/widgets/eab-gui-util.c b/addressbook/gui/widgets/eab-gui-util.c index 6de89ccafd..646887a8cd 100644 --- a/addressbook/gui/widgets/eab-gui-util.c +++ b/addressbook/gui/widgets/eab-gui-util.c @@ -83,6 +83,7 @@ void eab_load_error_dialog (GtkWidget *parent, ESource *source, EBookStatus status) { char *label_string, *label = NULL, *uri; + GtkWidget *dialog; g_return_if_fail (source != NULL); @@ -123,8 +124,10 @@ eab_load_error_dialog (GtkWidget *parent, ESource *source, EBookStatus status) "is unreachable."); } - e_error_run ((GtkWindow *) parent, "addressbook:load-error", label_string, NULL); - + dialog = e_error_new ((GtkWindow *) parent, "addressbook:load-error", label_string, NULL); + g_signal_connect (dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); + + gtk_widget_show (dialog); g_free (label); g_free (uri); } -- cgit v1.2.3