[evolution-patches] patch for addressbook-config.c



Hi,
Attached  patch has changes made to enable user create a new groupwise
address book from evolution. User has to enter just the name of the book
while setting up the address book as the rest of the details like server
name,  port etc are part of the base uri which will be setup during gw
account setup. Values for properties like auth, user are taken from the
existing books (A set of books which are always present for each user
are setup during account creation). The newly setup book actually gets
created on server when it is first time loaded , gw address book backend
creates it on the server when it does not find any book with this name
among the list of address books it got from server. The gw address book
backend also removes it on the server when evo calls e_book_remove.

Thanks,
Siva   
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/ChangeLog,v
retrieving revision 1.1671
diff -u -r1.1671 ChangeLog
--- ChangeLog	23 Apr 2004 22:29:05 -0000	1.1671
+++ ChangeLog	24 Apr 2004 10:35:54 -0000
@@ -1,3 +1,10 @@
+2004-04-24  Sivaiah Nallagatla  <snallagatla novell com>
+
+	* gui/component/addressbook-config.c (dialog_to_source) : see if the selected
+	 group is groupwise one and setup the relative uri and other properties into 
+	 e-source 
+	 
+	
 2004-04-23  Jeffrey Stedfast  <fejj ximian com>
 
 	* conduit/address-conduit.c (get_next_mail): The firt EMAIL item
Index: gui/component/addressbook-config.c
===================================================================
RCS file: /cvs/gnome/evolution/addressbook/gui/component/addressbook-config.c,v
retrieving revision 1.72
diff -u -r1.72 addressbook-config.c
--- gui/component/addressbook-config.c	15 Apr 2004 03:11:22 -0000	1.72
+++ gui/component/addressbook-config.c	24 Apr 2004 10:35:55 -0000
@@ -259,6 +259,26 @@
 		e_source_set_relative_uri (source, str);
 		g_free (str);
 #endif
+	} else if (g_str_has_prefix  (e_source_group_peek_base_uri (dialog->source_group), "groupwise://") &&
+		   !e_source_peek_group (source)) { 	/* if this is an existing book we don't change anything else */
+		
+		GSList *groupwise_source_list;
+		ESource *existing_source = NULL;
+		const char *property_value = NULL;
+		
+		groupwise_source_list = e_source_group_peek_sources(dialog->source_group);
+		if (groupwise_source_list)
+			existing_source = E_SOURCE (groupwise_source_list->data);
+		if (existing_source) {
+			property_value = e_source_get_property (existing_source, "auth");
+			e_source_set_property (source, "auth", property_value);
+			property_value = e_source_get_property (existing_source, "user");
+			e_source_set_property (source, "user", property_value);
+		}
+		str = g_strconcat (";", gtk_entry_get_text (GTK_ENTRY (dialog->display_name)), NULL);
+		e_source_set_relative_uri (source, str);
+		g_free (str);
+
 	} else {
 		const gchar *relative_uri;
 


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