summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-07-30 13:49:04 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-07-30 13:49:04 (GMT)
commit3423711345a273e33371b4a33b7e616c1a55d927 (patch)
treef2660a85c34c77eccc5f63300af98608383ab5ae
parent98430e79bd1cb3884539b00e69b4e4915e9562fb (diff)
downloadeulogium-archive.zip
eulogium-archive.tar.gz
eulogium-archive.tar.bz2
refactor print bed cleaning a littlearchive
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
-rw-r--r--src/eulogium.c28
-rw-r--r--src/eulogium.h2
-rw-r--r--src/procedures.c5
-rw-r--r--src/ui_widgets.c29
-rw-r--r--src/ui_widgets.h3
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!<br>Remove the print<br>for next<br>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!<br>Remove the print<br>for next<br>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);