summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-27 19:33:41 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-28 05:07:16 (GMT)
commitde3c1414fb4fa87b89227311e8294bd21e8027dd (patch)
treeae5422b0e714719d62700e7dabaa284498d03af8 /src
parent91fcd6404b20ac9d17f3cd6aafb433d02a44aefc (diff)
downloadeulogium-de3c1414fb4fa87b89227311e8294bd21e8027dd.zip
eulogium-de3c1414fb4fa87b89227311e8294bd21e8027dd.tar.gz
eulogium-de3c1414fb4fa87b89227311e8294bd21e8027dd.tar.bz2
Add very generic basic error dialog
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Diffstat (limited to 'src')
-rw-r--r--src/eulogium.c25
-rw-r--r--src/eulogium.h2
2 files changed, 27 insertions, 0 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index 7449028..631612c 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -307,7 +307,32 @@ elm_progressbar_value_set(eulogium->print.progress, 0.5);
}
static void _on_start_print_ret(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
+Evas_Object *eulogium_generic_error(struct eulogium_data *eulogium, uint8_t eulogium_error)
{
+ Evas_Object *box, *object;
+ char buf[] = "Printer error -255.<br>Please contact support via<br>http://ultimaker.com/support.";
+ /* TODO, replace with define of strings to collect all strings centrally */
+
+ box = elm_box_add(eulogium->navi);
+ evas_object_show(box);
+
+ object = elm_label_add(eulogium->navi);
+ snprintf(buf, sizeof(buf), "Printer error %d.<br>Please contact support via<br>http://ultimaker.com/support.", eulogium_error);
+ elm_object_text_set(object, buf);
+ evas_object_show(object);
+ elm_box_pack_end(box, object);
+
+ object = elm_button_add(eulogium->navi);
+ elm_object_text_set(object, "ABORT"); /* TODO create abort button */
+ evas_object_size_hint_align_set(object, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(object, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_smart_callback_add(object, "clicked", _print_abort_cb, eulogium); /* TODO use button! */
+ evas_object_show(object);
+ elm_box_pack_end(box, object);
+
+ return box;
+}
+
const char *errname, *errmsg;
if (eldbus_message_error_get(msg, &errname, &errmsg)) {
diff --git a/src/eulogium.h b/src/eulogium.h
index 8cbe69a..80c3e17 100644
--- a/src/eulogium.h
+++ b/src/eulogium.h
@@ -86,6 +86,8 @@ struct multi_screen_data {
struct multi_screen *screen;
};
+Evas_Object *eulogium_generic_error(struct eulogium_data *eulogium, uint8_t eulogium_error);
+
void eulogium_print_data_set(struct eulogium_data *eulogium, char *filepath);
void eulogium_button_cb_set(struct button_def *button, struct button_cb *cb);