summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/eulogium.c42
-rw-r--r--src/eulogium.h13
2 files changed, 32 insertions, 23 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index 8060744..18e3549 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -35,10 +35,10 @@ void eulogium_button_data_set(struct button_def *button, void *data)
button->data = data;
}
-void eulogium_filepath_set(struct eulogium_data *eulogium, char *filepath)
+void eulogium_print_file_set(struct eulogium_data *eulogium, char *filepath)
{
if (filepath && eulogium)
- eulogium->filepath = filepath;
+ eulogium->print.file = filepath;
}
/* test function to map try to mouse button to emit a click event */
@@ -119,16 +119,16 @@ Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium)
evas_object_show(object);
elm_table_pack(table, object, 0, 2, 3, 1);
- 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_weight_set(eulogium->print_progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- 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);
+ 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_weight_set(eulogium->print.progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ 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 0 /* FIXME use themed seperator */
object = elm_separator_add(eulogium->layout);
@@ -177,6 +177,12 @@ elm_progressbar_value_set(eulogium->print_progress, 0.5);
return table;
}
+Evas_Object *eulogium_start_print(struct eulogium_data *eulogium, char *filepath)
+{
+ eulogium_print_file_set(eulogium, filepath);
+ return eulogium_print_progress(eulogium);
+}
+
/* Uglyness due to a 'shortcomming' of elm_list sorted insert using 1 data var for both funcs */
struct _filelist_sort {
struct eulogium_data *eulogium;
@@ -189,11 +195,10 @@ static void _cb_select_file(void *data, Evas_Object *obj EINA_UNUSED, void *even
struct eulogium_data *eulogium = ((struct _filelist_sort *)data)->eulogium;
Evas_Object *content;
- eulogium->filepath = filepath; /* TODO: can we set this higher up the chain? not likely. */
if (ecore_file_is_dir(filepath)) {
- content = eulogium_print_menu(eulogium); /* TODO: maybe path as parameter was not bad */
+ content = eulogium_print_menu(eulogium, filepath);
} else {
- content = eulogium_print_progress(eulogium);
+ content = eulogium_start_print(eulogium, filepath);
}
elm_naviframe_item_simple_push(eulogium->layout, content);
}
@@ -274,7 +279,7 @@ static void _cb_content_prev_set(void *data, Evas_Object *object EINA_UNUSED, vo
elm_naviframe_item_pop(eulogium->layout);
}
-Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium)
+Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath)
{
Evas_Object *box;
Evas_Object *list;
@@ -290,7 +295,7 @@ Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium)
elm_table_pack(box, list, 0, 0, 1, 1);
eulogium->data = (void *)list;
- eina_file_dir_list(eulogium->filepath, EINA_FALSE, _cb_populate_filelist, eulogium);
+ eina_file_dir_list(filepath, EINA_FALSE, _cb_populate_filelist, eulogium);
eulogium->data = NULL;
icon = elm_icon_add(list);
@@ -375,7 +380,7 @@ static void _cb_button_main_print(void *data, Evas_Object *object EINA_UNUSED, v
Evas_Object *content;
/* TODO: add intermediate window to list drive/youmagine */
- content = eulogium_print_menu(eulogium);
+ content = eulogium_print_menu(eulogium, "/home/oliver"); /* TODO: replace later */
elm_naviframe_item_simple_push(eulogium->layout, content);
}
@@ -430,7 +435,6 @@ Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulog
static void eulogium_setup(struct eulogium_data *eulogium)
{
- eulogium->filepath = "/home/oliver"; /* TODO: this is just a quick hack until we get media insert detect */
eulogium_button_cb_data_set(&but_main_print, eulogium);
eulogium_button_cb_data_set(&but_main_material, eulogium);
eulogium_button_cb_data_set(&but_main_maintanance, eulogium);
diff --git a/src/eulogium.h b/src/eulogium.h
index 5577a73..47a3778 100644
--- a/src/eulogium.h
+++ b/src/eulogium.h
@@ -3,10 +3,15 @@
#ifndef _EULOGIUM_H
#define _EULOGIUM_H
+struct print_data {
+ Evas_Object *progress;
+ char *status; /* TODO probably an enum for this */
+ char *file;
+};
+
struct eulogium_data {
Evas_Object *layout;
- Evas_Object *print_progress;
- char *filepath;
+ struct print_data print;
void *data;
};
@@ -23,7 +28,7 @@ struct button_def {
void *data;
};
-void eulogium_filepath_set(struct eulogium_data *eulogium, char *filepath);
+void eulogium_print_file_set(struct eulogium_data *eulogium, char *filepath);
void eulogium_button_cb_set(struct button_def *button, struct button_cb *cb);
void eulogium_button_cb_data_set(struct button_def *button, void *data);
@@ -31,7 +36,7 @@ void eulogium_button_data_set(struct button_def *button, void *data);
Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulogium);
Evas_Object *eulogium_tripple_button_menu(struct eulogium_data *eulogium, const struct button_def *left, const struct button_def *right, const struct button_def *bottom);
-Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium);
+Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath);
Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium);
#endif /* _EULOGIUM_H */