[empathy: 3/11] Extract part message building to a function



commit 564562fd34a7a456e042041118ee326d3fae0069
Author: Will Thompson <will thompson collabora co uk>
Date:   Wed Jun 17 21:17:33 2009 +0100

    Extract part message building to a function

 libempathy-gtk/empathy-chat.c |   79 +++++++++++++++++++++++------------------
 1 files changed, 44 insertions(+), 35 deletions(-)
---
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 44f37a8..4498300 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -1153,6 +1153,48 @@ chat_contacts_completion_func (const gchar *s1,
 	return ret;
 }
 
+static gchar *
+build_part_message (guint        reason,
+		    const gchar *name,
+		    const gchar *message)
+{
+	const gchar *template;
+
+	if (message == NULL) {
+		switch (reason) {
+		case TP_CHANNEL_GROUP_CHANGE_REASON_OFFLINE:
+			template = _("%s has disconnected");
+			break;
+		case TP_CHANNEL_GROUP_CHANGE_REASON_KICKED:
+			template = _("%s was kicked");
+			break;
+		case TP_CHANNEL_GROUP_CHANGE_REASON_BANNED:
+			template = _("%s was banned");
+			break;
+		default:
+			template = _("%s has left the room");
+		}
+
+		return g_strdup_printf (template, name);
+	} else {
+		switch (reason) {
+		case TP_CHANNEL_GROUP_CHANGE_REASON_OFFLINE:
+			template = _("%s has disconnected (%s)");
+			break;
+		case TP_CHANNEL_GROUP_CHANGE_REASON_KICKED:
+			template = _("%s was kicked (%s)");
+			break;
+		case TP_CHANNEL_GROUP_CHANGE_REASON_BANNED:
+			template = _("%s was banned (%s)");
+			break;
+		default:
+			template = _("%s has left the room (%s)");
+		}
+
+		return g_strdup_printf (template, name, message);
+	}
+}
+
 static void
 chat_members_changed_cb (EmpathyTpChat  *tp_chat,
 			 EmpathyContact *contact,
@@ -1173,41 +1215,8 @@ chat_members_changed_cb (EmpathyTpChat  *tp_chat,
 		str = g_strdup_printf (_("%s has joined the room"),
 				       name);
 	} else {
-		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);
-		}
+		str = build_part_message (reason, name,
+			EMP_STR_EMPTY (message) ? NULL : message);
 	}
 
 	empathy_chat_view_append_event (chat->view, str);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]