diff options
author | Srinivasa Ragavan <sragavan@novell.com> | 2005-08-03 16:23:26 +0800 |
---|---|---|
committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2005-08-03 16:23:26 +0800 |
commit | f81882412a602d2b19746dda3d013926021890bd (patch) | |
tree | 2ff05f0b9c45ea9e8634568ebca8a2502cdcf6d3 /addressbook/gui | |
parent | 233ed2076268ad6ca7d6cbf75cf2b2983408fa77 (diff) | |
download | gsoc2013-evolution-f81882412a602d2b19746dda3d013926021890bd.tar.gz gsoc2013-evolution-f81882412a602d2b19746dda3d013926021890bd.tar.zst gsoc2013-evolution-f81882412a602d2b19746dda3d013926021890bd.zip |
Made the error dialog for load-error nonmodal, since it block the UI along
2005-08-01 Srinivasa Ragavan <sragavan@novell.com>
* 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
Diffstat (limited to 'addressbook/gui')
-rw-r--r-- | addressbook/gui/component/addressbook-view.c | 11 | ||||
-rw-r--r-- | addressbook/gui/widgets/eab-gui-util.c | 7 |
2 files changed, 12 insertions, 6 deletions
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); } |