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:
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);