]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-theme-adium.c
Merge branch: 'Add top-up link to chat text when there is insufficient credit'
[empathy.git] / libempathy-gtk / empathy-theme-adium.c
index a6a697a2976921a36cee535b6148bc653a18552b..9c23d35170804638d4cba5dcadf59ddbe2e637e4 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) {
@@ -1657,6 +1663,20 @@ empathy_theme_adium_set_variant (EmpathyThemeAdium *theme,
        g_object_notify (G_OBJECT (theme), "variant");
 }
 
+void
+empathy_theme_adium_show_inspector (EmpathyThemeAdium *theme)
+{
+       WebKitWebView      *web_view = WEBKIT_WEB_VIEW (theme);
+       WebKitWebInspector *inspector;
+
+       g_object_set (G_OBJECT (webkit_web_view_get_settings (web_view)),
+                     "enable-developer-extras", TRUE,
+                     NULL);
+
+       inspector = webkit_web_view_get_inspector (web_view);
+       webkit_web_inspector_show (inspector);
+}
+
 gboolean
 empathy_adium_path_is_valid (const gchar *path)
 {
@@ -1742,8 +1762,11 @@ adium_info_dup_path_for_variant (GHashTable *info,
                return g_strdup ("main.css");
        }
 
-       /* Verify the variant exists, fallback to the first one */
        variants = empathy_adium_info_get_available_variants (info);
+       if (variants->len == 0)
+               return g_strdup ("main.css");
+
+       /* Verify the variant exists, fallback to the first one */
        for (i = 0; i < variants->len; i++) {
                if (!tp_strdiff (variant, g_ptr_array_index (variants, i))) {
                        break;