summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-24 15:07:29 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-28 05:07:16 (GMT)
commitf3370d495a3780544384fc2fa424320c9c013621 (patch)
tree23d665235f4c17a6946665f35f314f8d78e78139
parentd78484314f9d0e46495d1ab9b931ef93a5b4a2d8 (diff)
downloadeulogium-f3370d495a3780544384fc2fa424320c9c013621.zip
eulogium-f3370d495a3780544384fc2fa424320c9c013621.tar.gz
eulogium-f3370d495a3780544384fc2fa424320c9c013621.tar.bz2
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 <o.schinagl@ultimaker.com>
-rw-r--r--src/eulogium.c23
1 files changed, 22 insertions, 1 deletions
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);