]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-contact-list-view.h
remove EmpathyContactManager's test
[empathy.git] / libempathy-gtk / empathy-contact-list-view.h
index b9de24357229cf6992c1df88f735f52eb20fc751..97e78d3edf1b1cbe351ff69ab1d42a6774b56c1f 100644 (file)
@@ -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 <micke@imendio.com>
  *          Martyn Russell <martyn@imendio.com>
 #ifndef __EMPATHY_CONTACT_LIST_VIEW_H__
 #define __EMPATHY_CONTACT_LIST_VIEW_H__
 
-#include <gtk/gtktreeview.h>
+#include <gtk/gtk.h>
 
 #include <libempathy/empathy-contact.h>
+#include <libempathy/empathy-enum-types.h>
 
 #include "empathy-contact-list-store.h"
+#include "empathy-live-search.h"
+#include "empathy-contact-menu.h"
 
 G_BEGIN_DECLS
 
@@ -43,23 +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;
 };
 
-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);
+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