]> git.0d.be Git - empathy.git/commitdiff
New function empathy_add_link_markup() to be used with gtk_label_set_markup()
authorXavier Claessens <xclaesse@gmail.com>
Wed, 3 Mar 2010 14:48:07 +0000 (15:48 +0100)
committerXavier Claessens <xclaesse@gmail.com>
Wed, 3 Mar 2010 15:18:45 +0000 (16:18 +0100)
libempathy-gtk/empathy-string-parser.c
libempathy-gtk/empathy-string-parser.h

index 1240edd50acdc5da993475a8803789977c247579..1f9f5f2ab8d76a6b2c7276511fce785cf67146c0 100644 (file)
@@ -191,3 +191,19 @@ empathy_string_replace_escaped (const gchar *text,
        g_free (escaped);
 }
 
+gchar *
+empathy_add_link_markup (const gchar *text)
+{
+       static EmpathyStringParser parsers[] = {
+               {empathy_string_match_link, empathy_string_replace_link},
+               {empathy_string_match_all, empathy_string_replace_escaped},
+               {NULL, NULL}
+       };
+       GString *string;
+
+       string = g_string_sized_new (strlen (text));
+       empathy_string_parser_substr (text, -1, parsers, string);
+
+       return g_string_free (string, FALSE);
+}
+
index db646d60b9190457b1b3445ad2ed510004d15e08..aec741add40cbaee050575675b747a8718844264 100644 (file)
@@ -82,6 +82,9 @@ empathy_string_replace_escaped (const gchar *text,
                                gpointer match_data,
                                gpointer user_data);
 
+gchar *
+empathy_add_link_markup (const gchar *text);
+
 G_END_DECLS
 
 #endif /*  __EMPATHY_STRING_PARSER_H__ */