[evolution-patches] (Addressbook) Patch to fix 309247



Hi

This fixes the specified bug. I made that dialog modal less. Also it
doesnt show the error on every popup. (Missed one stuff in the earlier mail)

-Srini
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.1967
diff -u -p -r1.1967 ChangeLog
--- ChangeLog	29 Jul 2005 06:35:21 -0000	1.1967
+++ ChangeLog	1 Aug 2005 11:28:03 -0000
@@ -1,3 +1,12 @@
+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
+
 2005-07-29  Srinivasa Ragavan <sragavan novell com>
 
 	* gui/contact-editor/eab-editor.c: (eab_editor_prompt_to_save_changes)
Index: gui/component/addressbook-view.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/addressbook-view.c,v
retrieving revision 1.36
diff -u -p -r1.36 addressbook-view.c
--- gui/component/addressbook-view.c	21 Jul 2005 13:27:37 -0000	1.36
+++ gui/component/addressbook-view.c	1 Aug 2005 11:28:03 -0000
@@ -551,11 +551,14 @@ source_list_changed_cb (ESourceList *sou
 
 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 *
 				 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
Index: gui/widgets/eab-gui-util.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/widgets/eab-gui-util.c,v
retrieving revision 1.41
diff -u -p -r1.41 eab-gui-util.c
--- gui/widgets/eab-gui-util.c	19 Jul 2005 07:52:01 -0000	1.41
+++ gui/widgets/eab-gui-util.c	1 Aug 2005 11:28:04 -0000
@@ -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
 			  "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);
 }


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