viking

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

commit efb8aeb094ac6c5ef1efbc4dc7a7cf62f1977f2b
parent f042133c64c0b25f7c58ba292403ad4e7e3fcce3
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Wed, 17 Oct 2012 02:37:06 -0600

use common fns for making buf number, favicon and url

Diffstat:
Msrc/buffer.c | 13+------------
Msrc/commands.c | 13++++++++++---
Msrc/utilities.c | 47+++++++++++++++++++++--------------------------
Msrc/utilities.h | 4++++
Msrc/window.c | 16+++-------------
5 files changed, 39 insertions(+), 54 deletions(-)

diff --git a/src/buffer.c b/src/buffer.c @@ -478,24 +478,13 @@ console_cb(void *data, Evas_Object *obj, const char *message, unsigned int line, void icon_changed_cb(void *data, Evas_Object *obj, void *event_info) { - Ewk_Favicon_Database *database; Buffer_Data *bd = data; Window_Data *wd = bd->window; - Evas *e = evas_object_evas_get(wd->win); if (bd != wd->cur_buf) return; - elm_box_clear(wd->status_favicon); - database = ewk_context_favicon_database_get(ewk_context_default_get()); - ewk_favicon_database_async_icon_get( - database, - ewk_view_url_get(bd->view), - e, - received_favicon_cb, - wd->status_favicon); - - printf("icon_changed()\n"); + make_favicon(wd->status_favicon, bd); } static void diff --git a/src/commands.c b/src/commands.c @@ -982,15 +982,22 @@ list(const Arg *arg, void *data) EINA_LIST_FOREACH(ad->buffer_list, l, td) { row = elm_box_add(ad->win); - elm_box_homogeneous_set(row, EINA_FALSE); elm_box_horizontal_set(row, EINA_TRUE); evas_object_size_hint_align_set(row, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_box_pack_end(ad->event_box, row); evas_object_show(row); - label = make_url_with_icon(ewk_view_url_get(td->view), td); + label = elm_label_add(ad->win); + make_buffer_number(label, td); + elm_box_pack_end(row, label); + + label = elm_box_add(ad->win); + make_favicon(label, td); + elm_box_pack_end(row, label); + + label = elm_label_add(ad->win); + make_url(label, td); elm_box_pack_end(row, label); - evas_object_show(label); label = elm_label_add(ad->win); evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); diff --git a/src/utilities.c b/src/utilities.c @@ -741,6 +741,17 @@ set_widget_font_and_color(Evas_Object *widget, const char *font_str, const char */ void +make_buffer_number(Evas_Object *label, Buffer_Data *bd) +{ + Eina_Strbuf *buf = eina_strbuf_new(); + + evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL); + eina_strbuf_append_printf(buf, " %2i ", bd->buf_number); + elm_object_text_set(label, eina_strbuf_string_steal(buf)); + evas_object_show(label); +} + +void received_favicon_cb(const char *url, Evas_Object *icon, void *data) { Evas_Object *row = data; @@ -754,39 +765,29 @@ received_favicon_cb(const char *url, Evas_Object *icon, void *data) evas_object_show(icon); } -Evas_Object* -make_url_with_icon(const char *url, Buffer_Data *bd) +void +make_favicon(Evas_Object *icon, Buffer_Data *bd) { Ewk_Favicon_Database *database; - Evas_Object *icon, *label, *return_box; - Eina_Strbuf *buf = eina_strbuf_new(); Window_Data *wd = bd->window; Evas *e = evas_object_evas_get(wd->win); + const char *url = ewk_view_url_get(bd->view); - if (url == NULL) - return NULL; - - return_box = elm_box_add(wd->win); - elm_box_horizontal_set(return_box, EINA_TRUE); - evas_object_show(return_box); - - label = elm_label_add(wd->win); - evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL); - elm_box_pack_end(return_box, label); - eina_strbuf_append_printf(buf, " %2i ", bd->buf_number); - elm_object_text_set(label, eina_strbuf_string_steal(buf)); - evas_object_show(label); - + elm_box_clear(wd->status_favicon); database = ewk_context_favicon_database_get(ewk_context_default_get()); - icon = elm_box_add(wd->win); ewk_favicon_database_async_icon_get( database, url, e, received_favicon_cb, icon); - elm_box_pack_end(return_box, icon); evas_object_show(icon); +} + +void +make_url(Evas_Object *label, Buffer_Data *bd) +{ + const char *url = ewk_view_url_get(bd->view); if (strncmp(url, "http://", 7) == 0) url += 7; @@ -807,13 +808,7 @@ make_url_with_icon(const char *url, Buffer_Data *bd) uri += 7; */ - label = elm_label_add(wd->win); - elm_box_pack_end(return_box, label); elm_object_text_set(label, url); evas_object_show(label); - - printf("make_url_with_icon()\n"); - - return return_box; } diff --git a/src/utilities.h b/src/utilities.h @@ -36,3 +36,7 @@ void received_favicon_cb(const char *url, Evas_Object *icon, void *data); char *find_uri_for_searchengine(const char *handle); void make_searchengines_list(Searchengine *searchengines, int length); +void make_buffer_number(Evas_Object *label, Buffer_Data *bd); +void make_favicon(Evas_Object *icon, Buffer_Data *bd); +void make_url(Evas_Object *label, Buffer_Data *bd); + diff --git a/src/window.c b/src/window.c @@ -324,11 +324,9 @@ _win_del_request_cb(void *data, Evas_Object *obj, void *event_info) void window_main_buffer_set(Buffer_Data *new_buf) { - const char *url; Window_Data *wd = new_buf->window; Buffer_Data *old_buf = wd->cur_buf; App_Data *ad = wd->app; - Eina_Strbuf *buf = eina_strbuf_new(); if (new_buf == old_buf || ad->exiting) return; @@ -350,21 +348,13 @@ window_main_buffer_set(Buffer_Data *new_buf) elm_naviframe_item_simple_promote(wd->naviframe, new_buf->view); /* set buffer number */ - eina_strbuf_append_printf(buf, " %2i ", new_buf->buf_number); - elm_object_text_set(wd->status_buffer_num, eina_strbuf_string_steal(buf)); - evas_object_show(wd->status_buffer_num); + make_buffer_number(wd->status_buffer_num, new_buf); /* trigger icon update */ - icon_changed_cb(new_buf, NULL, NULL); + make_favicon(wd->status_favicon, new_buf); /* set url */ - url = ewk_view_url_get(new_buf->view); - if (strncmp(url, "http://", 7) == 0) - url += 7; - else if (strncmp(url, "https://", 8) == 0) - url += 8; - elm_object_text_set(wd->status_url, url); - evas_object_show(wd->status_url); + make_url(wd->status_url, new_buf); } }