From 3423711345a273e33371b4a33b7e616c1a55d927 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Thu, 30 Jul 2015 15:49:04 +0200 Subject: refactor print bed cleaning a little Signed-off-by: Olliver Schinagl --- src/eulogium.c | 28 ---------------------------- src/eulogium.h | 2 +- src/procedures.c | 5 +++-- src/ui_widgets.c | 29 +++++++++++++++++++++++++++++ src/ui_widgets.h | 3 +++ 5 files changed, 36 insertions(+), 31 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index 3ffab75..20db25b 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -2913,34 +2913,6 @@ void eulogium_generic_error(struct eulogium_data *eulogium, uint_fast16_t error_ ui_stack_push(eulogium->navi, content, PAGE_ERROR); } -static void _cleaned_bed_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) -{ - struct eulogium_data *eulogium = data; - - procedure_print_printer_cleaned(); - _cb_content_prev_set(eulogium, obj, event_info); /* replace with ui_pop_stack */ -} - -Evas_Object *eulogium_clean_print_bed(struct eulogium_data *eulogium) -{ - Evas_Object *_top, *_bottom, *obj; - - _top = elm_box_add(eulogium->navi); - evas_object_show(_top); - - obj = elm_label_add(_top); - elm_object_text_set(obj, _("Print finished!
Remove the print
for next
print job.")); - evas_object_show(obj); - elm_box_pack_end(_top, obj); - - _bottom = elm_button_add(eulogium->navi); - elm_object_text_set(_bottom, _("Print removed")); - evas_object_smart_callback_add(_bottom, "clicked", _cleaned_bed_cb, eulogium); - evas_object_show(_bottom); - - return eulogium_split_screen(eulogium->navi, _top, _bottom); -} - struct _wifilist_data { struct eulogium_data *eulogium; struct network_data *network; diff --git a/src/eulogium.h b/src/eulogium.h index 4dae23b..87678a9 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -94,7 +94,7 @@ Evas_Object *eulogium_settings_dial(Evas_Object *parent, struct eulogium_data *e Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct button_def *button, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex); Evas_Object *menu_widget_list(struct eulogium_data *eulogium, Evas_Object *parent, struct menu_def *menu); Evas_Object *eulogium_menu_confirm(Evas_Object *parent, const char *msg, const char *prev, const struct button_def *next); -Evas_Object *eulogium_clean_print_bed(struct eulogium_data *eulogium); +Evas_Object *eulogium_clean_print_bed(Evas_Object *navi); void eulogium_print_data_clear(struct eulogium_data *eulogium); #endif /* _EULOGIUM_H */ diff --git a/src/procedures.c b/src/procedures.c index 38d320b..f0b897d 100644 --- a/src/procedures.c +++ b/src/procedures.c @@ -292,8 +292,7 @@ void procedure_process_step(struct procedure_data *procedure, struct eulogium_da page_state = PAGE_PRINTING; } if (procedure->step_active->step == PROC_WAIT_FOR_CLEANUP) { - ui_stack_page_invalidate(eulogium->navi, PAGE_PRINTING); /* XXX Probably move to process_finished */ - content = eulogium_clean_print_bed(eulogium); + content = ui_clean_print_bed(eulogium->navi); } if (!content) @@ -319,6 +318,8 @@ void procedure_process_finish(struct procedure_data *procedure, struct eulogium_ break; case PROC_PRINT: procedure_metadata_poll_stop(procedure); + ui_stack_page_invalidate(eulogium->navi, PAGE_PRINTING); + ui_stack_pop(eulogium->navi); break; default: break; diff --git a/src/ui_widgets.c b/src/ui_widgets.c index ec69984..14969e5 100644 --- a/src/ui_widgets.c +++ b/src/ui_widgets.c @@ -133,6 +133,35 @@ void ui_stack_pop_cb(void *data, Evas_Object *eo EINA_UNUSED, void *event_info E ui_stack_pop(navi); } +static void _cb_cleaned_print_bed(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *navi = data; + + procedure_print_printer_cleaned(); + ui_stack_pop(navi); +} + +/* XXX move to ui_windows.c */ +Evas_Object *ui_clean_print_bed(Evas_Object *navi) +{ + Evas_Object *_top, *_bottom, *obj; + + _top = elm_box_add(navi); + evas_object_show(_top); + + obj = elm_label_add(_top); + elm_object_text_set(obj, _("Print finished!
Remove the print
for next
print job.")); + evas_object_show(obj); + elm_box_pack_end(_top, obj); + + _bottom = elm_button_add(navi); + elm_object_text_set(_bottom, _("Print removed")); + evas_object_smart_callback_add(_bottom, "clicked", _cb_cleaned_print_bed, navi); + evas_object_show(_bottom); + + return eulogium_split_screen(navi, _top, _bottom); +} + static void _dial_send_update(void *data, Evas_Object *eo, void *event_info EINA_UNUSED) { struct settings_dial_data *dial_data = data; diff --git a/src/ui_widgets.h b/src/ui_widgets.h index 1298ecc..d331bd6 100644 --- a/src/ui_widgets.h +++ b/src/ui_widgets.h @@ -99,6 +99,9 @@ Elm_Object_Item *ui_stack_push(Evas_Object *navi, Evas_Object *content, const en Eina_Bool ui_stack_pop(const Evas_Object *navi); void ui_stack_pop_cb(void *data, Evas_Object *eo EINA_UNUSED, void *event_info EINA_UNUSED); void ui_stack_page_invalidate(Evas_Object *navi, const enum navi_page_state page_state); + +Evas_Object *ui_clean_print_bed(Evas_Object *navi); + Evas_Object *ui_widget_slider(Evas_Object *parent, struct eulogium_data *eulogium, struct settings_dial_data *dial_data); Evas_Object *ui_widget_spinner(Evas_Object *parent, struct eulogium_data *eulogium, struct settings_dial_data *dial_data); Evas_Object *ui_widget_spinner_add(Evas_Object *parent, struct settings_dial_data *dial_data); -- cgit v0.12