X-Git-Url: https://git.0d.be/?p=empathy.git;a=blobdiff_plain;f=libempathy-gtk%2Fempathy-contact-list-view.h;h=97e78d3edf1b1cbe351ff69ab1d42a6774b56c1f;hp=4d7cf1cb9ed956046224fcbb6d8a6e732f6d6197;hb=1c51f65b87f5b523e6fdc76b91402936e9599cff;hpb=58505161bcc63ba91190f6b38a3c52c0c564ca32 diff --git a/libempathy-gtk/empathy-contact-list-view.h b/libempathy-gtk/empathy-contact-list-view.h index 4d7cf1cb..97e78d3e 100644 --- a/libempathy-gtk/empathy-contact-list-view.h +++ b/libempathy-gtk/empathy-contact-list-view.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,11 +26,14 @@ #ifndef __EMPATHY_CONTACT_LIST_VIEW_H__ #define __EMPATHY_CONTACT_LIST_VIEW_H__ -#include +#include #include +#include #include "empathy-contact-list-store.h" +#include "empathy-live-search.h" +#include "empathy-contact-menu.h" G_BEGIN_DECLS @@ -43,34 +46,40 @@ G_BEGIN_DECLS typedef struct _EmpathyContactListView EmpathyContactListView; typedef struct _EmpathyContactListViewClass EmpathyContactListViewClass; -typedef struct _EmpathyContactListViewPriv EmpathyContactListViewPriv; + +typedef enum { + EMPATHY_CONTACT_LIST_FEATURE_NONE = 0, + EMPATHY_CONTACT_LIST_FEATURE_GROUPS_SAVE = 1 << 0, + EMPATHY_CONTACT_LIST_FEATURE_GROUPS_RENAME = 1 << 1, + EMPATHY_CONTACT_LIST_FEATURE_GROUPS_REMOVE = 1 << 2, + EMPATHY_CONTACT_LIST_FEATURE_CONTACT_REMOVE = 1 << 3, + EMPATHY_CONTACT_LIST_FEATURE_CONTACT_DROP = 1 << 4, + EMPATHY_CONTACT_LIST_FEATURE_CONTACT_DRAG = 1 << 5, + EMPATHY_CONTACT_LIST_FEATURE_CONTACT_TOOLTIP = 1 << 6, + EMPATHY_CONTACT_LIST_FEATURE_ALL = (1 << 7) - 1, +} EmpathyContactListFeatureFlags; struct _EmpathyContactListView { - GtkTreeView parent; + GtkTreeView parent; + gpointer priv; }; struct _EmpathyContactListViewClass { - GtkTreeViewClass parent_class; + GtkTreeViewClass parent_class; }; -typedef void (*EmpathyContactListViewDragReceivedFunc) (EmpathyContact *contact, - GdkDragAction action, - const gchar *old_group, - const gchar *new_group, - gpointer user_data); - -GType empathy_contact_list_view_get_type (void) G_GNUC_CONST; -EmpathyContactListView *empathy_contact_list_view_new (EmpathyContactListStore *store); -EmpathyContact * empathy_contact_list_view_get_selected (EmpathyContactListView *view); -gchar * empathy_contact_list_view_get_selected_group (EmpathyContactListView *view); -GtkWidget * empathy_contact_list_view_get_contact_menu (EmpathyContactListView *view, - EmpathyContact *contact); -GtkWidget * empathy_contact_list_view_get_group_menu (EmpathyContactListView *view); -void empathy_contact_list_view_set_filter (EmpathyContactListView *view, - const gchar *filter); -void empathy_contact_list_view_set_drag_received_func (EmpathyContactListView *view, - EmpathyContactListViewDragReceivedFunc func, - gpointer user_data); +GType empathy_contact_list_view_get_type (void) G_GNUC_CONST; +EmpathyContactListView * empathy_contact_list_view_new (EmpathyContactListStore *store, + EmpathyContactListFeatureFlags list_features, + EmpathyContactFeatureFlags contact_features); +EmpathyContact * empathy_contact_list_view_dup_selected (EmpathyContactListView *view); +EmpathyContactListFlags empathy_contact_list_view_get_flags (EmpathyContactListView *view); +gchar * empathy_contact_list_view_get_selected_group (EmpathyContactListView *view, + gboolean *is_fake_group); +GtkWidget * empathy_contact_list_view_get_contact_menu (EmpathyContactListView *view); +GtkWidget * empathy_contact_list_view_get_group_menu (EmpathyContactListView *view); +void empathy_contact_list_view_set_live_search (EmpathyContactListView *view, + EmpathyLiveSearch *search); G_END_DECLS