[empathy: 4/10] Make empathy_string_replace_link and empathy_string_replace_escaped public



commit 3e4bea3436209cca9ce685fdbacec7fcc11f1388
Author: Xavier Claessens <xclaesse gmail com>
Date:   Wed Mar 3 15:39:40 2010 +0100

    Make empathy_string_replace_link and empathy_string_replace_escaped public
    
    The code is moved from empathy-theme-adium.c

 libempathy-gtk/empathy-string-parser.c |   39 +++++++++++++++++++++++++++
 libempathy-gtk/empathy-string-parser.h |   13 +++++++++
 libempathy-gtk/empathy-theme-adium.c   |   46 +++-----------------------------
 3 files changed, 56 insertions(+), 42 deletions(-)
---
diff --git a/libempathy-gtk/empathy-string-parser.c b/libempathy-gtk/empathy-string-parser.c
index 27421eb..1240edd 100644
--- a/libempathy-gtk/empathy-string-parser.c
+++ b/libempathy-gtk/empathy-string-parser.c
@@ -24,6 +24,7 @@
 
 #include "empathy-string-parser.h"
 #include "empathy-smiley-manager.h"
+#include "empathy-ui-utils.h"
 
 #define SCHEMES           "([a-zA-Z\\+]+)"
 #define INVALID_CHARS     "\\s\"'"
@@ -152,3 +153,41 @@ empathy_string_match_all (const gchar *text,
 	replace_func (text, len, NULL, user_data);
 }
 
+void
+empathy_string_replace_link (const gchar *text,
+                             gssize len,
+                             gpointer match_data,
+                             gpointer user_data)
+{
+	GString *string = user_data;
+	gchar *real_url;
+	gchar *escaped;
+
+	real_url = empathy_make_absolute_url_len (text, len);
+
+	/* The thing we are making a link of may contain
+	 * characters which need escaping */
+	escaped = g_markup_escape_text (text, len);
+
+	/* Append the link inside <a href=""></a> tag */
+	g_string_append_printf (string, "<a href=\"%s\">%s</a>",
+				real_url, escaped);
+
+	g_free (real_url);
+	g_free (escaped);
+}
+
+void
+empathy_string_replace_escaped (const gchar *text,
+				gssize len,
+				gpointer match_data,
+				gpointer user_data)
+{
+	GString *string = user_data;
+	gchar *escaped;
+
+	escaped = g_markup_escape_text (text, len);
+	g_string_append (string, escaped);
+	g_free (escaped);
+}
+
diff --git a/libempathy-gtk/empathy-string-parser.h b/libempathy-gtk/empathy-string-parser.h
index 696545b..db646d6 100644
--- a/libempathy-gtk/empathy-string-parser.h
+++ b/libempathy-gtk/empathy-string-parser.h
@@ -69,6 +69,19 @@ empathy_string_match_all (const gchar *text,
 			  EmpathyStringParser *sub_parsers,
 			  gpointer user_data);
 
+/* Replace functions assume user_data is a GString */
+void
+empathy_string_replace_link (const gchar *text,
+                             gssize len,
+                             gpointer match_data,
+                             gpointer user_data);
+
+void
+empathy_string_replace_escaped (const gchar *text,
+				gssize len,
+				gpointer match_data,
+				gpointer user_data);
+
 G_END_DECLS
 
 #endif /*  __EMPATHY_STRING_PARSER_H__ */
diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
index ef7d3a7..7736be2 100644
--- a/libempathy-gtk/empathy-theme-adium.c
+++ b/libempathy-gtk/empathy-theme-adium.c
@@ -222,30 +222,6 @@ theme_adium_match_newline (const gchar *text,
 }
 
 static void
-theme_adium_replace_link (const gchar *text,
-			  gssize len,
-			  gpointer match_data,
-			  gpointer user_data)
-{
-	GString *string = user_data;
-	gchar *real_url;
-	gchar *escaped;
-
-	real_url = empathy_make_absolute_url_len (text, len);
-
-	/* The thing we are making a link of may contain
-	 * characters which need escaping */
-	escaped = g_markup_escape_text (text, len);
-
-	/* Append the link inside <a href=""></a> tag */
-	g_string_append_printf (string, "<a href=\"%s\">%s</a>",
-				real_url, escaped);
-
-	g_free (real_url);
-	g_free (escaped);
-}
-
-static void
 theme_adium_replace_smiley (const gchar *text,
 			    gssize len,
 			    gpointer match_data,
@@ -260,32 +236,18 @@ theme_adium_replace_smiley (const gchar *text,
 				hit->path, (int)len, text, (int)len, text);
 }
 
-static void
-theme_adium_replace_escaped (const gchar *text,
-			     gssize len,
-			     gpointer match_data,
-			     gpointer user_data)
-{
-	GString *string = user_data;
-	gchar *escaped;
-
-	escaped = g_markup_escape_text (text, len);
-	g_string_append (string, escaped);
-	g_free (escaped);
-}
-
 static EmpathyStringParser string_parsers[] = {
-	{empathy_string_match_link, theme_adium_replace_link},
+	{empathy_string_match_link, empathy_string_replace_link},
 	{theme_adium_match_newline, NULL},
-	{empathy_string_match_all, theme_adium_replace_escaped},
+	{empathy_string_match_all, empathy_string_replace_escaped},
 	{NULL, NULL}
 };
 
 static EmpathyStringParser string_parsers_with_smiley[] = {
-	{empathy_string_match_link, theme_adium_replace_link},
+	{empathy_string_match_link, empathy_string_replace_link},
 	{empathy_string_match_smiley, theme_adium_replace_smiley},
 	{theme_adium_match_newline, NULL},
-	{empathy_string_match_all, theme_adium_replace_escaped},
+	{empathy_string_match_all, empathy_string_replace_escaped},
 	{NULL, NULL}
 };
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]