aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--doc/libempathy-gtk/libempathy-gtk.types2
-rw-r--r--doc/libempathy-gtk/tmpl/empathy-contact-list-store.sgml144
-rw-r--r--libempathy-gtk/empathy-contact-list-store.c127
-rw-r--r--libempathy-gtk/empathy-contact-list-store.h53
-rw-r--r--libempathy-gtk/empathy-contact-list-view.c62
6 files changed, 274 insertions, 124 deletions
diff --git a/ChangeLog b/ChangeLog
index 0c008c303..1a72839fb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2007-10-28 Xavier Claessens <xclaesse@gmail.com>
+ * libempathy-gtk/empathy-contact-list-view.c:
+ * libempathy-gtk/empathy-contact-list-store.c:
+ * libempathy-gtk/empathy-contact-list-store.h:
+ * doc/libempathy-gtk/libempathy-gtk.types:
+ * doc/libempathy-gtk/tmpl/empathy-contact-list-store.sgml: Rename
+ COL_XXX to EMPATHY_CONTACT_LIST_STORE_COL_XXX since it's in public API.
+ Fixes bug #470804.
+
+2007-10-28 Xavier Claessens <xclaesse@gmail.com>
+
* libempathy-gtk/empathy-status-icon.glade:
* libempathy-gtk/empathy-group-chat.glade:
* libempathy-gtk/empathy-main-window.glade:
diff --git a/doc/libempathy-gtk/libempathy-gtk.types b/doc/libempathy-gtk/libempathy-gtk.types
index 82e8aed0d..aa27150f8 100644
--- a/doc/libempathy-gtk/libempathy-gtk.types
+++ b/doc/libempathy-gtk/libempathy-gtk.types
@@ -4,6 +4,7 @@
#include <libempathy-gtk/empathy-chat.h>
#include <libempathy-gtk/empathy-chat-window.h>
#include <libempathy-gtk/empathy-contact-list-view.h>
+#include <libempathy-gtk/empathy-contact-list-store.h>
#include <libempathy-gtk/empathy-status-icon.h>
#include <libempathy-gtk/empathy-chat-view.h>
#include <libempathy-gtk/empathy-presence-chooser.h>
@@ -19,6 +20,7 @@ empathy_account_chooser_get_type
empathy_chat_get_type
empathy_chat_window_get_type
empathy_contact_list_view_get_type
+empathy_contact_list_store_get_type
empathy_status_icon_get_type
empathy_chat_view_get_type
empathy_presence_chooser_get_type
diff --git a/doc/libempathy-gtk/tmpl/empathy-contact-list-store.sgml b/doc/libempathy-gtk/tmpl/empathy-contact-list-store.sgml
index 1e892433f..28d8d37b8 100644
--- a/doc/libempathy-gtk/tmpl/empathy-contact-list-store.sgml
+++ b/doc/libempathy-gtk/tmpl/empathy-contact-list-store.sgml
@@ -25,16 +25,154 @@ EmpathyContactListStore
@EMPATHY_CONTACT_LIST_STORE_SORT_STATE:
@EMPATHY_CONTACT_LIST_STORE_SORT_NAME:
-<!-- ##### STRUCT EmpathyContactListStorePriv ##### -->
+<!-- ##### STRUCT EmpathyContactListStore ##### -->
<para>
</para>
-<!-- ##### STRUCT EmpathyContactListStore ##### -->
+<!-- ##### ARG EmpathyContactListStore:is-compact ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EmpathyContactListStore:show-avatars ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EmpathyContactListStore:show-offline ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG EmpathyContactListStore:sort-criterium ##### -->
+<para>
+
+</para>
+
+<!-- ##### FUNCTION empathy_contact_list_store_new ##### -->
+<para>
+
+</para>
+
+@list_iface:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_get_list_iface ##### -->
+<para>
+
+</para>
+
+@store:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_get_show_offline ##### -->
<para>
</para>
-@parent:
+@store:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_set_show_offline ##### -->
+<para>
+
+</para>
+
+@store:
+@show_offline:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_get_show_avatars ##### -->
+<para>
+
+</para>
+
+@store:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_set_show_avatars ##### -->
+<para>
+
+</para>
+
+@store:
+@show_avatars:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_get_is_compact ##### -->
+<para>
+
+</para>
+
+@store:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_set_is_compact ##### -->
+<para>
+
+</para>
+
+@store:
+@is_compact:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_get_sort_criterium ##### -->
+<para>
+
+</para>
+
+@store:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_set_sort_criterium ##### -->
+<para>
+
+</para>
+
+@store:
+@sort_criterium:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_row_separator_func ##### -->
+<para>
+
+</para>
+
+@model:
+@iter:
+@data:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_get_parent_group ##### -->
+<para>
+
+</para>
+
+@model:
+@path:
+@path_is_group:
+@Returns:
+
+
+<!-- ##### FUNCTION empathy_contact_list_store_search_equal_func ##### -->
+<para>
+
+</para>
+
+@model:
+@column:
+@key:
+@iter:
+@search_data:
+@Returns:
+
diff --git a/libempathy-gtk/empathy-contact-list-store.c b/libempathy-gtk/empathy-contact-list-store.c
index 8638ce12e..820db5b10 100644
--- a/libempathy-gtk/empathy-contact-list-store.c
+++ b/libempathy-gtk/empathy-contact-list-store.c
@@ -51,7 +51,7 @@
#define GET_PRIV(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), EMPATHY_TYPE_CONTACT_LIST_STORE, EmpathyContactListStorePriv))
-struct _EmpathyContactListStorePriv {
+typedef struct {
EmpathyContactList *list;
gboolean show_offline;
gboolean show_avatars;
@@ -59,10 +59,7 @@ struct _EmpathyContactListStorePriv {
gboolean show_active;
EmpathyContactListStoreSort sort_criterium;
guint inhibit_active;
-
- EmpathyContactGroupsFunc get_contact_groups;
- gpointer get_contact_groups_data;
-};
+} EmpathyContactListStorePriv;
typedef struct {
GtkTreeIter iter;
@@ -502,13 +499,13 @@ empathy_contact_list_store_set_sort_criterium (EmpathyContactListStore *stor
switch (sort_criterium) {
case EMPATHY_CONTACT_LIST_STORE_SORT_STATE:
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
- COL_STATUS,
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS,
GTK_SORT_ASCENDING);
break;
case EMPATHY_CONTACT_LIST_STORE_SORT_NAME:
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store),
- COL_NAME,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME,
GTK_SORT_ASCENDING);
break;
}
@@ -524,7 +521,7 @@ empathy_contact_list_store_row_separator_func (GtkTreeModel *model,
g_return_val_if_fail (GTK_IS_TREE_MODEL (model), FALSE);
gtk_tree_model_get (model, iter,
- COL_IS_SEPARATOR, &is_separator,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, &is_separator,
-1);
return is_separator;
@@ -550,8 +547,8 @@ empathy_contact_list_store_get_parent_group (GtkTreeModel *model,
}
gtk_tree_model_get (model, &iter,
- COL_IS_GROUP, &is_group,
- COL_NAME, &name,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name,
-1);
if (!is_group) {
@@ -565,8 +562,8 @@ empathy_contact_list_store_get_parent_group (GtkTreeModel *model,
iter = parent_iter;
gtk_tree_model_get (model, &iter,
- COL_IS_GROUP, &is_group,
- COL_NAME, &name,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name,
-1);
if (!is_group) {
g_free (name);
@@ -598,7 +595,9 @@ empathy_contact_list_store_search_equal_func (GtkTreeModel *model,
return TRUE;
}
- gtk_tree_model_get (model, iter, COL_NAME, &name, -1);
+ gtk_tree_model_get (model, iter,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name,
+ -1);
if (!name) {
return TRUE;
@@ -631,7 +630,7 @@ contact_list_store_finalize_foreach (GtkTreeModel *model,
EmpathyContact *contact = NULL;
gtk_tree_model_get (GTK_TREE_MODEL (store), iter,
- COL_CONTACT, &contact,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
-1);
if (contact) {
@@ -662,15 +661,17 @@ contact_list_store_setup (EmpathyContactListStore *store)
priv = GET_PRIV (store);
- gtk_tree_store_set_column_types (GTK_TREE_STORE (store), COL_COUNT, types);
+ gtk_tree_store_set_column_types (GTK_TREE_STORE (store),
+ EMPATHY_CONTACT_LIST_STORE_COL_COUNT,
+ types);
/* Set up sorting */
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (store),
- COL_NAME,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME,
contact_list_store_name_sort_func,
store, NULL);
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (store),
- COL_STATUS,
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS,
contact_list_store_state_sort_func,
store, NULL);
@@ -781,11 +782,11 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
if (!groups) {
gtk_tree_store_append (GTK_TREE_STORE (store), &iter, NULL);
gtk_tree_store_set (GTK_TREE_STORE (store), &iter,
- COL_NAME, empathy_contact_get_name (contact),
- COL_CONTACT, contact,
- COL_IS_GROUP, FALSE,
- COL_IS_SEPARATOR, FALSE,
- COL_CAN_VOIP, empathy_contact_can_voip (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, empathy_contact_get_name (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, contact,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, empathy_contact_can_voip (contact),
-1);
}
@@ -798,11 +799,11 @@ contact_list_store_add_contact (EmpathyContactListStore *store,
gtk_tree_store_insert_after (GTK_TREE_STORE (store), &iter,
&iter_group, NULL);
gtk_tree_store_set (GTK_TREE_STORE (store), &iter,
- COL_NAME, empathy_contact_get_name (contact),
- COL_CONTACT, contact,
- COL_IS_GROUP, FALSE,
- COL_IS_SEPARATOR, FALSE,
- COL_CAN_VOIP, empathy_contact_can_voip (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, empathy_contact_get_name (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, contact,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, empathy_contact_can_voip (contact),
-1);
g_free (l->data);
}
@@ -934,7 +935,7 @@ contact_list_store_contact_update (EmpathyContactListStore *store,
/* Get online state before. */
if (iters && g_list_length (iters) > 0) {
gtk_tree_model_get (model, iters->data,
- COL_IS_ONLINE, &was_online,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ONLINE, &was_online,
-1);
}
@@ -962,16 +963,16 @@ contact_list_store_contact_update (EmpathyContactListStore *store,
pixbuf_avatar = empathy_pixbuf_avatar_from_contact_scaled (contact, 32, 32);
for (l = iters; l && set_model; l = l->next) {
gtk_tree_store_set (GTK_TREE_STORE (store), l->data,
- COL_ICON_STATUS, empathy_icon_name_for_contact (contact),
- COL_PIXBUF_AVATAR, pixbuf_avatar,
- COL_PIXBUF_AVATAR_VISIBLE, priv->show_avatars,
- COL_NAME, empathy_contact_get_name (contact),
- COL_STATUS, empathy_contact_get_status (contact),
- COL_STATUS_VISIBLE, !priv->is_compact,
- COL_IS_GROUP, FALSE,
- COL_IS_ONLINE, now_online,
- COL_IS_SEPARATOR, FALSE,
- COL_CAN_VOIP, empathy_contact_can_voip (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_ICON_STATUS, empathy_icon_name_for_contact (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR, pixbuf_avatar,
+ EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR_VISIBLE, priv->show_avatars,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, empathy_contact_get_name (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS, empathy_contact_get_status (contact),
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS_VISIBLE, !priv->is_compact,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ONLINE, now_online,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, empathy_contact_can_voip (contact),
-1);
}
@@ -1029,7 +1030,7 @@ contact_list_store_contact_set_active (EmpathyContactListStore *store,
GtkTreePath *path;
gtk_tree_store_set (GTK_TREE_STORE (store), l->data,
- COL_IS_ACTIVE, active,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, active,
-1);
empathy_debug (DEBUG_DOMAIN, "Set item %s", active ? "active" : "inactive");
@@ -1121,8 +1122,8 @@ contact_list_store_get_group_foreach (GtkTreeModel *model,
}
gtk_tree_model_get (model, iter,
- COL_NAME, &str,
- COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &str,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
-1);
if (is_group && strcmp (str, fg->name) == 0) {
@@ -1166,11 +1167,11 @@ contact_list_store_get_group (EmpathyContactListStore *store,
gtk_tree_store_append (GTK_TREE_STORE (store), &iter_group, NULL);
gtk_tree_store_set (GTK_TREE_STORE (store), &iter_group,
- COL_ICON_STATUS, NULL,
- COL_NAME, name,
- COL_IS_GROUP, TRUE,
- COL_IS_ACTIVE, FALSE,
- COL_IS_SEPARATOR, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_ICON_STATUS, NULL,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, name,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, TRUE,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, FALSE,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, FALSE,
-1);
if (iter_group_to_set) {
@@ -1181,7 +1182,7 @@ contact_list_store_get_group (EmpathyContactListStore *store,
&iter_separator,
&iter_group);
gtk_tree_store_set (GTK_TREE_STORE (store), &iter_separator,
- COL_IS_SEPARATOR, TRUE,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, TRUE,
-1);
if (iter_separator_to_set) {
@@ -1202,7 +1203,7 @@ contact_list_store_get_group (EmpathyContactListStore *store,
gboolean is_separator;
gtk_tree_model_get (model, &iter_separator,
- COL_IS_SEPARATOR, &is_separator,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, &is_separator,
-1);
if (is_separator && iter_separator_to_set) {
@@ -1226,14 +1227,14 @@ contact_list_store_state_sort_func (GtkTreeModel *model,
McPresence state_a, state_b;
gtk_tree_model_get (model, iter_a,
- COL_NAME, &name_a,
- COL_CONTACT, &contact_a,
- COL_IS_SEPARATOR, &is_separator_a,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name_a,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact_a,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, &is_separator_a,
-1);
gtk_tree_model_get (model, iter_b,
- COL_NAME, &name_b,
- COL_CONTACT, &contact_b,
- COL_IS_SEPARATOR, &is_separator_b,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name_b,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact_b,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, &is_separator_b,
-1);
/* Separator or group? */
@@ -1310,14 +1311,14 @@ contact_list_store_name_sort_func (GtkTreeModel *model,
gint ret_val;
gtk_tree_model_get (model, iter_a,
- COL_NAME, &name_a,
- COL_CONTACT, &contact_a,
- COL_IS_SEPARATOR, &is_separator_a,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name_a,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact_a,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, &is_separator_a,
-1);
gtk_tree_model_get (model, iter_b,
- COL_NAME, &name_b,
- COL_CONTACT, &contact_b,
- COL_IS_SEPARATOR, &is_separator_b,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name_b,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact_b,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_SEPARATOR, &is_separator_b,
-1);
/* If contact is NULL it means it's a group. */
@@ -1359,7 +1360,7 @@ contact_list_store_find_contact_foreach (GtkTreeModel *model,
EmpathyContact *contact;
gtk_tree_model_get (model, iter,
- COL_CONTACT, &contact,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
-1);
if (!contact) {
@@ -1418,8 +1419,8 @@ contact_list_store_update_list_mode_foreach (GtkTreeModel *model,
}
gtk_tree_store_set (GTK_TREE_STORE (store), iter,
- COL_PIXBUF_AVATAR_VISIBLE, show_avatar,
- COL_STATUS_VISIBLE, !priv->is_compact,
+ EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR_VISIBLE, show_avatar,
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS_VISIBLE, !priv->is_compact,
-1);
return FALSE;
diff --git a/libempathy-gtk/empathy-contact-list-store.h b/libempathy-gtk/empathy-contact-list-store.h
index 44686c8c8..214f5be60 100644
--- a/libempathy-gtk/empathy-contact-list-store.h
+++ b/libempathy-gtk/empathy-contact-list-store.h
@@ -33,17 +33,6 @@
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,36 +42,38 @@ 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_CAN_VOIP,
- 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_STATUS,
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS_VISIBLE,
+ 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_VOIP,
+ EMPATHY_CONTACT_LIST_STORE_COL_COUNT
} EmpathyContactListStoreCol;
struct _EmpathyContactListStore {
- GtkTreeStore parent;
+ GtkTreeStore parent;
};
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,
diff --git a/libempathy-gtk/empathy-contact-list-view.c b/libempathy-gtk/empathy-contact-list-view.c
index 8151b0569..73afd299a 100644
--- a/libempathy-gtk/empathy-contact-list-view.c
+++ b/libempathy-gtk/empathy-contact-list-view.c
@@ -500,7 +500,9 @@ empathy_contact_list_view_get_selected (EmpathyContactListView *view)
return NULL;
}
- gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1);
+ gtk_tree_model_get (model, &iter,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
+ -1);
return contact;
}
@@ -525,8 +527,8 @@ empathy_contact_list_view_get_selected_group (EmpathyContactListView *view)
}
gtk_tree_model_get (model, &iter,
- COL_IS_GROUP, &is_group,
- COL_NAME, &name,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name,
-1);
if (!is_group) {
@@ -631,11 +633,11 @@ contact_list_view_setup (EmpathyContactListView *view)
view, NULL);
gtk_tree_view_column_add_attribute (col, cell,
- "name", COL_NAME);
+ "name", EMPATHY_CONTACT_LIST_STORE_COL_NAME);
gtk_tree_view_column_add_attribute (col, cell,
- "status", COL_STATUS);
+ "status", EMPATHY_CONTACT_LIST_STORE_COL_STATUS);
gtk_tree_view_column_add_attribute (col, cell,
- "is_group", COL_IS_GROUP);
+ "is_group", EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP);
#ifdef HAVE_VOIP
/* Voip Capability Icon */
@@ -719,8 +721,8 @@ contact_list_view_row_has_child_toggled_cb (GtkTreeModel *model,
gchar *name = NULL;
gtk_tree_model_get (model, iter,
- COL_IS_GROUP, &is_group,
- COL_NAME, &name,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name,
-1);
if (!is_group || G_STR_EMPTY (name)) {
@@ -1072,9 +1074,9 @@ contact_list_view_pixbuf_cell_data_func (GtkTreeViewColumn *tree_column,
gboolean is_active;
gtk_tree_model_get (model, iter,
- COL_IS_GROUP, &is_group,
- COL_IS_ACTIVE, &is_active,
- COL_ICON_STATUS, &icon_name,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
+ EMPATHY_CONTACT_LIST_STORE_COL_ICON_STATUS, &icon_name,
-1);
g_object_set (cell,
@@ -1100,9 +1102,9 @@ contact_list_view_voip_cell_data_func (GtkTreeViewColumn *tree_column,
gboolean can_voip;
gtk_tree_model_get (model, iter,
- COL_IS_GROUP, &is_group,
- COL_IS_ACTIVE, &is_active,
- COL_CAN_VOIP, &can_voip,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
+ EMPATHY_CONTACT_LIST_STORE_COL_CAN_VOIP, &can_voip,
-1);
g_object_set (cell,
@@ -1127,10 +1129,10 @@ contact_list_view_avatar_cell_data_func (GtkTreeViewColumn *tree_column,
gboolean is_active;
gtk_tree_model_get (model, iter,
- COL_PIXBUF_AVATAR, &pixbuf,
- COL_PIXBUF_AVATAR_VISIBLE, &show_avatar,
- COL_IS_GROUP, &is_group,
- COL_IS_ACTIVE, &is_active,
+ EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR, &pixbuf,
+ EMPATHY_CONTACT_LIST_STORE_COL_PIXBUF_AVATAR_VISIBLE, &show_avatar,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
-1);
g_object_set (cell,
@@ -1157,9 +1159,9 @@ contact_list_view_text_cell_data_func (GtkTreeViewColumn *tree_column,
gboolean show_status;
gtk_tree_model_get (model, iter,
- COL_IS_GROUP, &is_group,
- COL_IS_ACTIVE, &is_active,
- COL_STATUS_VISIBLE, &show_status,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
+ EMPATHY_CONTACT_LIST_STORE_COL_STATUS_VISIBLE, &show_status,
-1);
g_object_set (cell,
@@ -1180,8 +1182,8 @@ contact_list_view_expander_cell_data_func (GtkTreeViewColumn *column,
gboolean is_active;
gtk_tree_model_get (model, iter,
- COL_IS_GROUP, &is_group,
- COL_IS_ACTIVE, &is_active,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_GROUP, &is_group,
+ EMPATHY_CONTACT_LIST_STORE_COL_IS_ACTIVE, &is_active,
-1);
if (gtk_tree_model_iter_has_child (model, iter)) {
@@ -1271,7 +1273,9 @@ contact_list_view_button_press_event_cb (EmpathyContactListView *view,
gtk_tree_model_get_iter (model, &iter, path);
gtk_tree_path_free (path);
- gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1);
+ gtk_tree_model_get (model, &iter,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
+ -1);
if (contact) {
menu = empathy_contact_list_view_get_contact_menu (view, contact);
@@ -1311,7 +1315,9 @@ contact_list_view_row_activated_cb (EmpathyContactListView *view,
model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
gtk_tree_model_get_iter (model, &iter, path);
- gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1);
+ gtk_tree_model_get (model, &iter,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
+ -1);
if (contact) {
contact_list_view_action_activated (view, contact);
@@ -1339,7 +1345,9 @@ contact_list_view_voip_activated_cb (EmpathyCellRendererActivatable *cell,
return;
}
- gtk_tree_model_get (model, &iter, COL_CONTACT, &contact, -1);
+ gtk_tree_model_get (model, &iter,
+ EMPATHY_CONTACT_LIST_STORE_COL_CONTACT, &contact,
+ -1);
if (contact) {
contact_list_view_voip_activated (view, contact);
@@ -1362,7 +1370,7 @@ contact_list_view_row_expand_or_collapse_cb (EmpathyContactListView *view,
model = gtk_tree_view_get_model (GTK_TREE_VIEW (view));
gtk_tree_model_get (model, iter,
- COL_NAME, &name,
+ EMPATHY_CONTACT_LIST_STORE_COL_NAME, &name,
-1);
expanded = GPOINTER_TO_INT (user_data);