aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/empathy-protocol-chooser.c8
-rw-r--r--libempathy/empathy-utils.c32
-rw-r--r--libempathy/empathy-utils.h1
-rw-r--r--src/empathy-account-assistant.c14
-rw-r--r--src/empathy-accounts-dialog.c16
5 files changed, 44 insertions, 27 deletions
diff --git a/libempathy-gtk/empathy-protocol-chooser.c b/libempathy-gtk/empathy-protocol-chooser.c
index 2017b3363..0ac268015 100644
--- a/libempathy-gtk/empathy-protocol-chooser.c
+++ b/libempathy-gtk/empathy-protocol-chooser.c
@@ -225,10 +225,8 @@ protocol_choosers_add_cm (EmpathyProtocolChooser *chooser,
g_strdup (proto->name), g_strdup (cm->name));
icon_name = empathy_protocol_icon_name (proto->name);
- display_name = empathy_protocol_name_to_display_name (proto->name);
- if (display_name == NULL)
- display_name = proto->name;
+ display_name = empathy_protocol_name_to_display_name (proto->name);
gtk_list_store_insert_with_values (priv->store,
NULL, 0,
@@ -241,7 +239,7 @@ protocol_choosers_add_cm (EmpathyProtocolChooser *chooser,
if (!tp_strdiff (proto->name, "jabber") &&
!tp_strdiff (cm->name, "gabble"))
{
- display_name = empathy_protocol_name_to_display_name ("gtalk");
+ display_name = empathy_service_name_to_display_name ("google-talk");
gtk_list_store_insert_with_values (priv->store,
NULL, 0,
COL_ICON, "im-google-talk",
@@ -251,7 +249,7 @@ protocol_choosers_add_cm (EmpathyProtocolChooser *chooser,
COL_SERVICE, "google-talk",
-1);
- display_name = empathy_protocol_name_to_display_name ("facebook");
+ display_name = empathy_service_name_to_display_name ("facebook");
gtk_list_store_insert_with_values (priv->store,
NULL, 0,
COL_ICON, "im-facebook",
diff --git a/libempathy/empathy-utils.c b/libempathy/empathy-utils.c
index 85953f8f9..e2e1f8a28 100644
--- a/libempathy/empathy-utils.c
+++ b/libempathy/empathy-utils.c
@@ -539,7 +539,6 @@ empathy_protocol_name_to_display_name (const gchar *proto_name)
gboolean translated;
} names[] = {
{ "jabber", "Jabber", FALSE },
- { "gtalk", "Google Talk", FALSE },
{ "msn", "MSN", FALSE, },
{ "local-xmpp", N_("People Nearby"), TRUE },
{ "irc", "IRC", FALSE },
@@ -547,7 +546,6 @@ empathy_protocol_name_to_display_name (const gchar *proto_name)
{ "aim", "AIM", FALSE },
{ "yahoo", "Yahoo!", FALSE },
{ "yahoojp", N_("Yahoo! Japan"), TRUE },
- { "facebook", N_("Facebook Chat"), TRUE },
{ "groupwise", "GroupWise", FALSE },
{ "sip", "SIP", FALSE },
{ NULL, NULL }
@@ -564,7 +562,35 @@ empathy_protocol_name_to_display_name (const gchar *proto_name)
}
}
- return NULL;
+ return proto_name;
+}
+
+const char *
+empathy_service_name_to_display_name (const gchar *service_name)
+{
+ int i;
+ static struct {
+ const gchar *service;
+ const gchar *display;
+ gboolean translated;
+ } names[] = {
+ { "google-talk", "Google Talk", FALSE },
+ { "facebook", N_("Facebook Chat"), TRUE },
+ { NULL, NULL }
+ };
+
+ for (i = 0; names[i].service != NULL; i++)
+ {
+ if (!tp_strdiff (service_name, names[i].service))
+ {
+ if (names[i].translated)
+ return _(names[i].display);
+ else
+ return names[i].display;
+ }
+ }
+
+ return service_name;
}
/* Note: this function depends on the account manager having its core feature
diff --git a/libempathy/empathy-utils.h b/libempathy/empathy-utils.h
index 6a67321d9..0f8adc33e 100644
--- a/libempathy/empathy-utils.h
+++ b/libempathy/empathy-utils.h
@@ -83,6 +83,7 @@ const gchar * empathy_account_get_error_message (TpAccount *account,
gchar *empathy_protocol_icon_name (const gchar *protocol);
const gchar *empathy_protocol_name_to_display_name (const gchar *proto_name);
+const gchar *empathy_service_name_to_display_name (const gchar *proto_name);
#define EMPATHY_ARRAY_TYPE_OBJECT (empathy_type_dbus_ao ())
GType empathy_type_dbus_ao (void);
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c
index 2a350e982..046e2377e 100644
--- a/src/empathy-account-assistant.c
+++ b/src/empathy-account-assistant.c
@@ -389,8 +389,8 @@ account_assistant_protocol_changed_cb (GtkComboBox *chooser,
GtkWidget *account_widget;
EmpathyAccountWidget *widget_object = NULL;
gboolean is_gtalk = FALSE, is_facebook = FALSE;
- const gchar *name;
gchar *service;
+ const gchar *display_name;
priv = GET_PRIV (self);
@@ -405,21 +405,19 @@ account_assistant_protocol_changed_cb (GtkComboBox *chooser,
if (!tp_strdiff (service, "google-talk"))
{
is_gtalk = TRUE;
- name = "gtalk";
}
else if (!tp_strdiff (service, "facebook"))
{
is_facebook = TRUE;
- name ="facebook";
}
+
+ if (service != NULL)
+ display_name = empathy_service_name_to_display_name (service);
else
- {
- name = proto->name;
- }
+ display_name = empathy_protocol_name_to_display_name (proto->name);
/* To translator: %s is the protocol name */
- str = g_strdup_printf (_("New %s account"),
- empathy_protocol_name_to_display_name (name));
+ str = g_strdup_printf (_("New %s account"), display_name);
settings = empathy_account_settings_new (cm->name, proto->name, str);
diff --git a/src/empathy-accounts-dialog.c b/src/empathy-accounts-dialog.c
index a8339a58b..fd6821368 100644
--- a/src/empathy-accounts-dialog.c
+++ b/src/empathy-accounts-dialog.c
@@ -585,7 +585,7 @@ accounts_dialog_setup_ui_to_add_account (EmpathyAccountsDialog *dialog)
EmpathyAccountsDialogPriv *priv = GET_PRIV (dialog);
EmpathyAccountSettings *settings;
gchar *str;
- const gchar *name, *display_name;
+ const gchar *display_name;
TpConnectionManager *cm;
TpConnectionManagerProtocol *proto;
gboolean is_gtalk = FALSE, is_facebook = FALSE;
@@ -599,22 +599,16 @@ accounts_dialog_setup_ui_to_add_account (EmpathyAccountsDialog *dialog)
if (!tp_strdiff (service, "google-talk"))
{
is_gtalk = TRUE;
- name = "gtalk";
}
else if (!tp_strdiff (service, "facebook"))
{
is_facebook = TRUE;
- name ="facebook";
- }
- else
- {
- name = proto->name;
}
- /* TODO: pass the service name to empathy_protocol_name_to_display_name */
- display_name = empathy_protocol_name_to_display_name (name);
- if (display_name == NULL)
- display_name = proto->name;
+ if (service != NULL)
+ display_name = empathy_service_name_to_display_name (service);
+ else
+ display_name = empathy_protocol_name_to_display_name (proto->name);
/* Create account */
/* To translator: %s is the name of the protocol, such as "Google Talk" or