diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2007-05-08 03:48:22 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2007-05-08 03:48:22 +0800 |
commit | c7010d43264dafca66ff65540c5d6666f1c66e2a (patch) | |
tree | b9913e0042b112a9e97eeb7b00521459a568b58c /libempathy-gtk/gossip-contact-list.c | |
parent | 6e542b100fd2efcfb7b8a3b58bf173fed1e3e494 (diff) | |
download | gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.tar gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.tar.gz gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.tar.bz2 gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.tar.lz gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.tar.xz gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.tar.zst gsoc2013-empathy-c7010d43264dafca66ff65540c5d6666f1c66e2a.zip |
[darcs-to-svn @ Use icon-name API instead of stock icons and update tango icons]
svn path=/trunk/; revision=32
Diffstat (limited to 'libempathy-gtk/gossip-contact-list.c')
-rw-r--r-- | libempathy-gtk/gossip-contact-list.c | 52 |
1 files changed, 16 insertions, 36 deletions
diff --git a/libempathy-gtk/gossip-contact-list.c b/libempathy-gtk/gossip-contact-list.c index bf0556dcb..aa5eb3855 100644 --- a/libempathy-gtk/gossip-contact-list.c +++ b/libempathy-gtk/gossip-contact-list.c @@ -37,11 +37,11 @@ #include <libempathy/empathy-contact-manager.h> #include <libempathy/gossip-debug.h> +#include "empathy-images.h" #include "gossip-contact-list.h" #include "gossip-contact-groups.h" #include "gossip-cell-renderer-expander.h" #include "gossip-cell-renderer-text.h" -#include "gossip-stock.h" #include "gossip-ui-utils.h" //#include "gossip-chat-invite.h" //#include "gossip-contact-info-dialog.h" @@ -257,7 +257,7 @@ static gboolean contact_list_update_list_mode_foreach (GtkTreeModel GossipContactList *list); enum { - COL_PIXBUF_STATUS, + COL_ICON_STATUS, COL_PIXBUF_AVATAR, COL_PIXBUF_AVATAR_VISIBLE, COL_NAME, @@ -288,11 +288,11 @@ static const GtkActionEntry entries[] = { N_("_Group"),NULL, NULL, NULL }, - { "Chat", GOSSIP_STOCK_MESSAGE, + { "Chat", EMPATHY_IMAGE_MESSAGE, N_("_Chat"), NULL, N_("Chat with contact"), G_CALLBACK (contact_list_action_cb) }, - { "Information", GOSSIP_STOCK_CONTACT_INFORMATION, + { "Information", EMPATHY_IMAGE_CONTACT_INFORMATION, N_("Infor_mation"), "<control>I", N_("View contact information"), G_CALLBACK (contact_list_action_cb) }, @@ -308,7 +308,7 @@ static const GtkActionEntry entries[] = { N_("_Remove"), NULL, N_("Remove contact"), G_CALLBACK (contact_list_action_cb) }, - { "Invite", GOSSIP_STOCK_GROUP_MESSAGE, + { "Invite", EMPATHY_IMAGE_GROUP_MESSAGE, N_("_Invite to Chat Room"), NULL, N_("Invite to a currently open chat room"), G_CALLBACK (contact_list_action_cb) }, @@ -602,7 +602,6 @@ contact_list_contact_update (GossipContactList *list, gboolean do_remove = FALSE; gboolean do_set_active = FALSE; gboolean do_set_refresh = FALSE; - GdkPixbuf *pixbuf_presence; GdkPixbuf *pixbuf_avatar; priv = GET_PRIV (list); @@ -701,11 +700,10 @@ contact_list_contact_update (GossipContactList *list, set_model = TRUE; } - pixbuf_presence = gossip_pixbuf_for_contact (contact); pixbuf_avatar = gossip_pixbuf_avatar_from_contact_scaled (contact, 32, 32); for (l = iters; l && set_model; l = l->next) { gtk_tree_store_set (priv->store, l->data, - COL_PIXBUF_STATUS, pixbuf_presence, + COL_ICON_STATUS, gossip_icon_name_for_contact (contact), COL_STATUS, gossip_contact_get_status (contact), COL_IS_ONLINE, now_online, COL_NAME, gossip_contact_get_name (contact), @@ -713,9 +711,6 @@ contact_list_contact_update (GossipContactList *list, -1); } - if (pixbuf_presence) { - g_object_unref (pixbuf_presence); - } if (pixbuf_avatar) { g_object_unref (pixbuf_avatar); } @@ -1036,7 +1031,7 @@ contact_list_get_group (GossipContactList *list, gtk_tree_store_append (priv->store, &iter_group, NULL); gtk_tree_store_set (priv->store, &iter_group, - COL_PIXBUF_STATUS, NULL, + COL_ICON_STATUS, NULL, COL_NAME, name, COL_IS_GROUP, TRUE, COL_IS_ACTIVE, FALSE, @@ -1102,11 +1097,9 @@ contact_list_add_contact (GossipContactList *list, /* If no groups just add it at the top level. */ groups = gossip_contact_get_groups (contact); if (!groups) { - GdkPixbuf *pixbuf_status; GdkPixbuf *pixbuf_avatar; gboolean show_avatar = FALSE; - pixbuf_status = gossip_pixbuf_for_contact (contact); pixbuf_avatar = gossip_pixbuf_avatar_from_contact_scaled (contact, 32, 32); if (priv->show_avatars && !priv->is_compact) { @@ -1125,7 +1118,7 @@ contact_list_add_contact (GossipContactList *list, gtk_tree_store_append (priv->store, &iter, NULL); gtk_tree_store_set (priv->store, &iter, - COL_PIXBUF_STATUS, pixbuf_status, + COL_ICON_STATUS, gossip_icon_name_for_contact (contact), COL_PIXBUF_AVATAR, pixbuf_avatar, COL_PIXBUF_AVATAR_VISIBLE, show_avatar, COL_NAME, gossip_contact_get_name (contact), @@ -1145,16 +1138,12 @@ contact_list_add_contact (GossipContactList *list, if (pixbuf_avatar) { g_object_unref (pixbuf_avatar); } - if (pixbuf_status) { - g_object_unref (pixbuf_status); - } } /* Else add to each group. */ for (l = groups; l; l = l->next) { GtkTreePath *path; GtkTreeIter model_iter_group; - GdkPixbuf *pixbuf_status; GdkPixbuf *pixbuf_avatar; const gchar *name; gboolean created; @@ -1166,7 +1155,6 @@ contact_list_add_contact (GossipContactList *list, continue; } - pixbuf_status = gossip_pixbuf_for_contact (contact); pixbuf_avatar = gossip_pixbuf_avatar_from_contact_scaled (contact, 32, 32); contact_list_get_group (list, name, &iter_group, &iter_separator, &created); @@ -1187,7 +1175,7 @@ contact_list_add_contact (GossipContactList *list, gtk_tree_store_insert_after (priv->store, &iter, &iter_group, NULL); gtk_tree_store_set (priv->store, &iter, - COL_PIXBUF_STATUS, pixbuf_status, + COL_ICON_STATUS, gossip_icon_name_for_contact (contact), COL_PIXBUF_AVATAR, pixbuf_avatar, COL_PIXBUF_AVATAR_VISIBLE, show_avatar, COL_NAME, gossip_contact_get_name (contact), @@ -1207,9 +1195,6 @@ contact_list_add_contact (GossipContactList *list, if (pixbuf_avatar) { g_object_unref (pixbuf_avatar); } - if (pixbuf_status) { - g_object_unref (pixbuf_status); - } if (!created) { continue; @@ -1303,7 +1288,7 @@ contact_list_create_model (GossipContactList *list) } priv->store = gtk_tree_store_new (COL_COUNT, - GDK_TYPE_PIXBUF, /* Status pixbuf */ + G_TYPE_STRING, /* Status icon-name */ GDK_TYPE_PIXBUF, /* Avatar pixbuf */ G_TYPE_BOOLEAN, /* Avatar pixbuf visible */ G_TYPE_STRING, /* Name */ @@ -1834,9 +1819,6 @@ contact_list_cell_set_background (GossipContactList *list, NULL); } } else { - g_object_set (cell, - "cell-background-gdk", NULL, - NULL); #if 0 gint color_sum_normal; gint color_sum_selected; @@ -1873,24 +1855,22 @@ contact_list_pixbuf_cell_data_func (GtkTreeViewColumn *tree_column, GtkTreeIter *iter, GossipContactList *list) { - GdkPixbuf *pixbuf; - gboolean is_group; - gboolean is_active; + gchar *icon_name; + gboolean is_group; + gboolean is_active; gtk_tree_model_get (model, iter, COL_IS_GROUP, &is_group, COL_IS_ACTIVE, &is_active, - COL_PIXBUF_STATUS, &pixbuf, + COL_ICON_STATUS, &icon_name, -1); g_object_set (cell, "visible", !is_group, - "pixbuf", pixbuf, + "icon-name", icon_name, NULL); - if (pixbuf) { - g_object_unref (pixbuf); - } + g_free (icon_name); contact_list_cell_set_background (list, cell, is_group, is_active); } |