aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@novell.com>2005-08-03 16:23:26 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2005-08-03 16:23:26 +0800
commitf81882412a602d2b19746dda3d013926021890bd (patch)
tree2ff05f0b9c45ea9e8634568ebca8a2502cdcf6d3 /addressbook/gui
parent233ed2076268ad6ca7d6cbf75cf2b2983408fa77 (diff)
downloadgsoc2013-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.c11
-rw-r--r--addressbook/gui/widgets/eab-gui-util.c7
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);
}