]> git.0d.be Git - empathy.git/commitdiff
Remove the composing list
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Sun, 26 Dec 2010 18:22:04 +0000 (19:22 +0100)
committerSjoerd Simons <sjoerd.simons@collabora.co.uk>
Wed, 29 Dec 2010 13:01:01 +0000 (14:01 +0100)
libempathy-gtk/empathy-chat.c
libempathy-gtk/empathy-chat.h
src/empathy-chat-window.c

index 29561541302b11164bd10c5a2b9b51d5b01e1760..36b0896d9c3692c0bef3d0602f5509becc82601c 100644 (file)
@@ -3429,3 +3429,10 @@ empathy_chat_messages_read (EmpathyChat *self)
        }
        priv->unread_messages = 0;
 }
+
+/* Return TRUE if on of the contacts in this chat is composing */
+gboolean
+empathy_chat_is_composing (EmpathyChat *chat)
+{
+  return chat->priv->compositors != NULL;
+}
index 596b83f5df2a307b6175172b184dc8d29d67d4b0..01b7a737bdc2b621466339aa8775681491ff3141 100644 (file)
@@ -89,6 +89,8 @@ void               empathy_chat_set_show_contacts    (EmpathyChat *chat,
 guint              empathy_chat_get_nb_unread_messages (EmpathyChat   *chat);
 
 void               empathy_chat_messages_read        (EmpathyChat *self);
+
+gboolean           empathy_chat_is_composing (EmpathyChat *chat);
 G_END_DECLS
 
 #endif /* __EMPATHY_CHAT_H__ */
index 1a7c2aa0ea62e74a120092e22071a8f50469101b..f764df513bdb87584353fe842894fbd1a506fce3 100644 (file)
@@ -75,7 +75,6 @@ typedef struct {
        EmpathyChat *current_chat;
        GList       *chats;
        GList       *chats_new_msg;
-       GList       *chats_composing;
        gboolean     page_added;
        gboolean     dnd_same_window;
        EmpathyChatroomManager *chatroom_manager;
@@ -668,7 +667,7 @@ chat_window_update_chat_tab (EmpathyChat *chat)
        else if (g_list_find (priv->chats_new_msg, chat)) {
                icon_name = EMPATHY_IMAGE_MESSAGE;
        }
-       else if (g_list_find (priv->chats_composing, chat)) {
+       else if (empathy_chat_is_composing (chat)) {
                icon_name = EMPATHY_IMAGE_TYPING;
        }
        else if (remote_contact) {
@@ -713,7 +712,7 @@ chat_window_update_chat_tab (EmpathyChat *chat)
                                      _("Topic:"), subject);
        }
 
-       if (g_list_find (priv->chats_composing, chat)) {
+       if (empathy_chat_is_composing (chat)) {
                append_markup_printf (tooltip, "\n%s", _("Typing a message."));
        }
 
@@ -1242,16 +1241,6 @@ chat_window_composing_cb (EmpathyChat       *chat,
                          gboolean          is_composing,
                          EmpathyChatWindow *window)
 {
-       EmpathyChatWindowPriv *priv;
-
-       priv = GET_PRIV (window);
-
-       if (is_composing && !g_list_find (priv->chats_composing, chat)) {
-               priv->chats_composing = g_list_prepend (priv->chats_composing, chat);
-       } else {
-               priv->chats_composing = g_list_remove (priv->chats_composing, chat);
-       }
-
        chat_window_update_chat_tab (chat);
 }
 
@@ -1630,7 +1619,6 @@ chat_window_page_removed_cb (GtkNotebook      *notebook,
        priv->chats = g_list_remove (priv->chats, chat);
        priv->chats_new_msg = g_list_remove (priv->chats_new_msg, chat);
        empathy_chat_messages_read (chat);
-       priv->chats_composing = g_list_remove (priv->chats_composing, chat);
 
        if (priv->chats == NULL) {
                g_object_unref (window);
@@ -2104,7 +2092,6 @@ empathy_chat_window_init (EmpathyChatWindow *window)
        /* Set up private details */
        priv->chats = NULL;
        priv->chats_new_msg = NULL;
-       priv->chats_composing = NULL;
        priv->current_chat = NULL;
        priv->notification = NULL;