Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserverui/ChangeLog,v
retrieving revision 1.107
diff -u -p -r1.107 ChangeLog
--- ChangeLog	23 Aug 2006 09:25:14 -0000	1.107
+++ ChangeLog	20 Sep 2006 10:40:14 -0000
@@ -1,3 +1,10 @@
+2006-09-20  Ushveen Kaur <kushveen@novell.com>
+
+	** Fixes bug #164653
+
+	* e-categories-dialog.c (edit_button_clicked_cb): If color of a
+	category is changed,it is saved.
+ 
 2006-08-23  Srinivasa Ragavan  <sragavan@novell.com>
 
 	Fix for bug #348939 and bug #351317
Index: e-categories-dialog.c
===================================================================
RCS file: /cvs/gnome/evolution-data-server/libedataserverui/e-categories-dialog.c,v
retrieving revision 1.21
diff -u -p -r1.21 e-categories-dialog.c
--- e-categories-dialog.c	9 Dec 2005 10:40:37 -0000	1.21
+++ e-categories-dialog.c	20 Sep 2006 10:40:15 -0000
@@ -23,6 +23,7 @@
 
 #include <string.h>
 #include <glib/gi18n-lib.h>
+#include <gtk/gtk.h>
 #include <gtk/gtkbox.h>
 #include <gtk/gtkbutton.h>
 #include <gtk/gtkcellrenderertext.h>
@@ -325,14 +326,31 @@ edit_button_clicked_cb (GtkButton *butto
 	gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (prop_dialog->category_icon), 
 				       e_categories_get_icon_file_for (category_name));
 
+	const char *test;
+	test = e_categories_get_color_for (category_name);				
+
+	if (test) {
+		GdkColor *color_test,*test11,*test22;
+		gint *n_colors;
+		gboolean check;
+	
+		check = gtk_color_selection_palette_from_string (test, &color_test, n_colors);
+		gtk_color_button_set_color (GTK_COLOR_BUTTON (prop_dialog->category_color), color_test);
+	}
 	if (gtk_dialog_run (GTK_DIALOG (prop_dialog->the_dialog)) == GTK_RESPONSE_OK) {
-		const char *category_icon;
+		const char *category_icon, *category_color;
 
-		/* FIXME: get color */
 		category_icon = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (prop_dialog->category_icon));
 
 		if (category_icon)
 			e_categories_set_icon_file_for (category_name, category_icon);
+		
+		GdkColor *color;
+		gtk_color_button_get_color (GTK_COLOR_BUTTON (prop_dialog->category_color), color);
+		category_color = gtk_color_selection_palette_to_string (color, 1);
+		
+		if (category_color)
+			e_categories_set_color_for (category_name, category_color);				
 	}
 
 	g_free (category_name);
