viking

webkit based web browser for Enlightenment
Log | Files | Refs | LICENSE

commit 7b13e60b6191c8eee41872a4eb1a4a537cab4ce0
parent c8c9a8c780836f74ffe2d5ea9b66e2b4a75a7012
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Wed, 26 Sep 2012 14:26:51 -0600

piggyback visited links off of history

Diffstat:
Msrc/callbacks.c | 16++++++++++++++++
Msrc/callbacks.h | 2++
Msrc/main.c | 1+
3 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/src/callbacks.c b/src/callbacks.c @@ -951,3 +951,19 @@ inputbox_changed_cb(void *data, Evas_Object *obj, void *event_info) } } +void +populate_visited_links_cb(void *data, Evas_Object *obj, void *event_info) +{ + Buffer_Data *bd = data; + App_Data *ad = bd->app; + + void *hash_data; + Eina_Iterator *it = eina_hash_iterator_tuple_new(hist_items_hash_get(ad->history)); + + while (eina_iterator_next(it, &hash_data)) { + Eina_Hash_Tuple *t = hash_data; + Hist_Item *hist_item = t->data; + ewk_view_visited_link_add(bd->view, hist_item_url_get(hist_item)); + } +} + diff --git a/src/callbacks.h b/src/callbacks.h @@ -24,6 +24,8 @@ void load_error_cb (void *, Evas_Object *, void *); void webview_keypress_cb (void *, Evas *, Evas_Object *, void *); void webview_mousewheel_cb (void *, Evas *, Evas_Object *, void *); +void populate_visited_links_cb(void *data, Evas_Object *obj, void *event_info); + void download_entry_free_cb(void *); /* diff --git a/src/main.c b/src/main.c @@ -427,6 +427,7 @@ buffer_add(App_Data *ad) evas_object_smart_callback_add(td->view, "protocolhandler,isregistered", protocol_register_cb, td); evas_object_smart_callback_add(td->view, "icon,received", icon_received_cb, td); evas_object_smart_callback_add(td->view, "xss,detected", xss_detected_cb, td); + evas_object_smart_callback_add(td->view, "populate,visited,links", populate_visited_links_cb, td); evas_object_event_callback_add(td->web, EVAS_CALLBACK_FREE, _web_free_cb, td); evas_object_event_callback_add(td->web, EVAS_CALLBACK_KEY_DOWN, webview_keypress_cb, td);