[dates] Replaced the calls to the deprecated functions e_source_{set, get}_color with the new API (e_source_



commit c8e30fa3211dcdfcda48184f4c57746a552b9c7a
Author: Lucas Hermann Negri <lucashnegri gmail com>
Date:   Wed Oct 5 21:35:40 2011 +0200

    Replaced the calls to the deprecated functions e_source_{set,get}_color
     with the new API (e_source_{set,peek}_color_spec).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=631081

 src/dates_gtk.c  |   40 ++++++++++++----------------------------
 src/dates_main.c |    2 +-
 src/dates_view.c |   10 ++++------
 3 files changed, 17 insertions(+), 35 deletions(-)
---
diff --git a/src/dates_gtk.c b/src/dates_gtk.c
index 78e71bb..403bc25 100644
--- a/src/dates_gtk.c
+++ b/src/dates_gtk.c
@@ -1016,7 +1016,6 @@ calendar_do_new_dialog (GtkWindow *parent, DatesData *d)
 			GtkTreeIter iter;
 			GError *error = NULL;
 			const gchar *relative_uri;
-			guint32 new_colour;
 
 #ifdef WITH_HILDON
 			GdkColor *hildon_color;
@@ -1055,7 +1054,8 @@ calendar_do_new_dialog (GtkWindow *parent, DatesData *d)
 			source = e_source_new (name, relative_uri);
 
 #ifdef USE_OWL
-			new_colour = owl_colour_button_get_colour (OWL_COLOUR_BUTTON (color_button));
+            guint32 new_colour = owl_colour_button_get_colour (OWL_COLOUR_BUTTON (color_button));
+            e_source_set_color (source, new_colour);
 #else
 
 #ifdef WITH_HILDON
@@ -1063,17 +1063,11 @@ calendar_do_new_dialog (GtkWindow *parent, DatesData *d)
 #else
 			gtk_color_button_get_color (GTK_COLOR_BUTTON(color_button), &colour);
 #endif
-			new_colour = (guint8)(colour.red >> 8);
-			new_colour <<= 8;
-			new_colour |= (guint8)(colour.green >> 8);
-			new_colour <<= 8;
-			new_colour |= (guint8)(colour.blue >> 8);
-			new_colour <<= 8;
+			gchar *n_color = gdk_color_to_string (&colour);
+            e_source_set_color_spec (source, n_color);
+            g_free(n_color);
 #endif
 
-			/* Set the colour */
-			e_source_set_color (source, new_colour);
-
 			/* Set the group for the source */
 			e_source_set_group (source, group);
 			e_source_group_add_source (group, source, 0);
@@ -1169,7 +1163,6 @@ calendar_do_edit_dialog (GtkWindow *parent, ESource *source, DatesData *d)
 	ESourceGroup *group;
 
 	GdkColor colour;
-	guint32 raw_colour;
 
 	const gchar *name = NULL;
 	const gchar *uri = NULL;
@@ -1335,12 +1328,8 @@ calendar_do_edit_dialog (GtkWindow *parent, ESource *source, DatesData *d)
 	gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
 
 	/* Get the colour from the the source */
-	e_source_get_color (source, &raw_colour);
-
-	/* Munge this into something usable */
-	colour.red = (guint16)(((raw_colour & 0xff0000) >> 16) << 8);
-	colour.green = (guint16)(((raw_colour & 0xff00) >> 8) << 8);
-	colour.blue = (guint16)(((raw_colour & 0xff) << 8));
+	const gchar* spec = e_source_peek_color_spec(source);
+    gdk_color_parse(spec, &colour);
 
 	/* Now we need to allocate the colour */
 	gdk_colormap_alloc_color (gdk_colormap_get_system (), &colour, TRUE, TRUE);
@@ -1440,26 +1429,21 @@ calendar_do_edit_dialog (GtkWindow *parent, ESource *source, DatesData *d)
 			 * Next we need to pack the GDK colour into guint32
 			 * for eds
 			 */
-			guint32 new_colour = 0;
 
 			GError *error = NULL;
 #ifdef USE_OWL
-			new_colour = owl_colour_button_get_colour (OWL_COLOUR_BUTTON (color_button));
+			guint32 new_colour = owl_colour_button_get_colour (OWL_COLOUR_BUTTON (color_button));
+            e_source_set_color (source, new_colour);
 #else
 #ifdef WITH_HILDON
 			hildon_color_button_get_color (HILDON_COLOR_BUTTON(color_button), &colour);
 #else
 			gtk_color_button_get_color (GTK_COLOR_BUTTON(color_button), &colour);
 #endif			
-			new_colour = (guint8)(colour.red >> 8);
-			new_colour <<= 8;
-			new_colour |= (guint8)(colour.green >> 8);
-			new_colour <<= 8;
-			new_colour |= (guint8)(colour.blue >> 8);
-			new_colour <<= 8;
+			gchar *n_color = gdk_color_to_string (&colour);
+            e_source_set_color_spec (source, n_color);
+            g_free(n_color);
 #endif
-			/* Update the colour */
-			e_source_set_color (source, new_colour);
 
 			/* And the name */
 			e_source_set_name (source, (gtk_entry_get_text (GTK_ENTRY (name_entry))));
diff --git a/src/dates_main.c b/src/dates_main.c
index ce05fe8..1f7770d 100644
--- a/src/dates_main.c
+++ b/src/dates_main.c
@@ -112,7 +112,7 @@ dates_load_calendars (DatesData *d)
 		system_source = e_source_new (_("Personal"), "system");
 
 		/* Default Evolution colour */
-		e_source_set_color (system_source, 0xBECEDD);
+		e_source_set_color_spec (system_source, "#BECEDD");
 
 		/* Set the group for the source and put it in the group */
 		e_source_set_group (system_source, local_group);
diff --git a/src/dates_view.c b/src/dates_view.c
index d65db2f..9d28a15 100644
--- a/src/dates_view.c
+++ b/src/dates_view.c
@@ -4846,7 +4846,6 @@ dates_view_add_calendar (DatesView *view, ECal *ecal)
 	DatesViewPrivate *priv = DATES_VIEW_GET_PRIVATE (view);
 	DatesViewCalendar *cal;
 	ESource *source;
-	guint32 colour;
 /*	GError *error = NULL;*/
 	
 	g_return_if_fail (E_IS_CAL (ecal));
@@ -4876,12 +4875,11 @@ dates_view_add_calendar (DatesView *view, ECal *ecal)
 	cal->text_gc = gdk_gc_new (
 		GDK_DRAWABLE (priv->main->window));
 
-	if (e_source_get_color (source, &colour)) {
+    const gchar* spec = e_source_peek_color_spec (source);
+	if (spec) {
 		GdkColor gcolour, dgcolour, tgcolour;
-		gcolour.red = ((colour & 0xFF0000) >> 16) * 0x101;
-		gcolour.green = ((colour & 0xFF00) >> 8)  * 0x101;
-		gcolour.blue = (colour & 0xFF) * 0x101;
-
+		gdk_color_parse(spec, &gcolour);
+        
 		/* This is simplified sRGB -> LAB conversion; we do not need it
 		 * entirely precise, as we are only going to chose between
 		 * black or white text based on the L value.



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