diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2008-11-14 04:24:34 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2008-11-14 04:24:34 +0800 |
commit | ebb19163f07b57187f105605a63b079d87929717 (patch) | |
tree | b27cf8b3e040b7649f51d8e7f818c0698a404de7 | |
parent | 5b598e3bcc5ce0ae1192fbad01a39f3d51fb40fc (diff) | |
download | gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.tar gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.tar.gz gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.tar.bz2 gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.tar.lz gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.tar.xz gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.tar.zst gsoc2013-empathy-ebb19163f07b57187f105605a63b079d87929717.zip |
If chats have no name, use the channel's ID instead of fallback to "Conversation". Fixes bug #560611.
svn path=/trunk/; revision=1717
-rw-r--r-- | libempathy-gtk/empathy-chat.c | 14 | ||||
-rw-r--r-- | src/empathy-chat-window.c | 21 |
2 files changed, 14 insertions, 21 deletions
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c index 1dd3908b4..fe289539c 100644 --- a/libempathy-gtk/empathy-chat.c +++ b/libempathy-gtk/empathy-chat.c @@ -118,6 +118,7 @@ chat_get_property (GObject *object, GValue *value, GParamSpec *pspec) { + EmpathyChat *chat = EMPATHY_CHAT (object); EmpathyChatPriv *priv = GET_PRIV (object); switch (param_id) { @@ -128,7 +129,7 @@ chat_get_property (GObject *object, g_value_set_object (value, priv->account); break; case PROP_NAME: - g_value_set_string (value, priv->name); + g_value_set_string (value, empathy_chat_get_name (chat)); break; case PROP_ID: g_value_set_string (value, priv->id); @@ -1641,10 +1642,19 @@ const gchar * empathy_chat_get_name (EmpathyChat *chat) { EmpathyChatPriv *priv = GET_PRIV (chat); + const gchar *ret; g_return_val_if_fail (EMPATHY_IS_CHAT (chat), NULL); - return priv->name; + ret = priv->name; + if (!ret && priv->remote_contact) { + ret = empathy_contact_get_name (priv->remote_contact); + } + + if (!ret) + ret = priv->id; + + return ret ? ret : _("Conversation"); } const gchar * diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c index 7ae404e09..a6b82dc0f 100644 --- a/src/empathy-chat-window.c +++ b/src/empathy-chat-window.c @@ -263,23 +263,6 @@ chat_window_create_label (EmpathyChatWindow *window, return hbox; } -static const gchar * -chat_window_get_chat_name (EmpathyChat *chat) -{ - EmpathyContact *remote_contact = NULL; - const gchar *name = NULL; - - name = empathy_chat_get_name (chat); - if (!name) { - remote_contact = empathy_chat_get_remote_contact (chat); - if (remote_contact) { - name = empathy_contact_get_name (remote_contact); - } - } - - return name ? name : _("Conversation"); -} - static void chat_window_update (EmpathyChatWindow *window) { @@ -304,7 +287,7 @@ chat_window_update (EmpathyChatWindow *window) first_page = (page_num == 0); last_page = (page_num == (num_pages - 1)); is_connected = empathy_chat_get_tp_chat (priv->current_chat) != NULL; - name = chat_window_get_chat_name (priv->current_chat); + name = empathy_chat_get_name (priv->current_chat); n_chats = g_list_length (priv->chats); DEBUG ("Update window"); @@ -382,7 +365,7 @@ chat_window_update_chat_tab (EmpathyChat *chat) priv = GET_PRIV (window); /* Get information */ - name = chat_window_get_chat_name (chat); + name = empathy_chat_get_name (chat); subject = empathy_chat_get_subject (chat); remote_contact = empathy_chat_get_remote_contact (chat); |