aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-chat.c10
-rw-r--r--libempathy-gtk/empathy-status-preset-dialog.ui4
-rw-r--r--libempathy-gtk/empathy-theme-adium.c60
-rw-r--r--libempathy-gtk/empathy-ui-utils.c21
-rw-r--r--libempathy-gtk/empathy-ui-utils.h2
5 files changed, 56 insertions, 41 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index bdd2e4c17..9fa51fb85 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -1191,7 +1191,10 @@ build_part_message (guint reason,
break;
case TP_CHANNEL_GROUP_CHANGE_REASON_KICKED:
if (actor_name != NULL) {
- g_string_append_printf (s, _("%s was kicked by %s"),
+ /* translators: reverse the order of these arguments
+ * if the kicked should come before the kicker in your locale.
+ */
+ g_string_append_printf (s, _("%1$s was kicked by %2$s"),
name, actor_name);
} else {
g_string_append_printf (s, _("%s was kicked"), name);
@@ -1199,7 +1202,10 @@ build_part_message (guint reason,
break;
case TP_CHANNEL_GROUP_CHANGE_REASON_BANNED:
if (actor_name != NULL) {
- g_string_append_printf (s, _("%s was banned by %s"),
+ /* translators: reverse the order of these arguments
+ * if the banned should come before the banner in your locale.
+ */
+ g_string_append_printf (s, _("%1$s was banned by %2$s"),
name, actor_name);
} else {
g_string_append_printf (s, _("%s was banned"), name);
diff --git a/libempathy-gtk/empathy-status-preset-dialog.ui b/libempathy-gtk/empathy-status-preset-dialog.ui
index ead8ab85d..3e76eb6aa 100644
--- a/libempathy-gtk/empathy-status-preset-dialog.ui
+++ b/libempathy-gtk/empathy-status-preset-dialog.ui
@@ -46,7 +46,7 @@
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="remove-button">
- <property name="label" translatable="yes">gtk-remove</property>
+ <property name="label">gtk-remove</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
@@ -95,7 +95,7 @@
</child>
<child>
<object class="GtkButton" id="add-button">
- <property name="label" translatable="yes">gtk-add</property>
+ <property name="label">gtk-add</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
diff --git a/libempathy-gtk/empathy-theme-adium.c b/libempathy-gtk/empathy-theme-adium.c
index e9548f303..b286464d2 100644
--- a/libempathy-gtk/empathy-theme-adium.c
+++ b/libempathy-gtk/empathy-theme-adium.c
@@ -299,33 +299,6 @@ theme_adium_parse_body (EmpathyThemeAdium *theme,
EMPATHY_PREFS_CHAT_SHOW_SMILEYS,
&use_smileys);
- if (use_smileys) {
- /* Replace smileys by a <img/> tag */
- string = g_string_sized_new (strlen (text));
- smileys = empathy_smiley_manager_parse (priv->smiley_manager, text);
- for (l = smileys; l; l = l->next) {
- EmpathySmiley *smiley;
-
- smiley = l->data;
- if (smiley->path) {
- g_string_append_printf (string,
- "<abbr title='%s'><img src=\"%s\"/ alt=\"%s\"/></abbr>",
- smiley->str, smiley->path, smiley->str);
- } else {
- gchar *str;
-
- str = g_markup_escape_text (smiley->str, -1);
- g_string_append (string, str);
- g_free (str);
- }
- empathy_smiley_free (smiley);
- }
- g_slist_free (smileys);
-
- g_free (ret);
- text = ret = g_string_free (string, FALSE);
- }
-
/* Add <a href></a> arround links */
uri_regex = empathy_uri_regex_dup_singleton ();
match = g_regex_match (uri_regex, text, 0, &match_info);
@@ -335,6 +308,8 @@ theme_adium_parse_body (EmpathyThemeAdium *theme,
string = g_string_sized_new (strlen (text));
do {
+ gchar *real_url;
+
g_match_info_fetch_pos (match_info, 0, &s, &e);
if (s > last) {
@@ -344,12 +319,15 @@ theme_adium_parse_body (EmpathyThemeAdium *theme,
}
/* Append the link inside <a href=""></a> tag */
+ real_url = empathy_make_absolute_url (text + s);
+
g_string_append (string, "<a href=\"");
- g_string_append_len (string, text + s, e - s);
+ g_string_append (string, real_url);
g_string_append (string, "\">");
g_string_append_len (string, text + s, e - s);
g_string_append (string, "</a>");
+ g_free (real_url);
last = e;
} while (g_match_info_next (match_info, NULL));
@@ -360,7 +338,33 @@ theme_adium_parse_body (EmpathyThemeAdium *theme,
g_free (ret);
text = ret = g_string_free (string, FALSE);
+ } else if (use_smileys) {
+ /* Replace smileys by a <img/> tag */
+ string = g_string_sized_new (strlen (text));
+ smileys = empathy_smiley_manager_parse (priv->smiley_manager, text);
+ for (l = smileys; l; l = l->next) {
+ EmpathySmiley *smiley;
+
+ smiley = l->data;
+ if (smiley->path) {
+ g_string_append_printf (string,
+ "<abbr title='%s'><img src=\"%s\"/ alt=\"%s\"/></abbr>",
+ smiley->str, smiley->path, smiley->str);
+ } else {
+ gchar *str;
+
+ str = g_markup_escape_text (smiley->str, -1);
+ g_string_append (string, str);
+ g_free (str);
+ }
+ empathy_smiley_free (smiley);
+ }
+ g_slist_free (smileys);
+
+ g_free (ret);
+ text = ret = g_string_free (string, FALSE);
}
+
g_match_info_free (match_info);
g_regex_unref (uri_regex);
diff --git a/libempathy-gtk/empathy-ui-utils.c b/libempathy-gtk/empathy-ui-utils.c
index 40c6134cf..32abc5884 100644
--- a/libempathy-gtk/empathy-ui-utils.c
+++ b/libempathy-gtk/empathy-ui-utils.c
@@ -1333,20 +1333,26 @@ empathy_get_toplevel_window (GtkWidget *widget)
return NULL;
}
-/* The URL opening code can't handle schemeless strings, so we try to be
+/** empathy_make_absolute_url:
+ * @url: an url
+ *
+ * The URL opening code can't handle schemeless strings, so we try to be
* smart and add http if there is no scheme or doesn't look like a mail
* address. This should work in most cases, and let us click on strings
* like "www.gnome.org".
+ *
+ * Returns: a newly allocated url with proper mailto: or http:// prefix, use
+ * g_free when your are done with it
*/
-static gchar *
-fixup_url (const gchar *url)
+gchar *
+empathy_make_absolute_url (const gchar *url)
{
g_return_val_if_fail (url != NULL, NULL);
if (g_str_has_prefix (url, "ghelp:") ||
g_str_has_prefix (url, "mailto:") ||
strstr (url, ":/")) {
- return NULL;
+ return g_strdup (url);
}
if (strstr (url, "@")) {
@@ -1366,12 +1372,9 @@ empathy_url_show (GtkWidget *parent,
g_return_if_fail (parent == NULL || GTK_IS_WIDGET (parent));
g_return_if_fail (url != NULL);
- real_url = fixup_url (url);
- if (real_url) {
- url = real_url;
- }
+ real_url = empathy_make_absolute_url (url);
- gtk_show_uri (parent ? gtk_widget_get_screen (parent) : NULL, url,
+ gtk_show_uri (parent ? gtk_widget_get_screen (parent) : NULL, real_url,
gtk_get_current_event_time (), &error);
if (error) {
diff --git a/libempathy-gtk/empathy-ui-utils.h b/libempathy-gtk/empathy-ui-utils.h
index 10f889b0c..3299a44e0 100644
--- a/libempathy-gtk/empathy-ui-utils.h
+++ b/libempathy-gtk/empathy-ui-utils.h
@@ -112,6 +112,8 @@ GtkWidget * empathy_link_button_new (const gchar *url,
void empathy_send_file_with_file_chooser (EmpathyContact *contact);
void empathy_receive_file_with_file_chooser (EmpathyFTHandler *handler);
+gchar * empathy_make_absolute_url (const gchar *url);
+
G_END_DECLS
#endif /* __EMPATHY_UI_UTILS_H__ */