[empathy: 4/19] Pass edited messages through to the ChatView
- From: Danielle Madeley <daniellem src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [empathy: 4/19] Pass edited messages through to the ChatView
- Date: Mon, 20 Jun 2011 10:08:15 +0000 (UTC)
commit 97efba6e5ce4eb5d85005281b2b8b0a95f8c0dd8
Author: Danielle Madeley <danielle madeley collabora co uk>
Date: Wed May 18 15:56:40 2011 +1000
Pass edited messages through to the ChatView
libempathy-gtk/empathy-chat.c | 43 ++++++++++++++++++++++++++--------------
1 files changed, 28 insertions(+), 15 deletions(-)
---
diff --git a/libempathy-gtk/empathy-chat.c b/libempathy-gtk/empathy-chat.c
index 3c391c8..47f1e68 100644
--- a/libempathy-gtk/empathy-chat.c
+++ b/libempathy-gtk/empathy-chat.c
@@ -1332,27 +1332,40 @@ chat_message_received (EmpathyChat *chat,
gboolean pending)
{
EmpathyChatPriv *priv = GET_PRIV (chat);
- EmpathyContact *sender;
- sender = empathy_message_get_sender (message);
+ if (empathy_message_is_edit (message)) {
+ DEBUG ("Editing message '%s' to '%s'",
+ empathy_message_get_supersedes (message),
+ empathy_message_get_body (message));
- DEBUG ("Appending new message from %s (%d)",
- empathy_contact_get_alias (sender),
- empathy_contact_get_handle (sender));
+ empathy_chat_view_edit_message (chat->view, message);
- empathy_chat_view_append_message (chat->view, message);
+ /* FIXME: do we need to do things like edit the chat state? */
+ } else {
+ EmpathyContact *sender;
- /* We received a message so the contact is no longer composing */
- chat_state_changed_cb (priv->tp_chat, sender,
- TP_CHANNEL_CHAT_STATE_ACTIVE,
- chat);
+ sender = empathy_message_get_sender (message);
- if (empathy_message_is_incoming (message)) {
- priv->unread_messages++;
- g_object_notify (G_OBJECT (chat), "nb-unread-messages");
- }
+ DEBUG ("Appending new message '%s' from %s (%d)",
+ empathy_message_get_token (message),
+ empathy_contact_get_alias (sender),
+ empathy_contact_get_handle (sender));
+
+ empathy_chat_view_append_message (chat->view, message);
- g_signal_emit (chat, signals[NEW_MESSAGE], 0, message, pending);
+ /* We received a message so the contact is no longer
+ * composing */
+ chat_state_changed_cb (priv->tp_chat, sender,
+ TP_CHANNEL_CHAT_STATE_ACTIVE,
+ chat);
+
+ if (empathy_message_is_incoming (message)) {
+ priv->unread_messages++;
+ g_object_notify (G_OBJECT (chat), "nb-unread-messages");
+ }
+
+ g_signal_emit (chat, signals[NEW_MESSAGE], 0, message, pending);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]