diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ephy-history-window.c | 24 | ||||
-rw-r--r-- | src/ephy-tab.c | 5 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/ephy-history-window.c b/src/ephy-history-window.c index 34d8e19f6..2c2cd8ec8 100644 --- a/src/ephy-history-window.c +++ b/src/ephy-history-window.c @@ -127,6 +127,7 @@ static void cmd_clear (EggAction *action, EphyHistoryWindow *editor) { + ephy_history_clear (editor->priv->history); } static void @@ -510,6 +511,28 @@ menu_activate_cb (EphyNodeView *view, } static void +provide_favicon (EphyNode *node, GValue *value, gpointer user_data) +{ + EphyFaviconCache *cache; + const char *icon_location; + GdkPixbuf *pixbuf = NULL; + + cache = ephy_embed_shell_get_favicon_cache (EPHY_EMBED_SHELL (ephy_shell)); + icon_location = ephy_node_get_property_string + (node, EPHY_NODE_PAGE_PROP_ICON); + + LOG ("Get favicon for %s", icon_location ? icon_location : "None") + + if (icon_location) + { + pixbuf = ephy_favicon_cache_get (cache, icon_location); + } + + g_value_init (value, GDK_TYPE_PIXBUF); + g_value_set_object (value, pixbuf); +} + +static void ephy_history_window_construct (EphyHistoryWindow *editor) { GtkTreeViewColumn *col; @@ -587,6 +610,7 @@ ephy_history_window_construct (EphyHistoryWindow *editor) EPHY_NODE_PAGE_PROP_LOCATION); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (sites_view)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); + ephy_node_view_add_icon_column (EPHY_NODE_VIEW (sites_view), provide_favicon); ephy_node_view_add_column (EPHY_NODE_VIEW (sites_view), _("Sites"), G_TYPE_STRING, EPHY_NODE_PAGE_PROP_TITLE, diff --git a/src/ephy-tab.c b/src/ephy-tab.c index 52f668f7b..6f2848a33 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -449,6 +449,7 @@ ephy_tab_set_favicon (EphyTab *tab, { GtkWidget *nb; EphyBookmarks *eb; + EphyHistory *history; nb = ephy_window_get_notebook (tab->priv->window); ephy_notebook_set_page_icon (EPHY_NOTEBOOK (nb), @@ -458,8 +459,12 @@ ephy_tab_set_favicon (EphyTab *tab, if (tab->priv->favicon_url[0] != '\0') { eb = ephy_shell_get_bookmarks (ephy_shell); + history = ephy_embed_shell_get_global_history + (EPHY_EMBED_SHELL (ephy_shell)); ephy_bookmarks_set_icon (eb, tab->priv->location, tab->priv->favicon_url); + ephy_history_set_icon (history, tab->priv->location, + tab->priv->favicon_url); ephy_window_update_control (tab->priv->window, FaviconControl); } |