aboutsummaryrefslogtreecommitdiffstats
path: root/src/bookmarks/ephy-tree-model-node.c
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@it.gnome.org>2003-01-13 20:29:55 +0800
committerMarco Pesenti Gritti <mpeseng@src.gnome.org>2003-01-13 20:29:55 +0800
commit9ff4f5f92f9db92f4b420430d6368feabc26490b (patch)
tree9224b4c3a19865803a6184413239d6f99f7467cc /src/bookmarks/ephy-tree-model-node.c
parent225e05938a6bff23249516da4d277d7d742e2283 (diff)
downloadgsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.tar
gsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.tar.gz
gsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.tar.bz2
gsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.tar.lz
gsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.tar.xz
gsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.tar.zst
gsoc2013-epiphany-9ff4f5f92f9db92f4b420430d6368feabc26490b.zip
Use favicons in bookmarks. Use titles for session history when possible.
2003-01-13 Marco Pesenti Gritti <marco@it.gnome.org> * TODO: * embed/ephy-favicon-cache.c: (ephy_favicon_cache_get): * src/bookmarks/ephy-bookmarks-editor.c: (ephy_bookmarks_editor_construct): * src/bookmarks/ephy-bookmarks.c: (ephy_bookmarks_set_icon): * src/bookmarks/ephy-bookmarks.h: * src/bookmarks/ephy-new-bookmark.c: (ephy_new_bookmark_finalize), (ephy_new_bookmark_add), (ephy_new_bookmark_init), (ephy_new_bookmark_set_smarturl), (ephy_new_bookmark_set_icon): * src/bookmarks/ephy-new-bookmark.h: * src/bookmarks/ephy-node-view.c: (ephy_node_view_add_column), (ephy_node_view_add_icon_column): * src/bookmarks/ephy-node-view.h: * src/bookmarks/ephy-tree-model-node.c: (ephy_tree_model_node_get_column_type), (get_icon_pixbuf), (ephy_tree_model_node_get_value), (ephy_tree_model_node_column_get_type): * src/bookmarks/ephy-tree-model-node.h: * src/ephy-history-model.c: (ephy_history_model_get_value): * src/ephy-navigation-button.c: (setup_back_or_forward_menu): * src/ephy-tab.c: (ephy_tab_favicon_cb): * src/window-commands.c: (window_cmd_bookmarks_add_default): Use favicons in bookmarks. Use titles for session history when possible.
Diffstat (limited to 'src/bookmarks/ephy-tree-model-node.c')
-rw-r--r--src/bookmarks/ephy-tree-model-node.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/bookmarks/ephy-tree-model-node.c b/src/bookmarks/ephy-tree-model-node.c
index d1030d5da..e6b467946 100644
--- a/src/bookmarks/ephy-tree-model-node.c
+++ b/src/bookmarks/ephy-tree-model-node.c
@@ -30,6 +30,8 @@
#include "ephy-tree-model-node.h"
#include "ephy-stock-icons.h"
#include "ephy-node.h"
+#include "ephy-shell.h"
+#include "ephy-debug.h"
static void ephy_tree_model_node_class_init (EphyTreeModelNodeClass *klass);
static void ephy_tree_model_node_init (EphyTreeModelNode *model);
@@ -361,6 +363,8 @@ ephy_tree_model_node_get_column_type (GtkTreeModel *tree_model,
return G_TYPE_STRING;
case EPHY_TREE_MODEL_NODE_COL_VISIBLE:
return G_TYPE_BOOLEAN;
+ case EPHY_TREE_MODEL_NODE_COL_ICON:
+ return GDK_TYPE_PIXBUF;
default:
g_assert_not_reached ();
return G_TYPE_INVALID;
@@ -431,6 +435,28 @@ ephy_tree_model_node_get_path (GtkTreeModel *tree_model,
}
static void
+get_icon_pixbuf (EphyNode *node, GValue *value)
+{
+ 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_BMK_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_tree_model_node_get_value (GtkTreeModel *tree_model,
GtkTreeIter *iter,
int column,
@@ -467,6 +493,10 @@ ephy_tree_model_node_get_value (GtkTreeModel *tree_model,
EPHY_NODE_KEYWORD_PROP_NAME,
value);
break;
+ case EPHY_TREE_MODEL_NODE_COL_ICON:
+ get_icon_pixbuf (node, value);
+ break;
+
case EPHY_TREE_MODEL_NODE_COL_VISIBLE:
g_value_init (value, G_TYPE_BOOLEAN);
@@ -689,6 +719,7 @@ ephy_tree_model_node_column_get_type (void)
{ EPHY_TREE_MODEL_NODE_COL_BOOKMARK, "EPHY_TREE_MODEL_NODE_COL_BOOKMARK", "bookmark" },
{ EPHY_TREE_MODEL_NODE_COL_LOCATION, "EPHY_TREE_MODEL_NODE_COL_LOCATION", "location" },
{ EPHY_TREE_MODEL_NODE_COL_KEYWORD, "EPHY_TREE_MODEL_NODE_COL_KEYWORD", "keyword" },
+ { EPHY_TREE_MODEL_NODE_COL_ICON, "EPHY_TREE_MODEL_NODE_COL_ICON", "icon" },
{ EPHY_TREE_MODEL_NODE_COL_VISIBLE, "EPHY_TREE_MODEL_NODE_COL_VISIBLE", "visible" },
{ 0, 0, 0 }