From 976d656a08ded1864324b6060ef035ffcb0b833b Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 6 Jun 2007 09:10:23 +0000 Subject: Add support for blinking when there is an event. Make use of EmpathyIdle 2007-06-06 Xavier Claessens * libempathy-gtk/empathy-status-icon.c: Add support for blinking when there is an event. Make use of EmpathyIdle for presence handling. Add an event when a contact requets subscription. * libempathy-gtk/gossip-contact-list-store.c: * libempathy-gtk/gossip-contact-list-view.c: * libempathy/empathy-contact-manager.c: * libempathy/empathy-tp-contact-list.c: * libempathy/empathy-tp-chatroom.c: * libempathy/empathy-contact-list.c: * libempathy/empathy-contact-list.h: get_contacts() is renamed to get_members(). Adding a signal and a method for local-pending with contacts with the message. Rework completely the contact-list handling in EmpathyTpContactList to follow tp spec. * libempathy/empathy-idle.c: * libempathy/empathy-idle.h: Add properties for the state and the status message. EmpathyIdle is now a singleton to manager self presence. * TODO: Updated. svn path=/trunk/; revision=123 --- libempathy/empathy-contact-list.h | 52 +++++++++++++++++++++++---------------- 1 file changed, 31 insertions(+), 21 deletions(-) (limited to 'libempathy/empathy-contact-list.h') diff --git a/libempathy/empathy-contact-list.h b/libempathy/empathy-contact-list.h index 02ec3186d..09f54621d 100644 --- a/libempathy/empathy-contact-list.h +++ b/libempathy/empathy-contact-list.h @@ -37,33 +37,43 @@ G_BEGIN_DECLS typedef struct _EmpathyContactList EmpathyContactList; typedef struct _EmpathyContactListIface EmpathyContactListIface; +typedef struct { + GossipContact *contact; + gchar *message; +} EmpathyContactListInfo; + struct _EmpathyContactListIface { GTypeInterface base_iface; /* VTabled */ - void (*setup) (EmpathyContactList *list); - GossipContact * (*find) (EmpathyContactList *list, - const gchar *id); - void (*add) (EmpathyContactList *list, - GossipContact *contact, - const gchar *message); - void (*remove) (EmpathyContactList *list, - GossipContact *contact, - const gchar *message); - GList * (*get_contacts) (EmpathyContactList *list); + void (*setup) (EmpathyContactList *list); + GossipContact * (*find) (EmpathyContactList *list, + const gchar *id); + void (*add) (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); + void (*remove) (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); + GList * (*get_members) (EmpathyContactList *list); + GList * (*get_local_pending) (EmpathyContactList *list); }; -GType empathy_contact_list_get_type (void) G_GNUC_CONST; -void empathy_contact_list_setup (EmpathyContactList *list); -GossipContact * empathy_contact_list_find (EmpathyContactList *list, - const gchar *id); -void empathy_contact_list_add (EmpathyContactList *list, - GossipContact *contact, - const gchar *message); -void empathy_contact_list_remove (EmpathyContactList *list, - GossipContact *contact, - const gchar *message); -GList * empathy_contact_list_get_contacts (EmpathyContactList *list); +GType empathy_contact_list_get_type (void) G_GNUC_CONST; +EmpathyContactListInfo *empathy_contact_list_info_new (GossipContact *contact, + const gchar *message); +void empathy_contact_list_info_free (EmpathyContactListInfo *info); +void empathy_contact_list_setup (EmpathyContactList *list); +GossipContact * empathy_contact_list_find (EmpathyContactList *list, + const gchar *id); +void empathy_contact_list_add (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +void empathy_contact_list_remove (EmpathyContactList *list, + GossipContact *contact, + const gchar *message); +GList * empathy_contact_list_get_members (EmpathyContactList *list); +GList * empathy_contact_list_get_local_pending (EmpathyContactList *list); G_END_DECLS -- cgit v1.2.3