aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2006-12-18 20:35:02 +0800
committerChristian Persch <chpe@src.gnome.org>2006-12-18 20:35:02 +0800
commitbf6e7073bb05741c865cf9efee9ec387acdee4b9 (patch)
tree75422120e4a01aae82d4e337024df589b10981b1 /lib
parent436f6e9686a7ae31883c8bd2e30cf76853141a9a (diff)
downloadgsoc2013-epiphany-bf6e7073bb05741c865cf9efee9ec387acdee4b9.tar.gz
gsoc2013-epiphany-bf6e7073bb05741c865cf9efee9ec387acdee4b9.tar.zst
gsoc2013-epiphany-bf6e7073bb05741c865cf9efee9ec387acdee4b9.zip
Show favicons in location entry drop-down. Bug #112748, patch by Diego
2006-12-18 Christian Persch <chpe@cvs.gnome.org> * lib/widgets/ephy-location-entry.c: (ephy_location_entry_set_completion): * lib/widgets/ephy-location-entry.h: * src/ephy-completion-model.c: (ephy_completion_model_get_column_type), (init_favicon_col), (ephy_completion_model_get_value): * src/ephy-completion-model.h: * src/ephy-location-action.c: (connect_proxy): Show favicons in location entry drop-down. Bug #112748, patch by Diego Escalante Urrelo.
Diffstat (limited to 'lib')
-rw-r--r--lib/widgets/ephy-location-entry.c15
-rw-r--r--lib/widgets/ephy-location-entry.h3
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index 77f5d7514..0455786ea 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -40,6 +40,7 @@
#include <gtk/gtkentry.h>
#include <gtk/gtkwindow.h>
#include <gtk/gtkcellrenderertext.h>
+#include <gtk/gtkcellrendererpixbuf.h>
#include <gtk/gtkcelllayout.h>
#include <gtk/gtktreemodelsort.h>
#include <gtk/gtkstock.h>
@@ -76,6 +77,7 @@ struct _EphyLocationEntryPrivate
guint keywords_col;
guint relevance_col;
guint extra_col;
+ guint favicon_col;
guint hash;
@@ -999,18 +1001,20 @@ ephy_location_entry_set_completion (EphyLocationEntry *le,
guint action_col,
guint keywords_col,
guint relevance_col,
- guint extra_col)
+ guint extra_col,
+ guint favicon_col)
{
EphyLocationEntryPrivate *priv = le->priv;
GtkTreeModel *sort_model;
GtkEntryCompletion *completion;
- GtkCellRenderer *cell, *extracell;
+ GtkCellRenderer *cell, *extracell, *iconcell;
le->priv->text_col = text_col;
le->priv->action_col = action_col;
le->priv->keywords_col = keywords_col;
le->priv->relevance_col = relevance_col;
le->priv->extra_col = extra_col;
+ le->priv->favicon_col = favicon_col;
sort_model = gtk_tree_model_sort_new_with_model (model);
g_object_unref (model);
@@ -1027,6 +1031,13 @@ ephy_location_entry_set_completion (EphyLocationEntry *le,
g_signal_connect_after (completion, "action-activated",
G_CALLBACK (action_activated_after_cb), le);
+ iconcell = gtk_cell_renderer_pixbuf_new ();
+
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion),
+ iconcell, FALSE);
+ gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (completion),
+ iconcell, "pixbuf", favicon_col);
+
cell = gtk_cell_renderer_text_new ();
g_object_set (cell,
"ellipsize", PANGO_ELLIPSIZE_END,
diff --git a/lib/widgets/ephy-location-entry.h b/lib/widgets/ephy-location-entry.h
index cdd02130f..3f188260f 100644
--- a/lib/widgets/ephy-location-entry.h
+++ b/lib/widgets/ephy-location-entry.h
@@ -72,7 +72,8 @@ void ephy_location_entry_set_completion (EphyLocationEntry *le,
guint action_col,
guint keywords_col,
guint relevance_col,
- guint extra_col);
+ guint extra_col,
+ guint favicon_col);
void ephy_location_entry_set_location (EphyLocationEntry *le,
const char *address,