diff options
Diffstat (limited to 'libempathy-gtk')
-rw-r--r-- | libempathy-gtk/empathy-chat.c | 10 | ||||
-rw-r--r-- | libempathy-gtk/empathy-status-preset-dialog.ui | 4 | ||||
-rw-r--r-- | libempathy-gtk/empathy-theme-adium.c | 60 | ||||
-rw-r--r-- | libempathy-gtk/empathy-ui-utils.c | 21 | ||||
-rw-r--r-- | libempathy-gtk/empathy-ui-utils.h | 2 |
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__ */ |