viking

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

commit 0182ef3e1897294f1d0bb89ae2725379325f9b45
parent b3922be9aa883227dfa970bac95d36e3db0c3e45
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Tue, 16 Oct 2012 21:11:22 -0600

rip out the back-forward icon from update_url

Diffstat:
Msrc/buffer.c | 21+++++++++++++++++++++
Msrc/utilities.c | 12++----------
Msrc/viking.h | 1+
Msrc/window.c | 9++++++++-
4 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/src/buffer.c b/src/buffer.c @@ -474,6 +474,26 @@ icon_changed_cb(void *data, Evas_Object *obj, void *event_info) } static void +bf_list_changed_cb(void *data, Evas_Object *obj, void *event_info) +{ + Eina_Bool back, fwd; + Eina_Strbuf *buf; + Buffer_Data *bd = data; + Window_Data *wd = bd->window; + + buf = eina_strbuf_new(); + back = ewk_view_back_possible(bd->view); + fwd = ewk_view_forward_possible(bd->view); + + if (back || fwd) + eina_strbuf_append_printf(buf, "[%s%s]", back ? "+" : "", fwd ? "-" : ""); + + elm_object_text_set(wd->status_back_forward, eina_strbuf_string_steal(buf)); + + printf("back_forward_list_changed_cb()\n"); +} + +static void webview_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Buffer_Data *bd = data; @@ -680,6 +700,7 @@ buffer_add(const unsigned char flags, Window_Data *wd, const char *url, Session_ evas_object_smart_callback_add(v, "inspector,view,create", inspector_cb, bd); evas_object_smart_callback_add(v, "inspector,view,close", inspector_close_cb, bd); evas_object_smart_callback_add(v, "icon,changed", icon_changed_cb, bd); + evas_object_smart_callback_add(v, "back,forward,list,changed", bf_list_changed_cb, bd); /* not yet implemented in ewebkit */ // evas_object_smart_callback_add(v, "link,hover,in", hoverlink_cb, td); diff --git a/src/utilities.c b/src/utilities.c @@ -686,11 +686,8 @@ update_state(Window_Data *wd) void update_url(const char *uri, Window_Data *wd) { - Eina_Bool back, fwd; Eina_Strbuf *url_buf; - char before[] = " ["; - char after[] = "]"; Buffer_Data *bd = wd->cur_buf; char *url_color = "#FFF"; @@ -698,8 +695,6 @@ update_url(const char *uri, Window_Data *wd) return; url_buf = eina_strbuf_new(); - back = ewk_view_back_possible(bd->view); - fwd = ewk_view_forward_possible(bd->view); /* if (!strncmp(uri, "https://", 8)) { @@ -716,10 +711,8 @@ update_url(const char *uri, Window_Data *wd) uri += 7; */ - if (!back && !fwd) - before[0] = after[0] = '\0'; - eina_strbuf_append(url_buf, "<font=Monospace font_size=11 color=#FFF>"); + /* strcat(flags, "["); @@ -732,8 +725,7 @@ update_url(const char *uri, Window_Data *wd) */ eina_strbuf_append_printf(url_buf, " %2i ", bd->buf_number); - eina_strbuf_append_printf(url_buf, "<color=%s>%s<color=#FFF>%s%s%s%s", - url_color, uri, before, back ? "+" : "", fwd ? "-" : "", after); + eina_strbuf_append_printf(url_buf, "<color=%s>%s", url_color, uri); int state_width, window_width; evas_object_geometry_get(wd->status_state, NULL, NULL, &state_width, NULL); diff --git a/src/viking.h b/src/viking.h @@ -191,6 +191,7 @@ typedef struct Evas_Object *event_box; Evas_Object *status_bar; Evas_Object *status_url; + Evas_Object *status_back_forward; Evas_Object *status_state; Evas_Object *web_inspector; Evas_Object *progress_bar; diff --git a/src/window.c b/src/window.c @@ -377,6 +377,7 @@ window_add(App_Data *ad, Session_Window *session_window) Evas_Object *win, *bg, *box, *status_bar, *url, *naviframe, *status_url; Evas_Object *status_state, *event_box, *web_inspector, *progress, *downloads; + Evas_Object *status_back_forward; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); @@ -426,11 +427,16 @@ window_add(App_Data *ad, Session_Window *session_window) /* status bar url */ status_url = elm_label_add(win); - evas_object_size_hint_weight_set(status_url, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(status_url, 0.0, EVAS_HINT_FILL); elm_box_pack_end(status_bar, status_url); evas_object_show(status_url); + status_back_forward = elm_label_add(win); + evas_object_size_hint_weight_set(status_back_forward, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(status_back_forward, 0.0, EVAS_HINT_FILL); + elm_box_pack_end(status_bar, status_back_forward); + evas_object_show(status_back_forward); + /* status bar state (load progress, mod keys, scroll %) */ status_state = elm_label_add(win); evas_object_size_hint_weight_set(status_state, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); @@ -480,6 +486,7 @@ window_add(App_Data *ad, Session_Window *session_window) wd->naviframe = naviframe; wd->url = url; wd->status_url = status_url; + wd->status_back_forward = status_back_forward; wd->status_state = status_state; wd->event_box = event_box; wd->web_inspector = web_inspector;