/* -*- 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
#include <libempathy/empathy-contact.h>
#include "empathy-contact-list-store.h"
+#include "empathy-contact-menu.h"
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);
-void empathy_contact_list_view_set_interactive (EmpathyContactListView *view,
- gboolean interactive);
-gboolean empathy_contact_list_view_get_interactive (EmpathyContactListView *view);
-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_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