viking

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

commit be3538327803b0955b82197b73e9cd38a6deda92
parent cbf54b18af5a093288d481ef7ded5317ccdb5968
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Tue, 16 Oct 2012 20:27:31 -0600

use new favicon framework

Diffstat:
Msrc/commands.c | 50+++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 39 insertions(+), 11 deletions(-)

diff --git a/src/commands.c b/src/commands.c @@ -990,17 +990,34 @@ search_tag(const Arg * a, void *data) return EINA_TRUE; } +static void +received_favicon_cb(const char *url, Evas_Object *icon, void *data) +{ + Evas_Object *row = data; + evas_object_ref(icon); + + evas_object_size_hint_align_set(icon, 0.0, EVAS_HINT_FILL); + evas_object_size_hint_max_set(icon, 14, 14); + evas_object_size_hint_min_set(icon, 14, 14); + + elm_box_pack_start(row, icon); + evas_object_show(icon); +} + Eina_Bool list(const Arg *arg, void *data) { + const char *url; Window_Data *ad = data; Eina_List *l; Buffer_Data *td; Evas_Object *row, *label; - // Evas *e = evas_object_evas_get(ad->win); + Evas *e = evas_object_evas_get(ad->win); + Ewk_Favicon_Database *database; elm_box_clear(ad->event_box); + database = ewk_context_favicon_database_get(ewk_context_default_get()); EINA_LIST_FOREACH(ad->buffer_list, l, td) { row = elm_box_add(ad->win); @@ -1010,20 +1027,24 @@ list(const Arg *arg, void *data) elm_box_pack_end(ad->event_box, row); evas_object_show(row); - /* - icon = ewk_settings_icon_database_icon_object_get(ewk_view_url_get(td->view), e); - // evas_object_size_hint_weight_set(icon, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(icon, 0.0, EVAS_HINT_FILL); - evas_object_size_hint_max_set(icon, 14, 14); - evas_object_size_hint_min_set(icon, 14, 14); - elm_box_pack_end(row, icon); - evas_object_show(icon); - */ + url = ewk_view_url_get(td->view); + if (strncmp(url, "http://", 7) == 0) + url += 7; + else if (strncmp(url, "https://", 8) == 0) + url += 8; label = elm_label_add(ad->win); evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL); elm_box_pack_end(row, label); - elm_object_text_set(label, ewk_view_url_get(td->view)); + Eina_Strbuf *buf = eina_strbuf_new(); + eina_strbuf_append_printf(buf, " %2i ", td->buf_number); + elm_object_text_set(label, eina_strbuf_string_steal(buf)); + evas_object_show(label); + + label = elm_label_add(ad->win); + evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL); + elm_box_pack_end(row, label); + elm_object_text_set(label, url); evas_object_show(label); label = elm_label_add(ad->win); @@ -1032,6 +1053,13 @@ list(const Arg *arg, void *data) elm_box_pack_end(row, label); elm_object_text_set(label, ewk_view_title_get(td->view)); evas_object_show(label); + + ewk_favicon_database_async_icon_get( + database, + ewk_view_url_get(td->view), + e, + received_favicon_cb, + row); } evas_object_show(ad->event_box);