tasn pushed a commit to branch master. http://git.enlightenment.org/apps/ecrire.git/commit/?id=46cf0abf840a9cb938e03527de3ce55f3c70eda2
commit 46cf0abf840a9cb938e03527de3ce55f3c70eda2 Author: magic <emil.pandoc...@gmail.com> Date: Thu Jul 30 14:10:45 2015 +0100 fix code to allow visualization of the "save needed" popup . Summary: in a situation where you were trying to close the application without saving, the program made it appear an empty pop-up, this prevents the user to save any unsaved data. This is because a box was used to create popup's content and popup's buttons. elm_object_part_content_set and elm_object_part_text_set should be used instead to properly populate the popup @fix Reviewers: cedric, tasn Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2612 --- src/bin/ui/alerts.c | 60 +++++++++++++++++++---------------------------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/src/bin/ui/alerts.c b/src/bin/ui/alerts.c index ce582bf..2da479d 100644 --- a/src/bin/ui/alerts.c +++ b/src/bin/ui/alerts.c @@ -49,50 +49,32 @@ _cancel(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) void ui_alert_need_saving(Evas_Object *entry, void (*done)(void *data), void *data) { - Evas_Object *popup, *bx, *hbx, *btn, *lbl; + Evas_Object *popup, *btn1, *btn2, *btn3; popup = elm_popup_add(elm_object_top_widget_get(entry)); - evas_object_show(popup); done_cb = done; done_data = data; - bx = elm_box_add(popup); - elm_object_content_set(popup, bx); - evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.0); - evas_object_show(bx); - - lbl = elm_label_add(popup); - elm_object_text_set(lbl, + elm_object_part_text_set(popup, "title,text", "Unsaved Changes"); + elm_object_text_set(popup, _("<align=center>Would you like to save changes to document?<br>" "Any unsaved changes will be lost.")); - evas_object_size_hint_weight_set(lbl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(lbl, EVAS_HINT_FILL, EVAS_HINT_FILL); - elm_box_pack_end(bx, lbl); - evas_object_show(lbl); - - hbx = elm_box_add(popup); - elm_box_horizontal_set(hbx, EINA_TRUE); - evas_object_size_hint_weight_set(hbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_size_hint_align_set(hbx, EVAS_HINT_FILL, 0.0); - elm_box_pack_end(bx, hbx); - evas_object_show(hbx); - - btn = elm_button_add(popup); - elm_object_text_set(btn, _("Save")); - elm_box_pack_end(hbx, btn); - evas_object_show(btn); - evas_object_smart_callback_add(btn, "clicked", _save, popup); - - btn = elm_button_add(popup); - elm_object_text_set(btn, _("Discard")); - elm_box_pack_end(hbx, btn); - evas_object_show(btn); - evas_object_smart_callback_add(btn, "clicked", _discard, popup); - - btn = elm_button_add(popup); - elm_object_text_set(btn, _("Cancel")); - elm_box_pack_end(hbx, btn); - evas_object_show(btn); - evas_object_smart_callback_add(btn, "clicked", _cancel, popup); + + btn1 = elm_button_add(popup); + elm_object_text_set(btn1, _("Save")); + elm_object_part_content_set(popup, "button1", btn1); + evas_object_smart_callback_add(btn1, "clicked", _save, popup); + + btn2 = elm_button_add(popup); + elm_object_text_set(btn2, _("Discard")); + elm_object_part_content_set(popup, "button2", btn2); + evas_object_smart_callback_add(btn2, "clicked", _discard, popup); + + btn3 = elm_button_add(popup); + elm_object_text_set(btn3, _("Cancel")); + elm_object_part_content_set(popup, "button3", btn3); + evas_object_smart_callback_add(btn3, "clicked", _cancel, popup); + + elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER); + evas_object_show(popup); } --