summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-07-29 13:53:39 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-07-29 13:53:39 (GMT)
commit9e7bd0c75924caa6199ac854d71f627548212710 (patch)
treedf4ea28e7ac90c54d6797ba1c80d5629abefa0e9
parent56d77dfc70b50500c4c47cb8d6ebc23259206d2c (diff)
downloadeulogium-9e7bd0c75924caa6199ac854d71f627548212710.zip
eulogium-9e7bd0c75924caa6199ac854d71f627548212710.tar.gz
eulogium-9e7bd0c75924caa6199ac854d71f627548212710.tar.bz2
temp commit
-rw-r--r--src/eulogium.c64
-rw-r--r--src/eulogium.h2
-rw-r--r--src/procedures.c17
-rw-r--r--src/ui_widgets.h1
4 files changed, 46 insertions, 38 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index d858c41..e34f748 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -2794,67 +2794,65 @@ struct _status_msg {
static Eina_Bool _timer_progress_data_update_cb(void *data)
{
struct eulogium_data *eulogium = data;
+ struct print_data *progress = eulogium->procedures[PROC_PRINT].meta;
static enum printer_status status = -1;
static double value = 0;
static double time = -1;
- procedure_metadata_key_get(PROC_PRINT);
- /* XXX This is an ugly hack that doesn't even work to abort the timer, we need to refactor this into something sensible
- * Basically we want to stop this time whenever the item gets removed from the stack via the
- * clean/free callback. */
- if ((!eulogium->status) && (!eulogium->progress) && (!eulogium->name) && (!eulogium->time))
- return ECORE_CALLBACK_CANCEL;
+ procedure_metadata_key_get(progress->proc_key);
+#if 0
if (eulogium->printer.status != status) {
elm_object_text_set(eulogium->status, "TODO (step key)");
if (eulogium->printer.status == COOLING)
elm_progressbar_inverted_set(eulogium->progress, EINA_TRUE);
status = eulogium->printer.status;
}
- if (eulogium->print.value != value) {
- elm_progressbar_value_set(eulogium->progress, eulogium->print.value);
- value = eulogium->print.value;
+#endif
+ if (progress->value != value) {
+ elm_progressbar_value_set(eulogium->progress, progress->value);
+ value = progress->value;
}
- if (eulogium->print.time != time) {
+ if (progress->time != time) {
char buf[255], *str;
int_fast32_t time = 0;
- if (eulogium->print.time < 1) {
+ if (progress->time < 1) {
str = "Print time unknown";
time = 0;
}
- if (eulogium->print.time > 0) {
+ if (progress->time > 0) {
str = "Time left: %d second%s";
- time = eulogium->print.time;
+ time = progress->time;
}
- if (eulogium->print.time > MINUTE) {
+ if (progress->time > MINUTE) {
str = "Time left: %d minute%s";
- time = eulogium->print.time / MINUTE;
+ time = progress->time / MINUTE;
}
- if (eulogium->print.time > HOUR) {
+ if (progress->time > HOUR) {
str = "Time left: %d hour%s";
- time = eulogium->print.time / HOUR;
+ time = progress->time / HOUR;
}
- if (eulogium->print.time > DAY) {
+ if (progress->time > DAY) {
str = "Time left: %d day%s";
- time = eulogium->print.time / DAY;
+ time = progress->time / DAY;
}
- if (eulogium->print.time > WEEK) {
+ if (progress->time > WEEK) {
str = "Time left: %d week%s";
- time = eulogium->print.time / WEEK;
+ time = progress->time / WEEK;
}
- if (eulogium->print.time > MONTH) {
+ if (progress->time > MONTH) {
str = "Time left: %d month%s";
- time = eulogium->print.time / MONTH;
+ time = progress->time / MONTH;
}
- if (eulogium->print.time > YEAR) {
+ if (progress->time > YEAR) {
str = "Time left: %d year%s";
- time = eulogium->print.time / YEAR;
+ time = progress->time / YEAR;
}
- snprintf(buf, sizeof(buf), str, (int)eulogium->print.time, (time > 1) ? "s" : ""); /* TODO: This won't work with in10 */
+ snprintf(buf, sizeof(buf), str, (int)progress->time, (time > 1) ? "s" : ""); /* TODO: This won't work with in10 */
elm_object_text_set(eulogium->time, _(buf));
- eulogium->print.time = time;
+ progress->time = time;
}
return ECORE_CALLBACK_RENEW;
@@ -2961,7 +2959,7 @@ Evas_Object *eulogium_pre_print(Evas_Object *parent, struct eulogium_data *eulog
return eulogium_split_screen(eulogium->navi, _top, _bottom);
}
-Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data *eulogium, const struct print_data *print) /* TODO pass timer var to store timer in */
+Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data *eulogium, const struct print_data *progress) /* TODO pass timer var to store timer in */
{
Evas_Object *_top, *_bottom;
@@ -2995,8 +2993,9 @@ Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data *
evas_object_show(eulogium->status);
elm_box_pack_end(_top, eulogium->status);
+ printf("jobname: %s\n", progress->jobname);
eulogium->name = elm_label_add(_top);
- elm_object_text_set(eulogium->name, print->jobname);
+ elm_object_text_set(eulogium->name, progress->jobname);
elm_label_slide_mode_set(eulogium->name, ELM_LABEL_SLIDE_MODE_AUTO);
//elm_label_slide_speed_set(object, 2);
elm_label_slide_go(eulogium->name);
@@ -3009,7 +3008,7 @@ Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data *
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, print->value);
+ elm_progressbar_value_set(eulogium->progress, progress->value);
elm_progressbar_unit_format_set(eulogium->progress, "%1.1f %%");
evas_object_size_hint_align_set(eulogium->progress, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(eulogium->progress);
@@ -3565,8 +3564,8 @@ Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulog
content = eulogium_tripple_button_menu(eulogium->navi, &but_main_print, &but_main_mathot, &but_main_system);
ui_stack_push(eulogium->navi, content, PAGE_BOTTOM);
/* XXX Test: pop a wizard at the start dev it */
- content = wizard_add(eulogium->navi, &material_unload, 0, EINA_TRUE);
- ui_stack_push(eulogium->navi, content, PAGE_WIZARD);
+// content = wizard_add(eulogium->navi, &material_unload, 0, EINA_TRUE);
+// ui_stack_push(eulogium->navi, content, PAGE_WIZARD);
return eulogium->navi;
}
@@ -4071,7 +4070,6 @@ static void _on_procedure_finished_ret(void *data EINA_UNUSED, const Eldbus_Mess
procedure->status = PROC_FINISHED;
procedure->step_active = NULL;
procedure_process_step(procedure, data);
- // XXX procedure_metadata_key_get(key)
}
static void _on_get_error_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
diff --git a/src/eulogium.h b/src/eulogium.h
index fa11711..61cbaa2 100644
--- a/src/eulogium.h
+++ b/src/eulogium.h
@@ -85,7 +85,7 @@ Evas_Object *eulogium_tripple_button_menu(Evas_Object *parent, const struct butt
Evas_Object *eulogium_dual_button_add(Evas_Object *parent, const struct button_def *left, const struct button_def *right);
Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath);
Evas_Object *eulogium_print_ignore(struct eulogium_data *eulogium);
-Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data *eulogium, const struct print_data *print);
+Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data *eulogium, const struct print_data *progress);
Evas_Object *eulogium_pre_print(Evas_Object *parent, struct eulogium_data *eulogium);
Evas_Object *eulogium_settings_dial(Evas_Object *parent, struct eulogium_data *eulogium, struct settings_dial_data *dial_data);
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);
diff --git a/src/procedures.c b/src/procedures.c
index 964e324..916367f 100644
--- a/src/procedures.c
+++ b/src/procedures.c
@@ -170,7 +170,8 @@ static void _get_meta_progress(void *data, const void *key, Eldbus_Message_Iter
}
free(var_sig);
-// ecore_event_add(procedure->poll.event, progress, NULL, NULL);
+
+ ecore_event_add(procedure->poll.event, NULL, NULL, NULL);
}
static void _get_meta_cur_tar(void *data, const void *key, Eldbus_Message_Iter *var)
@@ -272,7 +273,7 @@ void procedure_process_step(struct procedure_data *procedure, struct eulogium_da
if (procedure->step_active->step == STEP_FIRMWARE_UPDATE_WRITING) {
procedure_metadata_poll(procedure, EINA_TRUE);
content = ui_widget_progress(eulogium->navi, procedure);
- page_state = PAGE_NORMAL;
+ page_state = PAGE_FIRMWARE;
}
if (procedure->step_active->step == STEP_PRINTING) {
content = eulogium_print_progress(eulogium->navi, eulogium, (struct print_data *)procedure->meta);
@@ -292,6 +293,13 @@ void procedure_process_step(struct procedure_data *procedure, struct eulogium_da
elm_naviframe_item_pop_cb_set(navi_item, _print_progress_cleanup, eulogium);
}
+void procedure_procedure_finish(struct procedure_data *procedure, struct eulogium_data *eulogium)
+{
+ if (!procedure)
+ return;
+
+}
+
static struct procedure_msg print_msgs[] = {
{
.key = _PROC_MSG_PRINTER_CLEANED,
@@ -951,7 +959,7 @@ struct procedure_data *procedure_get(const char *key)
{
enum procedure_key i;
- for (i = PROC_PRINT; procedures[i].key; i++) {
+ for (i = PROC_NONE + 1; procedures[i].key; i++) {
if (!strcmp(procedures[i].key, key))
return &procedures[i];
}
@@ -1083,7 +1091,8 @@ struct procedure_data *procedures_init(Eldbus_Proxy *proxy)
__proxy = proxy;
for (i = PROC_NONE; i < PROC_LAST; i++) {
- procedures[i].poll.event = ecore_event_type_new();
+ if (procedures[i].key)
+ procedures[i].poll.event = ecore_event_type_new();
}
/* TODO: we probably should do something here to prepare all procedures and their meta data
diff --git a/src/ui_widgets.h b/src/ui_widgets.h
index 2e4fc9d..1620f6c 100644
--- a/src/ui_widgets.h
+++ b/src/ui_widgets.h
@@ -85,6 +85,7 @@ enum navi_page_state {
PAGE_USB,
PAGE_FLASH,
PAGE_PRINTING,
+ PAGE_FIRMWARE,
PAGE_INVALID,
PAGE_ERROR,
} _navi_page_state; /* Kind of a hack, to pass a pointer to the enum so we can pass it to functions that only take void* */