]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-smiley-manager.c
EmpathySmileyManager: use the proper Unicode characters
[empathy.git] / libempathy-gtk / empathy-smiley-manager.c
index 71cb5065f3f50ceae85d6f5c95974eb5be2bed35..bc4b44d7364765504c3ee416f2934ca966fa6fa4 100644 (file)
  *          Xavier Claessens <xclaesse@gmail.com>
  */
 
-#include <config.h>
+#include "config.h"
+#include "empathy-smiley-manager.h"
 
-#include <string.h>
+#include <tp-account-widgets/tpaw-pixbuf-utils.h>
+#include <tp-account-widgets/tpaw-utils.h>
 
-#include <libempathy/empathy-utils.h>
-#include "empathy-smiley-manager.h"
 #include "empathy-ui-utils.h"
+#include "empathy-utils.h"
 
 typedef struct _SmileyManagerTree SmileyManagerTree;
 
@@ -39,7 +40,7 @@ typedef struct {
 struct _SmileyManagerTree {
        gunichar     c;
        GdkPixbuf   *pixbuf;
-       const gchar *path;
+       gchar       *path;
        GSList      *childrens;
 };
 
@@ -78,6 +79,7 @@ smiley_manager_tree_free (SmileyManagerTree *tree)
                g_object_unref (tree->pixbuf);
        }
        g_slist_free (tree->childrens);
+       g_free (tree->path);
        g_slice_free (SmileyManagerTree, tree);
 }
 
@@ -209,13 +211,13 @@ smiley_manager_tree_insert (SmileyManagerTree *tree,
        }
 
        child->pixbuf = g_object_ref (pixbuf);
-       child->path = path;
+       child->path = g_strdup (path);
 }
 
 static void
 smiley_manager_add_valist (EmpathySmileyManager *manager,
                           GdkPixbuf            *pixbuf,
-                          gchar                *path,
+                          const gchar          *path,
                           const gchar          *first_str,
                           va_list               var_args)
 {
@@ -227,7 +229,6 @@ smiley_manager_add_valist (EmpathySmileyManager *manager,
                smiley_manager_tree_insert (priv->tree, pixbuf, str, path);
        }
 
-       /* We give the ownership of path to the smiley */
        g_object_set_data_full (G_OBJECT (pixbuf), "smiley_str",
                                g_strdup (first_str), g_free);
        smiley = smiley_new (pixbuf, first_str);
@@ -244,18 +245,19 @@ empathy_smiley_manager_add (EmpathySmileyManager *manager,
        va_list    var_args;
 
        g_return_if_fail (EMPATHY_IS_SMILEY_MANAGER (manager));
-       g_return_if_fail (!EMP_STR_EMPTY (icon_name));
-       g_return_if_fail (!EMP_STR_EMPTY (first_str));
+       g_return_if_fail (!TPAW_STR_EMPTY (icon_name));
+       g_return_if_fail (!TPAW_STR_EMPTY (first_str));
 
-       pixbuf = empathy_pixbuf_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
+       pixbuf = tpaw_pixbuf_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
        if (pixbuf) {
                gchar *path;
 
                va_start (var_args, first_str);
-               path = empathy_filename_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
+               path = tpaw_filename_from_icon_name (icon_name, GTK_ICON_SIZE_MENU);
                smiley_manager_add_valist (manager, pixbuf, path, first_str, var_args);
                va_end (var_args);
                g_object_unref (pixbuf);
+               g_free (path);
        }
 }
 
@@ -265,27 +267,53 @@ empathy_smiley_manager_load (EmpathySmileyManager *manager)
        g_return_if_fail (EMPATHY_IS_SMILEY_MANAGER (manager));
 
        /* From fd.o icon-naming spec */
-       empathy_smiley_manager_add (manager, "face-angel",      "O:-)",  "O:)",  NULL);
-       empathy_smiley_manager_add (manager, "face-angry",      "X-(",   ":@",   NULL);
-       empathy_smiley_manager_add (manager, "face-cool",       "B-)",   "B)",   NULL);
-       empathy_smiley_manager_add (manager, "face-crying",     ":'(",           NULL);
-       empathy_smiley_manager_add (manager, "face-devilish",   ">:-)",  ">:)",  NULL);
-       empathy_smiley_manager_add (manager, "face-embarrassed",":-[",   ":[",   ":-$", ":$", NULL);
-       empathy_smiley_manager_add (manager, "face-kiss",       ":-*",   ":*",   NULL);
-       empathy_smiley_manager_add (manager, "face-laugh",      ":-))",  ":))",  NULL);
-       empathy_smiley_manager_add (manager, "face-monkey",     ":-(|)", ":(|)", NULL);
-       empathy_smiley_manager_add (manager, "face-plain",      ":-|",   ":|",   NULL);
-       empathy_smiley_manager_add (manager, "face-raspberry",  ":-P",   ":P",   ":-p", ":p", NULL);
-       empathy_smiley_manager_add (manager, "face-sad",        ":-(",   ":(",   NULL);
-       empathy_smiley_manager_add (manager, "face-sick",       ":-&",   ":&",   NULL);
-       empathy_smiley_manager_add (manager, "face-smile",      ":-)",   ":)",   NULL);
-       empathy_smiley_manager_add (manager, "face-smile-big",  ":-D",   ":D",   ":-d", ":d", NULL);
-       empathy_smiley_manager_add (manager, "face-smirk",      ":-!",   ":!",   NULL);
-       empathy_smiley_manager_add (manager, "face-surprise",   ":-O",   ":O",   ":-o", ":o", NULL);
-       empathy_smiley_manager_add (manager, "face-tired",      "|-)",   "|)",   NULL);
-       empathy_smiley_manager_add (manager, "face-uncertain",  ":-/",   ":/",   NULL);
-       empathy_smiley_manager_add (manager, "face-wink",       ";-)",   ";)",   NULL);
-       empathy_smiley_manager_add (manager, "face-worried",    ":-S",   ":S",   ":-s", ":s", NULL);
+
+       /* U+1F47C BABY ANGEL */
+       empathy_smiley_manager_add (manager, "face-angel",      "👼",    "O:-)",  "O:)",  NULL);
+       /* U+1F620 ANGRY FACE */
+       empathy_smiley_manager_add (manager, "face-angry",      "😠",    "X-(",   ":@",   NULL);
+       /* U+1F60E SMILING FACE WITH SUNGLASSES */
+       empathy_smiley_manager_add (manager, "face-cool",       "😎",    "B-)",   "B-|",  NULL);
+       /* U+1F62D LOUDLY CRYING FACE */
+       empathy_smiley_manager_add (manager, "face-crying",     "😭",    ":'(",           NULL);
+       /* U+1F608 SMILING FACE WITH HORNS  */
+       empathy_smiley_manager_add (manager, "face-devilish",   "😈",    ">:-)",  ">:)",  NULL);
+       /* U+1F633 FLUSHED FACE */
+       empathy_smiley_manager_add (manager, "face-embarrassed","😳",    ":-[",   ":[",   ":-$", ":$", NULL);
+       /* no suitable character in unicode */
+       empathy_smiley_manager_add (manager, "face-glasses",    "8-)",   NULL);
+       /* U+1F618 FACE THROWING A KISS */
+       empathy_smiley_manager_add (manager, "face-kiss",       "😘",    ":-*",   ":*",   NULL);
+       /* U+1F604 SMILING FACE WITH OPEN MOUTH AND SMILING EYES" */
+       empathy_smiley_manager_add (manager, "face-laugh",      "😄",    ":-))",  ":))",  NULL);
+       /* U+1F435 MONKEY */
+       empathy_smiley_manager_add (manager, "face-monkey",     "🐵",    ":-(|)", ":(|)", NULL);
+       /* U+1F610 NEUTRAL FACE */
+       empathy_smiley_manager_add (manager, "face-plain",      "😐",    ":-|",   ":|",   NULL);
+       /* U+1F61B FACE WITH STUCK-OUT TONGUE */
+       empathy_smiley_manager_add (manager, "face-raspberry",  "😛",    ":-P",   ":P",        ":-p", ":p", NULL);
+       /* U+1F626 FROWING FACE WITH OPEN MOUTH */
+       empathy_smiley_manager_add (manager, "face-sad",        "😦",    ":-(",   ":(",   NULL);
+       /* U+1F635 DIZZY FACE */
+       empathy_smiley_manager_add (manager, "face-sick",       "😵",    ":-&",   ":&",   NULL);
+       /* U+1F603 SMILING FACE WITH OPEN MOUTH */
+       empathy_smiley_manager_add (manager, "face-smile",      "😃",    ":-)",   ":)",   ":]",  "=)", NULL);
+       /* U+1F601 GRINNING FACE WITH SMILING EYES */
+       empathy_smiley_manager_add (manager, "face-smile-big",  "😁",    ":-D",   ":D",   ":-d", ":d", NULL);
+       /* U+1F60F SMIRKING FACE */
+       empathy_smiley_manager_add (manager, "face-smirk",      "😏",    ":-!",   ":!",   NULL);
+       /* U+1F632 ASTONISHED FACE */
+       empathy_smiley_manager_add (manager, "face-surprise",   "😲",    ":-O",   ":O",   ":-o", ":o", NULL);
+       /* U+1F62A SLEEPY FACE */
+       empathy_smiley_manager_add (manager, "face-tired",      "😪",    "|-)",   "|)",   NULL);
+       /* U+1F615 CONFUSED FACE */
+       empathy_smiley_manager_add (manager, "face-uncertain",  "😕",    ":-/",   ":/",   ":-\\", ":\\", NULL);
+       /* U+1F609 WINKING FACE */
+       empathy_smiley_manager_add (manager, "face-wink",       "😉",    ";-)",   ";)",   NULL);
+       /* U+1F61F WORRIED FACE */
+       empathy_smiley_manager_add (manager, "face-worried",    "😟",    ":-S",   ":S",   ":-s", ":s", NULL);
+       /* U+2764 HEAVY BLACK HEART */
+       empathy_smiley_manager_add (manager, "emblem-favorite", "❤",     "<3", NULL);
 }
 
 static EmpathySmileyHit *