commit 18b7c94c77fda51589f7a1f6a93dff4e2e1c3d62
parent 9ffce97a2ea6c4d04852820ea2eecd55be1bbf5f
Author: Kyle Milz <kmilz@ucalgary.ca>
Date: Sat, 13 Oct 2012 21:10:35 -0600
use eina_strbuf in update_state function
Diffstat:
2 files changed, 23 insertions(+), 36 deletions(-)
diff --git a/src/utilities.c b/src/utilities.c
@@ -887,43 +887,34 @@ echo(const Arg *arg, void *data)
}
void
-update_state(void *data)
+update_state(Window_Data *wd)
{
- // char *markup;
- Window_Data *wd = data;
- // App_Data *ad = wd->app;
+ Eina_Strbuf *status;
if (!wd->cur_buf)
return;
- // Evas_Object *view = wd->cur_buf->view;
- // Evas_Object *frame = ewk_view_frame_main_get(view);
- char status[512] = "";
-
- /* construct the status line */
+ status = eina_strbuf_new();
- strcat(status, "<font=Monospace font_size=12 color=#FFF backing=on backing_color=#000>");
+ eina_strbuf_append(status,
+ "<font=Monospace font_size=12 color=#FFF backing=on backing_color=#000>");
- /* count, modkey and input buffer */
- // g_string_append_printf(status, "%.0d", count);
- char *count_formatted = strdup_printf("%.0d", wd->count);
- strcat(status, count_formatted);
- free(count_formatted);
+ eina_strbuf_append_printf(status, "%.0d", wd->count);
- // if (ad->current_modkey) g_string_append_c(status, ad->current_modkey);
- if (wd->current_modkey) strcat(status, &wd->current_modkey);
+ if (wd->current_modkey)
+ eina_strbuf_append(status, &wd->current_modkey);
/* put a notification if we are zoomed
- // double zoom = elm_web_zoom_get(wd->cur_buf->web);
+
+ double zoom = elm_web_zoom_get(wd->cur_buf->web);
float zoom = ewk_view_zoom_get(wd->cur_buf->view);
- if (zoom != 1) {
- char *zoom_str = strdup_printf(" %0.2lfx", zoom);
- strcat(status, zoom_str);
- free(zoom_str);
- }
+ if (zoom != 1)
+ eina_strbuf_append_printf(status, " %0.2lfx", zoom);
+
*/
/* always show the current scroll position
+
int x, y, w, h, val;
ewk_frame_scroll_pos_get(frame, &x, &y);
ewk_frame_scroll_size_get(frame, &w, &h);
@@ -931,19 +922,17 @@ update_state(void *data)
val = (int) ((float) y / h * 100);
if (h == 0)
- strcat(status, " All");
+ eina_strbuf_append(status, " All");
else if (val == 0)
- strcat(status, " Top");
+ eina_strbuf_append(status, " Top");
else if (val == 100)
- strcat(status, " Bot");
- else {
- char *percent_scrolled = strdup_printf(" %d%%", val);
- strcat(status, percent_scrolled);
- free(percent_scrolled);
- }
+ eina_strbuf_append(status, " Bot");
+ else
+ eina_strbuf_append_printf(status, " %d%%", val);
+
*/
- elm_object_text_set(wd->status_state, status);
+ elm_object_text_set(wd->status_state, eina_strbuf_string_get(status));
int state_width, window_width;
evas_object_geometry_get(wd->status_state, NULL, NULL, &state_width, NULL);
@@ -951,9 +940,7 @@ update_state(void *data)
elm_label_wrap_width_set(wd->status_url, window_width - state_width);
- // update_url(elm_web_uri_get(ad->current_web), data);
- // elm_box_recalculate(ad->status_bar);
- // recalculate_status_bar(data);
+ eina_strbuf_free(status);
}
char*
diff --git a/src/utilities.h b/src/utilities.h
@@ -30,7 +30,7 @@ void setup_modkeys(void *data);
Buffer_Data* buffer_add(const unsigned char, Window_Data *, const char *, Session_Item *);
Window_Data* window_add(App_Data *, Session_Window*);
Eina_Bool echo(const Arg *arg, void *);
-void update_state(void *);
+void update_state(Window_Data*);
void update_url(const char *, void *);
void buffer_current_set(Buffer_Data *td);
char* status_flags(void *data);