aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-04-19 00:43:54 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-04-19 00:43:54 +0800
commit4a4d612e4177cb4fc080324f60f57682c408b01a (patch)
tree538b3eae62f84392ea5aa50b29ffe59b2aae1095 /src
parent26d1ed1f62e1c3229729bb79673f1b424a4dd8d9 (diff)
downloadgsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.tar
gsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.tar.gz
gsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.tar.bz2
gsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.tar.lz
gsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.tar.xz
gsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.tar.zst
gsoc2013-epiphany-4a4d612e4177cb4fc080324f60f57682c408b01a.zip
Implement clear history. Put favicons near sites names.
2003-04-18 Marco Pesenti Gritti <marco@it.gnome.org> * embed/ephy-history.c: (ephy_history_set_page_title), (ephy_history_set_icon), (ephy_history_clear): * embed/ephy-history.h: * src/ephy-history-window.c: (cmd_clear), (provide_favicon), (ephy_history_window_construct): * src/ephy-tab.c: (ephy_tab_set_favicon): Implement clear history. Put favicons near sites names.
Diffstat (limited to 'src')
-rw-r--r--src/ephy-history-window.c24
-rw-r--r--src/ephy-tab.c5
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);
}