[empathy: 1/11] Print part reasons to conversation window
- From: Will Thompson <wjt src gnome org>
- To: svn-commits-list gnome org
- Subject: [empathy: 1/11] Print part reasons to conversation window
- Date: Wed, 1 Jul 2009 22:48:16 +0000 (UTC)
commit bc08d45ad3b44b7ba7b5b0044f538338d2a6553e
Author: Will Thompson <will thompson collabora co uk>
Date: Wed Jun 17 20:41:31 2009 +0100
Print part reasons to conversation window
libempathy-gtk/empathy-chat.c | 40 +++++++++++++++++++++++++++++++++++++---
1 files changed, 37 insertions(+), 3 deletions(-)
---
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 0fb77f2..e327b27 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -1165,14 +1165,48 @@ chat_members_changed_cb (EmpathyTpChat *tp_chat,
EmpathyChatPriv *priv = GET_PRIV (chat);
if (priv->block_events_timeout_id == 0) {
+ const gchar *name = empathy_contact_get_name (contact);
gchar *str;
if (is_member) {
str = g_strdup_printf (_("%s has joined the room"),
- empathy_contact_get_name (contact));
+ name);
} else {
- str = g_strdup_printf (_("%s has left the room"),
- empathy_contact_get_name (contact));
+ const gchar *action;
+
+ if (EMP_STR_EMPTY (message)) {
+ switch (reason) {
+ case TP_CHANNEL_GROUP_CHANGE_REASON_OFFLINE:
+ action = _("%s has disconnected");
+ break;
+ case TP_CHANNEL_GROUP_CHANGE_REASON_KICKED:
+ action = _("%s was kicked");
+ break;
+ case TP_CHANNEL_GROUP_CHANGE_REASON_BANNED:
+ action = _("%s was banned");
+ break;
+ default:
+ action = _("%s has left the room");
+ }
+
+ str = g_strdup_printf (action, name);
+ } else {
+ switch (reason) {
+ case TP_CHANNEL_GROUP_CHANGE_REASON_OFFLINE:
+ action = _("%s has disconnected (%s)");
+ break;
+ case TP_CHANNEL_GROUP_CHANGE_REASON_KICKED:
+ action = _("%s was kicked (%s)");
+ break;
+ case TP_CHANNEL_GROUP_CHANGE_REASON_BANNED:
+ action = _("%s was banned (%s)");
+ break;
+ default:
+ action = _("%s has left the room (%s)");
+ }
+
+ str = g_strdup_printf (action, name, message);
+ }
}
empathy_chat_view_append_event (chat->view, str);
g_free (str);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]