]> git.0d.be Git - empathy.git/blobdiff - libempathy-gtk/empathy-contact-list-view.h
Move the event manager to src/
[empathy.git] / libempathy-gtk / empathy-contact-list-view.h
index 4d7cf1cb9ed956046224fcbb6d8a6e732f6d6197..82990d64f5e9b19c050b3acef7154c6d17c4acd6 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
@@ -31,6 +31,7 @@
 #include <libempathy/empathy-contact.h>
 
 #include "empathy-contact-list-store.h"
+#include "empathy-contact-menu.h"
 
 G_BEGIN_DECLS
 
@@ -43,34 +44,36 @@ 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_get_selected       (EmpathyContactListView         *view);
+gchar *                    empathy_contact_list_view_get_selected_group (EmpathyContactListView         *view);
+GtkWidget *                empathy_contact_list_view_get_contact_menu   (EmpathyContactListView         *view);
+GtkWidget *                empathy_contact_list_view_get_group_menu     (EmpathyContactListView         *view);
 
 G_END_DECLS