aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Claessens <xclaesse@src.gnome.org>2008-11-14 04:24:34 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2008-11-14 04:24:34 +0800
commitebb19163f07b57187f105605a63b079d87929717 (patch)
treeb27cf8b3e040b7649f51d8e7f818c0698a404de7
parent5b598e3bcc5ce0ae1192fbad01a39f3d51fb40fc (diff)
downloadgsoc2013-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.c14
-rw-r--r--src/empathy-chat-window.c21
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);