Set icons in completion as pixbufs instead of cell data functions
This commit is contained in:
parent
48c62d0ec6
commit
5f1792d2f1
1 changed files with 7 additions and 24 deletions
|
@ -76,6 +76,7 @@ enum
|
||||||
TITLE_COL,
|
TITLE_COL,
|
||||||
VISITS_COL,
|
VISITS_COL,
|
||||||
VISIBLE_COL,
|
VISIBLE_COL,
|
||||||
|
YALIGN_COL,
|
||||||
N_COLS
|
N_COLS
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -342,7 +343,7 @@ midori_location_action_create_model (void)
|
||||||
{
|
{
|
||||||
GtkTreeModel* model = (GtkTreeModel*)gtk_list_store_new (N_COLS,
|
GtkTreeModel* model = (GtkTreeModel*)gtk_list_store_new (N_COLS,
|
||||||
GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING,
|
GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING,
|
||||||
G_TYPE_INT, G_TYPE_BOOLEAN);
|
G_TYPE_INT, G_TYPE_BOOLEAN, G_TYPE_FLOAT);
|
||||||
return model;
|
return model;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -606,23 +607,6 @@ midori_location_action_icon_released_cb (GtkWidget* widget,
|
||||||
g_signal_emit (action, signals[SECONDARY_ICON_RELEASED], 0, widget);
|
g_signal_emit (action, signals[SECONDARY_ICON_RELEASED], 0, widget);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
midori_location_entry_render_pixbuf_cb (GtkCellLayout* layout,
|
|
||||||
GtkCellRenderer* renderer,
|
|
||||||
GtkTreeModel* model,
|
|
||||||
GtkTreeIter* iter,
|
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
GdkPixbuf* pixbuf;
|
|
||||||
|
|
||||||
gtk_tree_model_get (model, iter, FAVICON_COL, &pixbuf, -1);
|
|
||||||
if (pixbuf)
|
|
||||||
{
|
|
||||||
g_object_set (renderer, "pixbuf", pixbuf, "yalign", 0.25, NULL);
|
|
||||||
g_object_unref (pixbuf);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
midori_location_entry_render_text_cb (GtkCellLayout* layout,
|
midori_location_entry_render_text_cb (GtkCellLayout* layout,
|
||||||
GtkCellRenderer* renderer,
|
GtkCellRenderer* renderer,
|
||||||
|
@ -764,7 +748,7 @@ midori_location_action_set_item (MidoriLocationAction* location_action,
|
||||||
gtk_tree_model_get (location_action->model, iter, TITLE_COL, &item->title, -1);
|
gtk_tree_model_get (location_action->model, iter, TITLE_COL, &item->title, -1);
|
||||||
|
|
||||||
gtk_list_store_set (GTK_LIST_STORE (location_action->model), iter,
|
gtk_list_store_set (GTK_LIST_STORE (location_action->model), iter,
|
||||||
URI_COL, item->uri, TITLE_COL, item->title, -1);
|
URI_COL, item->uri, TITLE_COL, item->title, YALIGN_COL, 0.25, -1);
|
||||||
|
|
||||||
gtk_tree_model_get (location_action->model, iter, FAVICON_COL, &icon, -1);
|
gtk_tree_model_get (location_action->model, iter, FAVICON_COL, &icon, -1);
|
||||||
if (item->favicon)
|
if (item->favicon)
|
||||||
|
@ -950,9 +934,8 @@ midori_location_action_completion_init (MidoriLocationAction* location_action,
|
||||||
|
|
||||||
renderer = gtk_cell_renderer_pixbuf_new ();
|
renderer = gtk_cell_renderer_pixbuf_new ();
|
||||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion), renderer, FALSE);
|
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (completion), renderer, FALSE);
|
||||||
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (completion), renderer,
|
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (completion), renderer,
|
||||||
midori_location_entry_render_pixbuf_cb,
|
"pixbuf", FAVICON_COL, "yalign", YALIGN_COL, NULL);
|
||||||
NULL, NULL);
|
|
||||||
renderer = gtk_cell_renderer_text_new ();
|
renderer = gtk_cell_renderer_text_new ();
|
||||||
gtk_cell_renderer_set_fixed_size (renderer, 1, -1);
|
gtk_cell_renderer_set_fixed_size (renderer, 1, -1);
|
||||||
gtk_cell_renderer_text_set_fixed_height_from_font (
|
gtk_cell_renderer_text_set_fixed_height_from_font (
|
||||||
|
@ -1036,8 +1019,8 @@ midori_location_action_connect_proxy (GtkAction* action,
|
||||||
/* Setup the renderer for the favicon */
|
/* Setup the renderer for the favicon */
|
||||||
renderer = gtk_cell_renderer_pixbuf_new ();
|
renderer = gtk_cell_renderer_pixbuf_new ();
|
||||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (entry), renderer, FALSE);
|
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (entry), renderer, FALSE);
|
||||||
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (entry),
|
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (entry), renderer,
|
||||||
renderer, midori_location_entry_render_pixbuf_cb, NULL, NULL);
|
"pixbuf", FAVICON_COL, "yalign", YALIGN_COL, NULL);
|
||||||
renderer = gtk_cell_renderer_text_new ();
|
renderer = gtk_cell_renderer_text_new ();
|
||||||
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (entry), renderer, TRUE);
|
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (entry), renderer, TRUE);
|
||||||
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (entry),
|
gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (entry),
|
||||||
|
|
Loading…
Reference in a new issue