diff options
author | Shaun McCance <shaunm@gnome.org> | 2011-02-13 17:27:13 -0500 |
---|---|---|
committer | Shaun McCance <shaunm@gnome.org> | 2011-02-13 17:27:13 -0500 |
commit | 5f7a452c6872c87c0095d12aabb9b6976f176345 (patch) | |
tree | 36e6c7e114303e70e0378b1e3d8094293b0e8b1a | |
parent | 74bbb223d56b8b8599070159f5949b6972a11d2c (diff) | |
download | yelp-5f7a452c6872c87c0095d12aabb9b6976f176345.tar.gz |
yelp-location-entry: Use icon pixbufs for search completion
-rw-r--r-- | libyelp/yelp-location-entry.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/libyelp/yelp-location-entry.c b/libyelp/yelp-location-entry.c index 6a6a62e2..0e74db0c 100644 --- a/libyelp/yelp-location-entry.c +++ b/libyelp/yelp-location-entry.c @@ -216,6 +216,7 @@ enum { COMPLETION_COL_TITLE, COMPLETION_COL_DESC, COMPLETION_COL_ICON, + COMPLETION_COL_PIXBUF, COMPLETION_COL_PAGE, COMPLETION_COL_FLAGS }; @@ -742,8 +743,8 @@ location_entry_set_completion (YelpLocationEntry *entry, gtk_cell_layout_reorder (GTK_CELL_LAYOUT (priv->completion), icon_cell, 0); gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->completion), icon_cell, - "icon-name", - COMPLETION_COL_ICON, + "pixbuf", + COMPLETION_COL_PIXBUF, NULL); if (priv->bookmarks) { bookmark_cell = gtk_cell_renderer_pixbuf_new (); @@ -1129,10 +1130,15 @@ cell_set_completion_bookmark_icon (GtkCellLayout *layout, -1); if (page_id && yelp_bookmarks_is_bookmarked (priv->bookmarks, - priv->completion_uri, page_id)) - g_object_set (cell, "icon-name", "bookmark", NULL); - else - g_object_set (cell, "icon-name", NULL, NULL); + priv->completion_uri, page_id)) { + GdkPixbuf *pixbuf = yelp_settings_get_icon_pixbuf (yelp_settings_get_default (), + "yelp-bookmark-remove"); + g_object_set (cell, "pixbuf", pixbuf, NULL); + g_object_unref (pixbuf); + } + else { + g_object_set (cell, "pixbuf", NULL, NULL); + } g_free (page_id); } @@ -1314,6 +1320,7 @@ view_loaded (YelpView *view, G_TYPE_STRING, /* title */ G_TYPE_STRING, /* desc */ G_TYPE_STRING, /* icon */ + G_TYPE_OBJECT, /* pixbuf */ G_TYPE_STRING, /* uri */ G_TYPE_INT /* flags */ ); @@ -1327,16 +1334,20 @@ view_loaded (YelpView *view, for (i = 0; ids[i]; i++) { GtkTreeIter iter; gchar *title, *desc, *icon; + GdkPixbuf *pixbuf; gtk_list_store_insert (GTK_LIST_STORE (base), &iter, 0); title = yelp_document_get_page_title (document, ids[i]); desc = yelp_document_get_page_desc (document, ids[i]); icon = yelp_document_get_page_icon (document, ids[i]); + pixbuf = yelp_settings_get_icon_pixbuf (yelp_settings_get_default (), icon); gtk_list_store_set (base, &iter, COMPLETION_COL_TITLE, title, COMPLETION_COL_DESC, desc, COMPLETION_COL_ICON, icon, + COMPLETION_COL_PIXBUF, pixbuf, COMPLETION_COL_PAGE, ids[i], -1); + g_object_unref (pixbuf); g_free (icon); g_free (desc); g_free (title); |