]> git.0d.be Git - empathy.git/commitdiff
theme-adium: ensure we always use the same color when sending messages
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 12 Sep 2011 14:58:46 +0000 (16:58 +0200)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Tue, 13 Sep 2011 08:42:08 +0000 (10:42 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=658821

libempathy-gtk/empathy-theme-adium.c

index 4e32630d51a5e52c0f56bb9603e697844251609b..f81329b7912f3f2d8f38bbd7fb32fdbb5a3ee574 100644 (file)
@@ -541,7 +541,8 @@ theme_adium_append_html (EmpathyThemeAdium *theme,
                         const gchar       *service_name,
                         const gchar       *message_classes,
                         gint64             timestamp,
-                        gboolean           is_backlog)
+                        gboolean           is_backlog,
+                        gboolean           outgoing)
 {
        EmpathyThemeAdiumPriv *priv = GET_PRIV (theme);
        GString     *string;
@@ -571,7 +572,12 @@ theme_adium_append_html (EmpathyThemeAdium *theme,
                         * Incoming/SenderColors.txt it will be used instead of
                         * the default colors.
                         */
-                       if (contact_id != NULL) {
+
+                       /* Ensure we always use the same color when sending messages
+                        * (bgo #658821) */
+                       if (outgoing) {
+                               replace = "inherit";
+                       } else if (contact_id != NULL) {
                                guint hash = g_str_hash (contact_id);
                                replace = colors[hash % G_N_ELEMENTS (colors)];
                        }
@@ -687,7 +693,7 @@ theme_adium_append_event_escaped (EmpathyChatView *view,
        theme_adium_append_html (theme, "appendMessage",
                                 priv->data->status_html, escaped, NULL, NULL, NULL,
                                 NULL, "event",
-                                empathy_time_get_current (), FALSE);
+                                empathy_time_get_current (), FALSE, FALSE);
 
        /* There is no last contact */
        if (priv->last_contact) {
@@ -944,7 +950,7 @@ theme_adium_append_message (EmpathyChatView *view,
        theme_adium_append_html (theme, func, html, body_escaped,
                                 avatar_filename, name, contact_id,
                                 service_name, message_classes->str,
-                                timestamp, is_backlog);
+                                timestamp, is_backlog, empathy_contact_is_user (sender));
 
        /* Keep the sender of the last displayed message */
        if (priv->last_contact) {