From 4f43249cd3e9d8ed3784203b829e7ab54e2f1152 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Wed, 29 Apr 2015 13:29:35 +0200 Subject: Move global GUI objects for the progress window into the main storage. Potentially this needs to be its own progress_data struct Signed-off-by: Olliver Schinagl --- src/eulogium.c | 56 +++++++++++++++++++++++++++++--------------------------- src/eulogium.h | 4 ++-- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 700bdcc..c426c3e 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -183,13 +183,14 @@ static void _print_abort_cb(void *data, Evas_Object *obj EINA_UNUSED, void *even EINA_LOG_CRIT("There is no bottom of the stack!"); /* XXX Quick and ugly cleaning up */ + eulogium->status = NULL; /* XXX memleak here too? how does efl do it */ + eulogium->progress = NULL; /* XXX memleak here? when or how is this freeed by efl */ + free(eulogium->print.name); eulogium->print.name = NULL; free(eulogium->print.file); eulogium->print.file = NULL; - eulogium->print.progress = NULL; /* XXX memleak here? when or how is this freeed by efl */ - eulogium->print.status = NULL; /* XXX memleak here too? how does efl do it */ eulogium->print.time = 0; eulogium->print.material = 0; } @@ -232,22 +233,22 @@ Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium) evas_object_size_hint_align_set(table, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_table_homogeneous_set(table, EINA_FALSE); - eulogium->print.status = elm_label_add(table); - elm_object_text_set(eulogium->print.status, "Print time: ...
Print status unknown."); - elm_label_slide_mode_set(eulogium->print.status, ELM_LABEL_SLIDE_MODE_NONE); - evas_object_size_hint_align_set(eulogium->print.status, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(eulogium->print.status); - elm_table_pack(table, eulogium->print.status, 0, 0, 3, 1); + eulogium->status = elm_label_add(table); + elm_object_text_set(eulogium->status, "Print time: ...
Print status unknown."); + elm_label_slide_mode_set(eulogium->status, ELM_LABEL_SLIDE_MODE_NONE); + evas_object_size_hint_align_set(eulogium->status, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(eulogium->status); + elm_table_pack(table, eulogium->status, 0, 0, 3, 1); #if 0 - eulogium->print.status = elm_label_add(table); - elm_object_text_set(eulogium->print.status, "Print status unknown."); - elm_label_slide_mode_set(eulogium->print.status, ELM_LABEL_SLIDE_MODE_AUTO); - elm_label_slide_duration_set(eulogium->print.status, 8); - elm_object_style_set(eulogium->print.status, "slide_bounce"); - evas_object_size_hint_align_set(eulogium->print.status, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(eulogium->print.status); - elm_table_pack(table, eulogium->print.status, 0, 1, 3, 1); + eulogium->status = elm_label_add(table); + elm_object_text_set(eulogium->status, "Print status unknown."); + elm_label_slide_mode_set(eulogium->status, ELM_LABEL_SLIDE_MODE_AUTO); + elm_label_slide_duration_set(eulogium->status, 8); + elm_object_style_set(eulogium->status, "slide_bounce"); + evas_object_size_hint_align_set(eulogium->status, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(eulogium->status); + elm_table_pack(table, eulogium->status, 0, 1, 3, 1); #endif object = elm_label_add(table); elm_object_text_set(object, eulogium->print.name); @@ -259,16 +260,16 @@ Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium) evas_object_show(object); elm_table_pack(table, object, 0, 2, 3, 1); - if (!eulogium->print.progress) - eulogium->print.progress = elm_progressbar_add(table); /* TODO: depending on i18n sig, change inverted */ - elm_progressbar_horizontal_set(eulogium->print.progress, EINA_TRUE); - elm_progressbar_pulse_set(eulogium->print.progress, EINA_FALSE); /* TODO: pulse = time-unknown/pause */ - elm_progressbar_pulse(eulogium->print.progress, EINA_FALSE); -elm_progressbar_value_set(eulogium->print.progress, 0.5); - elm_progressbar_unit_format_set(eulogium->print.progress, "%1.0f%%"); - evas_object_size_hint_align_set(eulogium->print.progress, EVAS_HINT_FILL, EVAS_HINT_FILL); - evas_object_show(eulogium->print.progress); - elm_table_pack(table, eulogium->print.progress, 0, 3, 3, 1); + if (!eulogium->progress) + eulogium->progress = elm_progressbar_add(table); /* TODO: depending on i18n sig, change inverted */ + elm_progressbar_horizontal_set(eulogium->progress, EINA_TRUE); + elm_progressbar_pulse_set(eulogium->progress, EINA_FALSE); /* TODO: pulse = time-unknown/pause */ + elm_progressbar_pulse(eulogium->progress, EINA_FALSE); +elm_progressbar_value_set(eulogium->progress, 0.5); + elm_progressbar_unit_format_set(eulogium->progress, "%1.0f%%"); + evas_object_size_hint_align_set(eulogium->progress, EVAS_HINT_FILL, EVAS_HINT_FILL); + evas_object_show(eulogium->progress); + elm_table_pack(table, eulogium->progress, 0, 3, 3, 1); object = elm_separator_add(eulogium->navi); elm_separator_horizontal_set(object, EINA_TRUE); @@ -934,12 +935,13 @@ static void eulogium_setup(struct eulogium_data *eulogium) while (screen_data.screen[screen_data.count].type != END) screen_data.count++; + eulogium->status = NULL; + eulogium->progress = NULL; eulogium->print.name = NULL; eulogium->print.file = NULL; eulogium->print.flags = ""; eulogium->print.progress = NULL; eulogium->print.time = 0; - eulogium->print.status = NULL; eulogium->print.material = 0.0; eulogium_button_cb_data_set(&but_main_print, eulogium); eulogium_button_cb_data_set(&but_main_material, eulogium); diff --git a/src/eulogium.h b/src/eulogium.h index 80c3e17..36e2f08 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -23,8 +23,6 @@ enum file_type { }; struct print_data { - Evas_Object *progress; - Evas_Object *status; uint_fast32_t time; char *file; char *name; @@ -48,6 +46,8 @@ struct dbus_data { struct eulogium_data { Evas_Object *navi; + Evas_Object *status; + Evas_Object *progress; struct print_data print; struct dbus_data dbus; void *data; -- cgit v0.12