commit be3538327803b0955b82197b73e9cd38a6deda92
parent cbf54b18af5a093288d481ef7ded5317ccdb5968
Author: Kyle Milz <kmilz@ucalgary.ca>
Date: Tue, 16 Oct 2012 20:27:31 -0600
use new favicon framework
Diffstat:
M | src/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);