|
Matthew Barnes |
4e1eec |
--- evolution-data-server-1.9.3/libedataserverui/e-source-selector.c.e-source-color 2006-04-26 04:21:21.000000000 -0400
|
|
Matthew Barnes |
4e1eec |
+++ evolution-data-server-1.9.3/libedataserverui/e-source-selector.c 2006-12-15 16:02:47.000000000 -0500
|
|
Matthew Barnes |
4e1eec |
@@ -411,15 +411,24 @@
|
|
Matthew Barnes |
4e1eec |
NULL);
|
|
Matthew Barnes |
4e1eec |
} else {
|
|
Matthew Barnes |
4e1eec |
ESource *source;
|
|
Matthew Barnes |
4e1eec |
- guint32 color;
|
|
Matthew Barnes |
4e1eec |
GdkPixbuf *pixbuf = NULL;
|
|
Matthew Barnes |
4e1eec |
+ const gchar *color_spec;
|
|
Matthew Barnes |
4e1eec |
+ GdkColor color;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
g_assert (E_IS_SOURCE (data));
|
|
Matthew Barnes |
4e1eec |
source = E_SOURCE (data);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (e_source_get_color (source, &color)) {
|
|
Matthew Barnes |
4e1eec |
+ color_spec = e_source_peek_color_spec (source);
|
|
Matthew Barnes |
4e1eec |
+ if (color_spec != NULL && gdk_color_parse (color_spec, &color)) {
|
|
Matthew Barnes |
4e1eec |
+ guint32 rgba;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, 16, 16);
|
|
Matthew Barnes |
4e1eec |
- gdk_pixbuf_fill (pixbuf, color << 8);
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ rgba = (((color.red & 0xff00) << 8) |
|
|
Matthew Barnes |
4e1eec |
+ ((color.green & 0xff00)) |
|
|
Matthew Barnes |
4e1eec |
+ ((color.blue & 0xff00) >> 8)) << 8;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ gdk_pixbuf_fill (pixbuf, rgba);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
g_object_set (renderer,
|
|
Matthew Barnes |
4e1eec |
--- evolution-data-server-1.9.3/libedataserver/e-source.h.e-source-color 2005-08-31 00:26:10.000000000 -0400
|
|
Matthew Barnes |
4e1eec |
+++ evolution-data-server-1.9.3/libedataserver/e-source.h 2006-12-15 16:02:47.000000000 -0500
|
|
Matthew Barnes |
4e1eec |
@@ -82,20 +82,27 @@
|
|
Matthew Barnes |
4e1eec |
const char *relative_uri);
|
|
Matthew Barnes |
4e1eec |
void e_source_set_absolute_uri (ESource *source,
|
|
Matthew Barnes |
4e1eec |
const char *absolute_uri);
|
|
Matthew Barnes |
4e1eec |
+void e_source_set_color_spec (ESource *source,
|
|
Matthew Barnes |
4e1eec |
+ const gchar *color_spec);
|
|
Matthew Barnes |
4e1eec |
void e_source_set_readonly (ESource *source,
|
|
Matthew Barnes |
4e1eec |
gboolean readonly);
|
|
Matthew Barnes |
4e1eec |
+#ifndef EDS_DISABLE_DEPRECATED
|
|
Matthew Barnes |
4e1eec |
void e_source_set_color (ESource *source,
|
|
Matthew Barnes |
4e1eec |
guint32 color);
|
|
Matthew Barnes |
4e1eec |
void e_source_unset_color (ESource *source);
|
|
Matthew Barnes |
4e1eec |
+#endif
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
ESourceGroup *e_source_peek_group (ESource *source);
|
|
Matthew Barnes |
4e1eec |
const char *e_source_peek_uid (ESource *source);
|
|
Matthew Barnes |
4e1eec |
const char *e_source_peek_name (ESource *source);
|
|
Matthew Barnes |
4e1eec |
const char *e_source_peek_relative_uri (ESource *source);
|
|
Matthew Barnes |
4e1eec |
const char *e_source_peek_absolute_uri (ESource *source);
|
|
Matthew Barnes |
4e1eec |
+const char *e_source_peek_color_spec (ESource *source);
|
|
Matthew Barnes |
4e1eec |
gboolean e_source_get_readonly (ESource *source);
|
|
Matthew Barnes |
4e1eec |
+#ifndef EDS_DISABLE_DEPRECATED
|
|
Matthew Barnes |
4e1eec |
gboolean e_source_get_color (ESource *source,
|
|
Matthew Barnes |
4e1eec |
guint32 *color_return);
|
|
Matthew Barnes |
4e1eec |
+#endif
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
char *e_source_get_uri (ESource *source);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
--- evolution-data-server-1.9.3/libedataserver/e-source.c.e-source-color 2006-08-03 07:29:44.000000000 -0400
|
|
Matthew Barnes |
4e1eec |
+++ evolution-data-server-1.9.3/libedataserver/e-source.c 2006-12-15 16:02:47.000000000 -0500
|
|
Matthew Barnes |
4e1eec |
@@ -32,10 +32,6 @@
|
|
Matthew Barnes |
4e1eec |
#define ES_CLASS(obj) E_SOURCE_CLASS (G_OBJECT_GET_CLASS (obj))
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
-/* String used to put the color in the XML. */
|
|
Matthew Barnes |
4e1eec |
-#define COLOR_FORMAT_STRING "%06x"
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
/* Private members. */
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
struct _ESourcePrivate {
|
|
Matthew Barnes |
4e1eec |
@@ -48,8 +44,7 @@
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
gboolean readonly;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- gboolean has_color;
|
|
Matthew Barnes |
4e1eec |
- guint32 color;
|
|
Matthew Barnes |
4e1eec |
+ gchar *color_spec;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
GHashTable *properties;
|
|
Matthew Barnes |
4e1eec |
};
|
|
Matthew Barnes |
4e1eec |
@@ -89,6 +84,7 @@
|
|
Matthew Barnes |
4e1eec |
g_free (priv->name);
|
|
Matthew Barnes |
4e1eec |
g_free (priv->relative_uri);
|
|
Matthew Barnes |
4e1eec |
g_free (priv->absolute_uri);
|
|
Matthew Barnes |
4e1eec |
+ g_free (priv->color_spec);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
g_hash_table_destroy (priv->properties);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
@@ -143,6 +139,28 @@
|
|
Matthew Barnes |
4e1eec |
g_free, g_free);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
+/* Private methods. */
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+static gboolean
|
|
Matthew Barnes |
4e1eec |
+set_color_spec (ESource *source,
|
|
Matthew Barnes |
4e1eec |
+ const gchar *color_spec)
|
|
Matthew Barnes |
4e1eec |
+{
|
|
Matthew Barnes |
4e1eec |
+ ESourcePrivate *priv = source->priv;
|
|
Matthew Barnes |
4e1eec |
+ gboolean do_cmp;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ if (color_spec == priv->color_spec)
|
|
Matthew Barnes |
4e1eec |
+ return FALSE;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ do_cmp = (color_spec != NULL && priv->color_spec != NULL);
|
|
Matthew Barnes |
4e1eec |
+ if (do_cmp && g_ascii_strcasecmp (color_spec, priv->color_spec) == 0)
|
|
Matthew Barnes |
4e1eec |
+ return FALSE;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ g_free (priv->color_spec);
|
|
Matthew Barnes |
4e1eec |
+ priv->color_spec = g_strdup (color_spec);
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ return TRUE;
|
|
Matthew Barnes |
4e1eec |
+}
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
/* Public methods. */
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
ESource *
|
|
Matthew Barnes |
4e1eec |
@@ -300,19 +318,22 @@
|
|
Matthew Barnes |
4e1eec |
xmlChar *name;
|
|
Matthew Barnes |
4e1eec |
xmlChar *relative_uri;
|
|
Matthew Barnes |
4e1eec |
xmlChar *absolute_uri;
|
|
Matthew Barnes |
4e1eec |
- xmlChar *color_string;
|
|
Matthew Barnes |
4e1eec |
- gboolean retval;
|
|
Matthew Barnes |
4e1eec |
+ xmlChar *color_spec;
|
|
Matthew Barnes |
4e1eec |
+ xmlChar *color;
|
|
Matthew Barnes |
4e1eec |
+ gboolean retval = FALSE;
|
|
Matthew Barnes |
4e1eec |
gboolean changed = FALSE;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
name = xmlGetProp (node, "name");
|
|
Matthew Barnes |
4e1eec |
relative_uri = xmlGetProp (node, "relative_uri");
|
|
Matthew Barnes |
4e1eec |
absolute_uri = xmlGetProp (node, "uri");
|
|
Matthew Barnes |
4e1eec |
- color_string = xmlGetProp (node, "color");
|
|
Matthew Barnes |
4e1eec |
+ color_spec = xmlGetProp (node, "color_spec");
|
|
Matthew Barnes |
4e1eec |
+ color = xmlGetProp (node, "color"); /* obsolete */
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (name == NULL || (relative_uri == NULL && absolute_uri == NULL)) {
|
|
Matthew Barnes |
4e1eec |
- retval = FALSE;
|
|
Matthew Barnes |
4e1eec |
+ if (name == NULL || (relative_uri == NULL && absolute_uri == NULL))
|
|
Matthew Barnes |
4e1eec |
+ goto done;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ if (color_spec != NULL && color != NULL)
|
|
Matthew Barnes |
4e1eec |
goto done;
|
|
Matthew Barnes |
4e1eec |
- }
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
if (source->priv->name == NULL
|
|
Matthew Barnes |
4e1eec |
|| strcmp (name, source->priv->name) != 0
|
|
Matthew Barnes |
4e1eec |
@@ -334,21 +355,15 @@
|
|
Matthew Barnes |
4e1eec |
changed = TRUE;
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (color_string == NULL) {
|
|
Matthew Barnes |
4e1eec |
- if (source->priv->has_color) {
|
|
Matthew Barnes |
4e1eec |
- source->priv->has_color = FALSE;
|
|
Matthew Barnes |
4e1eec |
- changed = TRUE;
|
|
Matthew Barnes |
4e1eec |
- }
|
|
Matthew Barnes |
4e1eec |
+ if (color == NULL) {
|
|
Matthew Barnes |
4e1eec |
+ /* It is okay for color_spec to be NULL. */
|
|
Matthew Barnes |
4e1eec |
+ changed |= set_color_spec (source, color_spec);
|
|
Matthew Barnes |
4e1eec |
} else {
|
|
Matthew Barnes |
4e1eec |
- guint32 color = 0;
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
- sscanf (color_string, COLOR_FORMAT_STRING, &color;;
|
|
Matthew Barnes |
4e1eec |
- if (! source->priv->has_color || source->priv->color != color) {
|
|
Matthew Barnes |
4e1eec |
- source->priv->has_color = TRUE;
|
|
Matthew Barnes |
4e1eec |
- source->priv->color = color;
|
|
Matthew Barnes |
4e1eec |
- changed = TRUE;
|
|
Matthew Barnes |
4e1eec |
- }
|
|
Matthew Barnes |
4e1eec |
+ gchar buffer[8];
|
|
Matthew Barnes |
4e1eec |
+ g_snprintf (buffer, sizeof (buffer), "#%s", color);
|
|
Matthew Barnes |
4e1eec |
+ changed |= set_color_spec (source, buffer);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
if (g_hash_table_size (source->priv->properties) && !node->children) {
|
|
Matthew Barnes |
4e1eec |
g_hash_table_destroy (source->priv->properties);
|
|
Matthew Barnes |
4e1eec |
source->priv->properties = g_hash_table_new_full (g_str_hash, g_str_equal,
|
|
Matthew Barnes |
4e1eec |
@@ -387,8 +402,8 @@
|
|
Matthew Barnes |
4e1eec |
xmlFree (relative_uri);
|
|
Matthew Barnes |
4e1eec |
if (absolute_uri != NULL)
|
|
Matthew Barnes |
4e1eec |
xmlFree (absolute_uri);
|
|
Matthew Barnes |
4e1eec |
- if (color_string != NULL)
|
|
Matthew Barnes |
4e1eec |
- xmlFree (color_string);
|
|
Matthew Barnes |
4e1eec |
+ if (color_spec != NULL)
|
|
Matthew Barnes |
4e1eec |
+ xmlFree (color_spec);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
return retval;
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
@@ -552,18 +567,12 @@
|
|
Matthew Barnes |
4e1eec |
e_source_set_color (ESource *source,
|
|
Matthew Barnes |
4e1eec |
guint32 color)
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
- g_return_if_fail (E_IS_SOURCE (source));
|
|
Matthew Barnes |
4e1eec |
+ gchar color_spec[8];
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (source->priv->readonly)
|
|
Matthew Barnes |
4e1eec |
- return;
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
- if (source->priv->has_color && source->priv->color == color)
|
|
Matthew Barnes |
4e1eec |
- return;
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
- source->priv->has_color = TRUE;
|
|
Matthew Barnes |
4e1eec |
- source->priv->color = color;
|
|
Matthew Barnes |
4e1eec |
+ g_return_if_fail (E_IS_SOURCE (source));
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- g_signal_emit (source, signals[CHANGED], 0);
|
|
Matthew Barnes |
4e1eec |
+ g_snprintf (color_spec, sizeof (color_spec), "#%06x", color);
|
|
Matthew Barnes |
4e1eec |
+ e_source_set_color_spec (source, color_spec);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
void
|
|
Matthew Barnes |
4e1eec |
@@ -571,13 +580,29 @@
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
g_return_if_fail (E_IS_SOURCE (source));
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (! source->priv->has_color)
|
|
Matthew Barnes |
4e1eec |
- return;
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
- source->priv->has_color = FALSE;
|
|
Matthew Barnes |
4e1eec |
- g_signal_emit (source, signals[CHANGED], 0);
|
|
Matthew Barnes |
4e1eec |
+ e_source_set_color_spec (source, NULL);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
+/**
|
|
Matthew Barnes |
4e1eec |
+ * e_source_set_color_spec:
|
|
Matthew Barnes |
4e1eec |
+ * @source: an ESource
|
|
Matthew Barnes |
4e1eec |
+ * @color_spec: a string specifying the color
|
|
Matthew Barnes |
4e1eec |
+ *
|
|
Matthew Barnes |
4e1eec |
+ * Store a textual representation of a color in @source. The @color_spec
|
|
Matthew Barnes |
4e1eec |
+ * string should be parsable by #gdk_color_parse(), or %NULL to unset the
|
|
Matthew Barnes |
4e1eec |
+ * color in @source.
|
|
Matthew Barnes |
4e1eec |
+ *
|
|
Matthew Barnes |
4e1eec |
+ * Since: 1.10
|
|
Matthew Barnes |
4e1eec |
+ **/
|
|
Matthew Barnes |
4e1eec |
+void
|
|
Matthew Barnes |
4e1eec |
+e_source_set_color_spec (ESource *source,
|
|
Matthew Barnes |
4e1eec |
+ const gchar *color_spec)
|
|
Matthew Barnes |
4e1eec |
+{
|
|
Matthew Barnes |
4e1eec |
+ g_return_if_fail (E_IS_SOURCE (source));
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ if (!source->priv->readonly && set_color_spec (source, color_spec))
|
|
Matthew Barnes |
4e1eec |
+ g_signal_emit (source, signals[CHANGED], 0);
|
|
Matthew Barnes |
4e1eec |
+}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
ESourceGroup *
|
|
Matthew Barnes |
4e1eec |
e_source_peek_group (ESource *source)
|
|
Matthew Barnes |
4e1eec |
@@ -619,6 +644,25 @@
|
|
Matthew Barnes |
4e1eec |
return source->priv->absolute_uri;
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
+/**
|
|
Matthew Barnes |
4e1eec |
+ * e_source_peek_color_spec:
|
|
Matthew Barnes |
4e1eec |
+ * @source: an ESource
|
|
Matthew Barnes |
4e1eec |
+ *
|
|
Matthew Barnes |
4e1eec |
+ * Return the textual representation of the color for @source, or %NULL if it
|
|
Matthew Barnes |
4e1eec |
+ * has none. The returned string should be parsable by #gdk_color_parse().
|
|
Matthew Barnes |
4e1eec |
+ *
|
|
Matthew Barnes |
4e1eec |
+ * Return value: a string specifying the color
|
|
Matthew Barnes |
4e1eec |
+ *
|
|
Matthew Barnes |
4e1eec |
+ * Since: 1.10
|
|
Matthew Barnes |
4e1eec |
+ **/
|
|
Matthew Barnes |
4e1eec |
+const char *
|
|
Matthew Barnes |
4e1eec |
+e_source_peek_color_spec (ESource *source)
|
|
Matthew Barnes |
4e1eec |
+{
|
|
Matthew Barnes |
4e1eec |
+ g_return_val_if_fail (E_IS_SOURCE (source), NULL);
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ return source->priv->color_spec;
|
|
Matthew Barnes |
4e1eec |
+}
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
gboolean
|
|
Matthew Barnes |
4e1eec |
e_source_get_readonly (ESource *source)
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
@@ -643,13 +687,21 @@
|
|
Matthew Barnes |
4e1eec |
e_source_get_color (ESource *source,
|
|
Matthew Barnes |
4e1eec |
guint32 *color_return)
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
+ const gchar *color_spec;
|
|
Matthew Barnes |
4e1eec |
+ guint32 color;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
g_return_val_if_fail (E_IS_SOURCE (source), FALSE);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (! source->priv->has_color)
|
|
Matthew Barnes |
4e1eec |
+ color_spec = e_source_peek_color_spec (source);
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ if (color_spec == NULL)
|
|
Matthew Barnes |
4e1eec |
+ return FALSE;
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ if (sscanf (color_spec, "#%06x", &color) != 1)
|
|
Matthew Barnes |
4e1eec |
return FALSE;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
if (color_return != NULL)
|
|
Matthew Barnes |
4e1eec |
- *color_return = source->priv->color;
|
|
Matthew Barnes |
4e1eec |
+ *color_return = color;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
return TRUE;
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
@@ -689,8 +741,6 @@
|
|
Matthew Barnes |
4e1eec |
xmlNodePtr parent_node)
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
ESourcePrivate *priv;
|
|
Matthew Barnes |
4e1eec |
- gboolean has_color;
|
|
Matthew Barnes |
4e1eec |
- guint32 color;
|
|
Matthew Barnes |
4e1eec |
xmlNodePtr node;
|
|
Matthew Barnes |
4e1eec |
const char *abs_uri = NULL, *relative_uri = NULL;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
@@ -709,13 +759,9 @@
|
|
Matthew Barnes |
4e1eec |
xmlSetProp (node, "uri", abs_uri);
|
|
Matthew Barnes |
4e1eec |
if (relative_uri)
|
|
Matthew Barnes |
4e1eec |
xmlSetProp (node, "relative_uri", relative_uri);
|
|
Matthew Barnes |
4e1eec |
-
|
|
Matthew Barnes |
4e1eec |
- has_color = e_source_get_color (source, &color;;
|
|
Matthew Barnes |
4e1eec |
- if (has_color) {
|
|
Matthew Barnes |
4e1eec |
- char *color_string = g_strdup_printf (COLOR_FORMAT_STRING, color);
|
|
Matthew Barnes |
4e1eec |
- xmlSetProp (node, "color", color_string);
|
|
Matthew Barnes |
4e1eec |
- g_free (color_string);
|
|
Matthew Barnes |
4e1eec |
- }
|
|
Matthew Barnes |
4e1eec |
+
|
|
Matthew Barnes |
4e1eec |
+ if (priv->color_spec != NULL)
|
|
Matthew Barnes |
4e1eec |
+ xmlSetProp (node, "color_spec", priv->color_spec);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
if (g_hash_table_size (priv->properties) != 0) {
|
|
Matthew Barnes |
4e1eec |
xmlNodePtr properties_node;
|
|
Matthew Barnes |
4e1eec |
@@ -848,7 +894,6 @@
|
|
Matthew Barnes |
4e1eec |
e_source_copy (ESource *source)
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
ESource *new_source;
|
|
Matthew Barnes |
4e1eec |
- guint32 color;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
g_return_val_if_fail (E_IS_SOURCE (source), NULL);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
@@ -857,8 +902,7 @@
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
e_source_set_name (new_source, e_source_peek_name (source));
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- if (e_source_get_color (source, &color))
|
|
Matthew Barnes |
4e1eec |
- e_source_set_color (new_source, color);
|
|
Matthew Barnes |
4e1eec |
+ new_source->priv->color_spec = g_strdup (source->priv->color_spec);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
new_source->priv->absolute_uri = g_strdup (e_source_peek_absolute_uri (source));
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
--- evolution-data-server-1.9.3/libedataserver/test-source-list.c.e-source-color 2005-10-14 07:31:40.000000000 -0400
|
|
Matthew Barnes |
4e1eec |
+++ evolution-data-server-1.9.3/libedataserver/test-source-list.c 2006-12-15 16:02:47.000000000 -0500
|
|
Matthew Barnes |
4e1eec |
@@ -91,17 +91,16 @@
|
|
Matthew Barnes |
4e1eec |
dump_source (ESource *source)
|
|
Matthew Barnes |
4e1eec |
{
|
|
Matthew Barnes |
4e1eec |
char *uri = e_source_get_uri (source);
|
|
Matthew Barnes |
4e1eec |
- gboolean has_color;
|
|
Matthew Barnes |
4e1eec |
- guint32 color;
|
|
Matthew Barnes |
4e1eec |
+ const gchar *color_spec;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
g_print ("\tSource %s\n", e_source_peek_uid (source));
|
|
Matthew Barnes |
4e1eec |
g_print ("\t\tname: %s\n", e_source_peek_name (source));
|
|
Matthew Barnes |
4e1eec |
g_print ("\t\trelative_uri: %s\n", e_source_peek_relative_uri (source));
|
|
Matthew Barnes |
4e1eec |
g_print ("\t\tabsolute_uri: %s\n", uri);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- has_color = e_source_get_color (source, &color;;
|
|
Matthew Barnes |
4e1eec |
- if (has_color)
|
|
Matthew Barnes |
4e1eec |
- g_print ("\t\tcolor: %06x\n", color);
|
|
Matthew Barnes |
4e1eec |
+ color_spec = e_source_peek_color_spec (source);
|
|
Matthew Barnes |
4e1eec |
+ if (color_spec != NULL)
|
|
Matthew Barnes |
4e1eec |
+ g_print ("\t\tcolor: %s\n", color_spec);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
g_print ("\t\tproperties:\n");
|
|
Matthew Barnes |
4e1eec |
e_source_foreach_property (source, (GHFunc) dump_property, NULL);
|
|
Matthew Barnes |
4e1eec |
@@ -429,7 +428,6 @@
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
if (set_color_arg != NULL) {
|
|
Matthew Barnes |
4e1eec |
ESource *source;
|
|
Matthew Barnes |
4e1eec |
- guint32 color;
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
if (add_source_arg == NULL && source_arg == NULL) {
|
|
Matthew Barnes |
4e1eec |
fprintf (stderr,
|
|
Matthew Barnes |
4e1eec |
@@ -442,8 +440,7 @@
|
|
Matthew Barnes |
4e1eec |
else
|
|
Matthew Barnes |
4e1eec |
source = e_source_list_peek_source_by_uid (list, source_arg);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- sscanf (set_color_arg, "%06x", &color;;
|
|
Matthew Barnes |
4e1eec |
- e_source_set_color (source, color);
|
|
Matthew Barnes |
4e1eec |
+ e_source_set_color_spec (source, set_color_arg);
|
|
Matthew Barnes |
4e1eec |
e_source_list_sync (list, NULL);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
@@ -461,7 +458,7 @@
|
|
Matthew Barnes |
4e1eec |
else
|
|
Matthew Barnes |
4e1eec |
source = e_source_list_peek_source_by_uid (list, source_arg);
|
|
Matthew Barnes |
4e1eec |
|
|
Matthew Barnes |
4e1eec |
- e_source_unset_color (source);
|
|
Matthew Barnes |
4e1eec |
+ e_source_set_color_spec (source, NULL);
|
|
Matthew Barnes |
4e1eec |
e_source_list_sync (list, NULL);
|
|
Matthew Barnes |
4e1eec |
}
|
|
Matthew Barnes |
4e1eec |
|