From f3370d495a3780544384fc2fa424320c9c013621 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Fri, 24 Apr 2015 17:07:29 +0200 Subject: turn pause into an abort button Notice: we just 'NULL' the pointers in the print data. There may be a memory leak here! Signed-off-by: Olliver Schinagl --- src/eulogium.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/eulogium.c b/src/eulogium.c index dd58402..1fe5ca4 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -159,6 +159,26 @@ static void _cb_eulogium_exit(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS elm_exit(); } +static void _print_abort_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + struct eulogium_data *eulogium = data; + Elm_Object_Item *item; + + item = elm_naviframe_bottom_item_get(eulogium->navi); + if (item) + elm_naviframe_item_pop_to(item); /* XXX what to do else? | XXX stack corrupted after this? (see error log) */ + else + EINA_LOG_CRIT("There is no bottom of the stack!"); + + /* XXX Quick and ugly cleaning up */ + free(eulogium->print.name); + eulogium->print.name = NULL; + free(eulogium->print.file); + eulogium->print.file = NULL; + eulogium->print.progress = NULL; /* XXX memleak here */ + eulogium->print.status = NULL; /* XXX memleak here too */ +} + Evas_Object *eulogium_split_screen(Evas_Object *parent, Evas_Object *top, Evas_Object *bottom) { Evas_Object *table; @@ -254,9 +274,10 @@ elm_progressbar_value_set(eulogium->print.progress, 0.5); elm_table_pack(table, object, 1, 5, 1, 1); object = elm_button_add(table); - elm_object_text_set(object, "PAUSE"); /* TODO create pause button */ + elm_object_text_set(object, "ABORT"); /* TODO create pause button */ evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL); evas_object_size_hint_weight_set(object, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_smart_callback_add(object, "clicked", _print_abort_cb, eulogium); /* TODO use button! */ evas_object_show(object); elm_table_pack(table, object, 2, 5, 1, 1); -- cgit v0.12