diff options
Diffstat (limited to 'src/eulogium.c')
-rw-r--r-- | src/eulogium.c | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/src/eulogium.c b/src/eulogium.c index e34f748..e4b8338 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -120,7 +120,7 @@ static struct button_def but_return = { .data = NULL, }; -static struct button_def but_print_abort_confirm = { +struct button_def but_print_abort_confirm = { .text = "ABORT", .cb = { .func = &_print_abort_confirm_cb, @@ -140,7 +140,7 @@ static struct button_def but_print_abort = { .data = NULL, }; -static struct button_def but_print_tune = { +struct button_def but_print_tune = { .text = "TUNE", .cb = { .func = &_but_print_tune_cb, @@ -1704,7 +1704,8 @@ static struct print_data progressbars[] = { .jobname = NULL, .time = 0, .total_time = 0, - .value = 0.0, + .value = -1.0, + .format = "%1.1f %%", .proc_key = PROC_PRINT, }, [PROC_FIRMWARE_UPDATE] = { @@ -1713,7 +1714,8 @@ static struct print_data progressbars[] = { .jobname = NULL, .time = 0, .total_time = 0, - .value = 0.0, + .value = -1.0, + .format = "%1.1f %%", .proc_key = PROC_FIRMWARE_UPDATE, }, }; @@ -2511,7 +2513,7 @@ static char *parse_networks_for_display(struct network_data *networks) for (i = 0; networks[i].obj_path; i++) if (networks[i].ipv4) { // TODO || networks[i].ipv6) /* XXX if ipv4 exists, but is '', this will still print an empty field. */ buf = realloc(buf, pos + 34 * sizeof(char *)); - pos += sprintf(buf + pos, "%s%s IP: %s", i == 0 ? "": "<br>", (networks[i].tech == TECH_ETHERNET) ? "Ethernet" : (networks[i].tech == TECH_WIFI) ? "WiFi" : "", networks[i].ipv4); + pos += sprintf(buf + pos, "%s%s IP: %s", i == 0 ? "": "<br>", (networks[i].tech == TECH_ETHERNET) ? "LAN" : (networks[i].tech == TECH_WIFI) ? "WiFi" : "", networks[i].ipv4); } return buf; @@ -2736,7 +2738,7 @@ void eulogium_button_data_set(struct button_def *button, void *data) button->data = data; } -void eulogium_print_data_set(struct eulogium_data *eulogium, char *filepath) +void eulogium_print_data_set(struct print_data *print, char *filepath) { char *buf; size_t buf_size; @@ -2747,11 +2749,8 @@ void eulogium_print_data_set(struct eulogium_data *eulogium, char *filepath) buf_size = strlen("file://") + strlen(filepath) + 1; buf = malloc(buf_size); /* TODO: remember to free this later! */ snprintf(buf, buf_size, "file://%s", filepath); - eulogium->print.url = buf; - eulogium->print.jobname = ecore_file_strip_ext(ecore_file_file_get(filepath)); - eulogium->print.flags = ""; - eulogium->print.material = 100.23; /* TODO */ - eulogium->print.time = 12; + print->url = buf; + print->jobname = ecore_file_strip_ext(ecore_file_file_get(filepath)); } static void _cb_eulogium_exit(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) @@ -2808,7 +2807,6 @@ static Eina_Bool _timer_progress_data_update_cb(void *data) elm_progressbar_inverted_set(eulogium->progress, EINA_TRUE); status = eulogium->printer.status; } -#endif if (progress->value != value) { elm_progressbar_value_set(eulogium->progress, progress->value); value = progress->value; @@ -2855,6 +2853,7 @@ static Eina_Bool _timer_progress_data_update_cb(void *data) progress->time = time; } +#endif return ECORE_CALLBACK_RENEW; } @@ -2973,6 +2972,8 @@ Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data * return NULL; } + return ui_widget_progress(parent, eulogium->procedures[PROC_PRINT].meta, &eulogium->procedures[PROC_PRINT].event); +#if 0 _top = elm_box_add(parent); evas_object_size_hint_weight_set(_top, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(_top, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -2993,7 +2994,6 @@ 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, progress->jobname); elm_label_slide_mode_set(eulogium->name, ELM_LABEL_SLIDE_MODE_AUTO); @@ -3018,6 +3018,7 @@ Evas_Object *eulogium_print_progress(Evas_Object *parent, struct eulogium_data * evas_object_show(_bottom); return eulogium_split_screen(parent, _top, _bottom); +#endif } void eulogium_generic_error(struct eulogium_data *eulogium, uint_fast16_t error_code, const char *error_msg) @@ -3145,12 +3146,13 @@ static void _cb_select_file(void *data, Evas_Object *obj EINA_UNUSED, void *even new_dir->dir.path = malloc(new_dir_len); /* XXX memleak, but by copying we can free _filelist_data without worry */ strncpy(new_dir->dir.path, filepath, new_dir_len); content = menu_widget_list(eulogium, eulogium->navi, new_dir); - ui_stack_push(eulogium->navi, content, PAGE_NORMAL); /* XXX We need to set the correct page type here */ + ui_stack_push(eulogium->navi, content, PAGE_NORMAL); } else { Evas_Object *content; + struct print_data *progress = eulogium->procedures[PROC_PRINT].meta; /* XXX hack, fix me soon! */ - eulogium_print_data_set(eulogium, filepath); - procedure_print_start(&eulogium->print); + eulogium_print_data_set(progress, filepath); + procedure_print_start(progress); content = eulogium_pre_print(eulogium->navi, eulogium); ui_stack_push(eulogium->navi, content, PAGE_PRINTING); } @@ -3968,7 +3970,9 @@ static void _on_get_active_procedures_ret(void *data EINA_UNUSED, const Eldbus_M return; } while (eldbus_message_iter_get_and_next(array, 'r', &act_proc_struct)) { - if (eldbus_message_iter_arguments_get(act_proc_struct, "ss", &key, &step)) { + if (!(eldbus_message_iter_arguments_get(act_proc_struct, "ss", &key, &step))) { + EINA_LOG_ERR("Message content does not match expected \"ss\" signature. (%s)", eldbus_message_signature_get(msg)); + } else { struct procedure_data *procedure; EINA_LOG_ERR("Key '%s' step '%s'", key, step); @@ -4003,10 +4007,10 @@ static void _on_procedure_start_ret(void *data, const Eldbus_Message *msg) EINA_LOG_ERR("Message content does not match expected \"ss\" signature. (%s)", eldbus_message_signature_get(msg)); return; } - EINA_LOG_ERR("Key '%s' step '%s'", key, step); +// EINA_LOG_ERR("Key '%s' step '%s'", key, step); procedure = procedure_get(key); if (!procedure) { - EINA_LOG_ERR("Unknown procedure %s", key); +// EINA_LOG_ERR("Unknown procedure %s", key); return; } procedure->status = PROC_ACTIVE; @@ -4061,15 +4065,15 @@ static void _on_procedure_finished_ret(void *data EINA_UNUSED, const Eldbus_Mess EINA_LOG_ERR("Message content does not match expected \"s\" signature. (%s)", eldbus_message_signature_get(msg)); return; } - EINA_LOG_ERR("finshed Key '%s'", key); +// EINA_LOG_ERR("finshed Key '%s'", key); procedure = procedure_get(key); if (!procedure) { - EINA_LOG_ERR("Unknown procedure %s", key); +// EINA_LOG_ERR("Unknown procedure %s", key); return; } procedure->status = PROC_FINISHED; procedure->step_active = NULL; - procedure_process_step(procedure, data); + procedure_process_finish(procedure, data); } static void _on_get_error_ret(void *data, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED) @@ -4262,7 +4266,7 @@ static void eulogium_setup(struct eulogium_data *eulogium) procedure_meta_set(&eulogium->procedures[PROC_CURRENT_XY], PROC_META_SLIDER, &dials[PROC_CURRENT_XY]); procedure_meta_set(&eulogium->procedures[PROC_CURRENT_Z], PROC_META_SLIDER, &dials[PROC_CURRENT_Z]); procedure_meta_set(&eulogium->procedures[PROC_CURRENT_E], PROC_META_SLIDER, &dials[PROC_CURRENT_E]); - procedure_meta_getall(); + procedure_meta_getall(); /* XXX do we really want to get all metadata at start? Not only of active and special procedures? */ } void _priviledges_drop(void) |