[empathy: 3/10] EmpathyChat: include should_highlight in ::new-message



commit be14bbb863d0fc83402f9307e5193175d77e6d0d
Author: Will Thompson <will willthompson co uk>
Date:   Wed Jan 18 16:03:00 2012 +0000

    EmpathyChat: include should_highlight in ::new-message
    
    This allows EmpathyChatWindow to use this rather than calling
    empathy_message_should_highlight() itself.

 libempathy-gtk/empathy-chat.c |   13 +++++++++++--
 src/empathy-chat-window.c     |    3 ++-
 2 files changed, 13 insertions(+), 3 deletions(-)
---
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index c8ef248..267cdca 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -1413,7 +1413,8 @@ chat_message_received (EmpathyChat *chat,
 			g_object_notify (G_OBJECT (chat), "nb-unread-messages");
 		}
 
-		g_signal_emit (chat, signals[NEW_MESSAGE], 0, message, pending);
+		g_signal_emit (chat, signals[NEW_MESSAGE], 0, message, pending,
+			       should_highlight);
 	}
 
 	/* We received a message so the contact is no longer
@@ -3299,6 +3300,14 @@ empathy_chat_class_init (EmpathyChatClass *klass)
 			      G_TYPE_NONE,
 			      1, G_TYPE_BOOLEAN);
 
+	/**
+	 * EmpathyChat::new-message:
+	 * @self: the #EmpathyChat
+	 * @message: the new message
+	 * @pending: whether the message was in the pending queue when @self
+	 *  was created
+	 * @should_highlight: %TRUE if the message mentions the local user
+	 */
 	signals[NEW_MESSAGE] =
 		g_signal_new ("new-message",
 			      G_OBJECT_CLASS_TYPE (object_class),
@@ -3307,7 +3316,7 @@ empathy_chat_class_init (EmpathyChatClass *klass)
 			      NULL, NULL,
 			      g_cclosure_marshal_generic,
 			      G_TYPE_NONE,
-			      2, EMPATHY_TYPE_MESSAGE, G_TYPE_BOOLEAN);
+			      3, EMPATHY_TYPE_MESSAGE, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN);
 
 	signals[PART_COMMAND_ENTERED] =
 			g_signal_new ("part-command-entered",
diff --git a/src/empathy-chat-window.c b/src/empathy-chat-window.c
index 1bb9de4..3e19779 100644
--- a/src/empathy-chat-window.c
+++ b/src/empathy-chat-window.c
@@ -1437,6 +1437,7 @@ static void
 chat_window_new_message_cb (EmpathyChat       *chat,
 			    EmpathyMessage    *message,
 			    gboolean pending,
+			    gboolean should_highlight,
 			    EmpathyChatWindow *window)
 {
 	EmpathyChatWindowPriv *priv;
@@ -1496,7 +1497,7 @@ chat_window_new_message_cb (EmpathyChat       *chat,
 		if (chatroom != NULL && empathy_chatroom_is_always_urgent (chatroom)) {
 			needs_urgency = TRUE;
 		} else {
-			needs_urgency = empathy_message_should_highlight (message);
+			needs_urgency = should_highlight;
 		}
 	} else {
 		needs_urgency = TRUE;



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