X-Git-Url: https://git.0d.be/?p=empathy.git;a=blobdiff_plain;f=libempathy-gtk%2Fempathy-contact-list-store.h;h=b8008cadb95fa72bf00320ef53c65cffef2f5583;hp=d7c9635f5bf2c51440a86bf739b2c1bd6d37a1e8;hb=940d0e9778828657a6ffbcadd35a8a84d706ac70;hpb=2d366a83ee60c3c10395900498499e9ff081f3a2 diff --git a/libempathy-gtk/empathy-contact-list-store.h b/libempathy-gtk/empathy-contact-list-store.h index d7c9635f..b8008cad 100644 --- a/libempathy-gtk/empathy-contact-list-store.h +++ b/libempathy-gtk/empathy-contact-list-store.h @@ -1,7 +1,7 @@ /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Copyright (C) 2005-2007 Imendio AB - * Copyright (C) 2007 Collabora Ltd. + * Copyright (C) 2007-2008 Collabora Ltd. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as @@ -15,8 +15,8 @@ * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301 USA * * Authors: Mikael Hallendal * Martyn Russell @@ -26,24 +26,13 @@ #ifndef __EMPATHY_CONTACT_LIST_STORE_H__ #define __EMPATHY_CONTACT_LIST_STORE_H__ -#include +#include #include #include G_BEGIN_DECLS -/* - * EmpathyContactListStoreSort - */ -typedef enum { - EMPATHY_CONTACT_LIST_STORE_SORT_STATE, - EMPATHY_CONTACT_LIST_STORE_SORT_NAME -} EmpathyContactListStoreSort; - -/* - * EmpathyContactListStore - */ #define EMPATHY_TYPE_CONTACT_LIST_STORE (empathy_contact_list_store_get_type ()) #define EMPATHY_CONTACT_LIST_STORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CONTACT_LIST_STORE, EmpathyContactListStore)) #define EMPATHY_CONTACT_LIST_STORE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_CONTACT_LIST_STORE, EmpathyContactListStoreClass)) @@ -53,35 +42,47 @@ typedef enum { typedef struct _EmpathyContactListStore EmpathyContactListStore; typedef struct _EmpathyContactListStoreClass EmpathyContactListStoreClass; -typedef struct _EmpathyContactListStorePriv EmpathyContactListStorePriv; -enum { - COL_ICON_STATUS, - COL_PIXBUF_AVATAR, - COL_PIXBUF_AVATAR_VISIBLE, - COL_NAME, - COL_STATUS, - COL_STATUS_VISIBLE, - COL_CONTACT, - COL_IS_GROUP, - COL_IS_ACTIVE, - COL_IS_ONLINE, - COL_IS_SEPARATOR, - COL_COUNT +typedef enum { + EMPATHY_CONTACT_LIST_STORE_SORT_STATE, + EMPATHY_CONTACT_LIST_STORE_SORT_NAME +} EmpathyContactListStoreSort; + +typedef enum { + EMPATHY_CONTACT_LIST_STORE_COL_ICON_STATUS, + EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR, + EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR_VISIBLE, + EMPATHY_CONTACT_LIST_STORE_COL_NAME, + EMPATHY_CONTACT_LIST_STORE_COL_PRESENCE_TYPE, + EMPATHY_CONTACT_LIST_STORE_COL_STATUS, + EMPATHY_CONTACT_LIST_STORE_COL_COMPACT, + EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, + EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, + EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, + EMPATHY_CONTACT_LIST_STORE_COL_IS_ONLINE, + EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, + EMPATHY_CONTACT_LIST_STORE_COL_CAN_AUDIO_CALL, + EMPATHY_CONTACT_LIST_STORE_COL_CAN_VIDEO_CALL, + EMPATHY_CONTACT_LIST_STORE_COL_FLAGS, + EMPATHY_CONTACT_LIST_STORE_COL_IS_FAKE_GROUP, + EMPATHY_CONTACT_LIST_STORE_COL_COUNT, } EmpathyContactListStoreCol; +#define EMPATHY_CONTACT_LIST_STORE_UNGROUPED _("Ungrouped") +#define EMPATHY_CONTACT_LIST_STORE_FAVORITE _("Favorite People") +#define EMPATHY_CONTACT_LIST_STORE_PEOPLE_NEARBY _("People Nearby") + struct _EmpathyContactListStore { - GtkTreeStore parent; + GtkTreeStore parent; + gpointer priv; }; struct _EmpathyContactListStoreClass { - GtkTreeStoreClass parent_class; + GtkTreeStoreClass parent_class; }; -typedef GList * (*EmpathyContactGroupsFunc) (EmpathyContact *contact, - gpointer user_data); GType empathy_contact_list_store_get_type (void) G_GNUC_CONST; -EmpathyContactListStore * empathy_contact_list_store_new (EmpathyContactList *list_iface); +EmpathyContactListStore * empathy_contact_list_store_new (EmpathyContactList *list_iface); EmpathyContactList * empathy_contact_list_store_get_list_iface (EmpathyContactListStore *store); gboolean empathy_contact_list_store_get_show_offline (EmpathyContactListStore *store); void empathy_contact_list_store_set_show_offline (EmpathyContactListStore *store, @@ -89,9 +90,15 @@ void empathy_contact_list_store_set_show_offline (Empath gboolean empathy_contact_list_store_get_show_avatars (EmpathyContactListStore *store); void empathy_contact_list_store_set_show_avatars (EmpathyContactListStore *store, gboolean show_avatars); +gboolean empathy_contact_list_store_get_show_groups (EmpathyContactListStore *store); +void empathy_contact_list_store_set_show_groups (EmpathyContactListStore *store, + gboolean show_groups); gboolean empathy_contact_list_store_get_is_compact (EmpathyContactListStore *store); void empathy_contact_list_store_set_is_compact (EmpathyContactListStore *store, gboolean is_compact); +gboolean empathy_contact_list_store_get_show_protocols (EmpathyContactListStore *store); +void empathy_contact_list_store_set_show_protocols (EmpathyContactListStore *store, + gboolean show_protocols); EmpathyContactListStoreSort empathy_contact_list_store_get_sort_criterium (EmpathyContactListStore *store); void empathy_contact_list_store_set_sort_criterium (EmpathyContactListStore *store, EmpathyContactListStoreSort sort_criterium); @@ -100,17 +107,15 @@ gboolean empathy_contact_list_store_row_separator_func (GtkTre gpointer data); gchar * empathy_contact_list_store_get_parent_group (GtkTreeModel *model, GtkTreePath *path, - gboolean *path_is_group); + gboolean *path_is_group, + gboolean *is_fake_group); gboolean empathy_contact_list_store_search_equal_func (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data); -void empathy_contact_list_store_set_contact_groups_func (EmpathyContactListStore*store, - EmpathyContactGroupsFunc func, - gpointer user_data); -void empathy_contact_list_store_update_contact_groups (EmpathyContactListStore *store, - EmpathyContact *contact); +GdkPixbuf * contact_list_store_get_contact_status_icon ( EmpathyContactListStore *store, + EmpathyContact *contact); G_END_DECLS