summaryrefslogtreecommitdiffstats
path: root/src/eulogium.c
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-06-04 19:46:37 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-06-12 05:30:15 (GMT)
commit64dfeb9067650e9ab517c5c3fa852109679a195b (patch)
tree3fc1d1c23d77e9dca7982ffc7dd5de3e668937fc /src/eulogium.c
parent69ba56021670050e247e9b9e4f931d9e2597f389 (diff)
downloadeulogium-64dfeb9067650e9ab517c5c3fa852109679a195b.zip
eulogium-64dfeb9067650e9ab517c5c3fa852109679a195b.tar.gz
eulogium-64dfeb9067650e9ab517c5c3fa852109679a195b.tar.bz2
[griffin.display] add network stats button
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Diffstat (limited to 'src/eulogium.c')
-rw-r--r--src/eulogium.c62
1 files changed, 54 insertions, 8 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index 979af86..22f05a7 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -26,6 +26,8 @@
#define MONTH (4UL * WEEK)
#define YEAR (52UL * WEEK)
+/* TODO Create def for a menu/screen to house all the buttons */
+
static void _on_print_abort_ret(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED);
static void _cb_content_prev_set(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
static void _print_abort_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
@@ -51,6 +53,7 @@ static void _but_settings_hotend_1_cb(void *data, Evas_Object *object EINA_UNUSE
static void _but_settings_hotend_2_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED);
static void _but_change_hotend_1_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED);
static void _but_change_hotend_2_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED);
+static void _but_network_stats_cb(void *data, Evas_Object *object EINA_UNUSED, void *event_info EINA_UNUSED);
/* Buttons */
static struct button_def but_return = {
@@ -475,7 +478,7 @@ static void eulogium_print_data_clear(struct eulogium_data *eulogium)
if (eulogium->progress_data_refresh)
ecore_timer_del(eulogium->progress_data_refresh);
eulogium->progress_data_refresh = NULL;
- eulogium->progress = NULL; /* XXX memleak here? when or how is this freeed by efl */
+ eulogium->progress = NULL; /* XXX memleak here? when or how is this freed by efl */
eulogium->status = NULL; /* XXX memleak here too? how does efl do it */
eulogium->time = NULL; /* XXX memleak here too? how does efl do it */
eulogium->name = NULL; /* XXX memleak here too? how does efl do it */
@@ -524,7 +527,7 @@ static void _cb_content_prev_set(void *data, Evas_Object *obj EINA_UNUSED, void
printf("prev ret\n");
list_size = eina_list_count(elm_naviframe_items_get(eulogium->navi));
if (list_size < 2)
- printf("Not popping last item cowboy\n"); /* TODO, use proper debug contruct */
+ printf("Not popping last item cowboy\n"); /* TODO, use proper debug construct */
else
elm_naviframe_item_pop(eulogium->navi);
}
@@ -668,6 +671,18 @@ static void _cb_button_main_print(void *data, Evas_Object *object EINA_UNUSED, v
static void _but_system_settings_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
struct eulogium_data *eulogium = data;
+ Evas_Object *content = NULL;
+
+ printf("But system settings settings\n");
+ content = menu_widget_list(eulogium, eulogium->navi, &menu_system_settings);
+ if (!content)
+ return;
+ elm_naviframe_item_simple_push(eulogium->navi, content);
+}
+
+static void _but_network_stats_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+ struct eulogium_data *eulogium = data;
Evas_Object *box, *object;
printf("But settings settings\n");
@@ -879,12 +894,43 @@ Evas_Object *eulogium_button_list_prepend(Evas_Object *list, const char *label,
return button;
}
+Evas_Object *eulogium_button_list_append(Evas_Object *list, const char *label, Evas_Object *icon,
+ Evas_Smart_Cb func, const void *data)
+{
+ Evas_Object *box = evas_object_data_get(list, "content");
+ Eina_List *l = evas_object_data_get(list, "eulogium_list");
+ Evas_Object *button;
+
+ if ((!box) && (!list))
+ return NULL;
+
+ button = elm_button_add(box);
+ if (label)
+ elm_object_text_set(button, label);
+ if (icon)
+ elm_object_part_content_set(button, "icon", icon);
+ if (func)
+ evas_object_smart_callback_add(button, "clicked", func, data);
+ evas_object_show(button);
+
+ if (l)
+ l = eina_list_append(l, button);
+ else
+ l = eina_list_append(NULL, button);
+ evas_object_data_set(list, "eulogium_list", l);
+
+ evas_object_size_hint_weight_set(button, EVAS_HINT_EXPAND, 0);
+ evas_object_size_hint_align_set(button, EVAS_HINT_FILL, 0);
+
+ return button;
+}
+
Evas_Object *eulogium_button_list_sorted_insert(Evas_Object *list, const char *label, Evas_Object *icon,
Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func)
{
Evas_Object *box = evas_object_data_get(list, "content");
Eina_List *l = evas_object_data_get(list, "eulogium_list");
- Evas_Object *button;
+ Evas_Object *button; /* item */
if ((!box) && (!list))
return NULL;
@@ -895,7 +941,7 @@ Evas_Object *eulogium_button_list_sorted_insert(Evas_Object *list, const char *l
if (icon)
elm_object_part_content_set(button, "icon", icon);
if (data)
- evas_object_data_set(button, "filelist_data", data);
+ evas_object_data_set(button, "sort_data", data);
if (func)
evas_object_smart_callback_add(button, "clicked", func, data);
evas_object_show(button);
@@ -1281,8 +1327,8 @@ static void _cb_select_file(void *data, Evas_Object *obj EINA_UNUSED, void *even
static int _cb_dirfile_sort(const void *data1, const void *data2)
{
- const char *filepath1 = ((struct _filelist_data *)evas_object_data_get(data1, "filelist_data"))->filepath;
- const char *filepath2 = ((struct _filelist_data *)evas_object_data_get(data2, "filelist_data"))->filepath;
+ const char *filepath1 = ((struct _filelist_data *)evas_object_data_get(data1, "sort_data"))->filepath;
+ const char *filepath2 = ((struct _filelist_data *)evas_object_data_get(data2, "sort_data"))->filepath;
if (!filepath1)
return 1;
@@ -1395,7 +1441,7 @@ Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath)
icon = elm_icon_add(list);
elm_icon_standard_set(icon, "user-home");
- eulogium_button_list_prepend(list, "RETURN", icon, _cb_content_prev_set, eulogium);
+ eulogium_button_list_prepend(list, "Return", icon, _cb_content_prev_set, eulogium);
/* XXX TODO: when we pop the filelist from the stack, who calls elm_list_free();? */
eulogium_button_list_go(list);
@@ -1679,7 +1725,7 @@ Evas_Object *eulogium_dual_button_add(Evas_Object *parent, const struct button_d
elm_box_horizontal_set(butbox, EINA_TRUE);
elm_box_pack_end(box, butbox);
- /* Dummy seperator that is not visible to make both buttons identical in size */
+ /* Dummy separator that is not visible to make both buttons identical in size */
obj = elm_separator_add(box);
elm_separator_horizontal_set(obj, EINA_FALSE);
evas_object_size_hint_weight_set(obj, 0, 0);