static void frame_number_add_show(struct MessageNewViewData *data) { struct Window *win = data->win; window_layout_set(win, MESSAGE_FILE, "recipient_number_add"); window_text_set(win, "title", D_("Add a Number")); data->bt1 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt1, D_("Back")); evas_object_smart_callback_add(data->bt1, "clicked", frame_number_add_back_clicked, data); window_swallow(win, "button_back", data->bt1); evas_object_show(data->bt1); data->bt2 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt2, D_("Add")); evas_object_smart_callback_add(data->bt2, "clicked", frame_number_add_add_clicked, data); window_swallow(win, "button_add", data->bt2); evas_object_show(data->bt2); data->entry = elm_entry_add(window_evas_object_get(win)); evas_object_show(data->entry); elm_widget_focus_set(data->entry, 1); data->sc = elm_scroller_add(window_evas_object_get(win)); elm_scroller_content_set(data->sc, data->entry); window_swallow(win, "entry", data->sc); evas_object_show(data->sc); window_kbd_show(win, KEYBOARD_NUMERIC); }
static void frame_content_show(struct MessageNewViewData *data) { struct Window *win = data->win; elm_layout_file_set(win->layout, MESSAGE_FILE, "content_edit"); data->bt1 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt1, D_("Close")); evas_object_smart_callback_add(data->bt1, "clicked", frame_content_close_clicked, data); window_swallow(win, "button_close", data->bt1); evas_object_show(data->bt1); data->bt2 = elm_button_add(window_evas_object_get(win)); elm_button_label_set(data->bt2, D_("Continue")); evas_object_smart_callback_add(data->bt2, "clicked", frame_content_continue_clicked, data); window_swallow(win, "button_continue", data->bt2); evas_object_show(data->bt2); data->sc = elm_scroller_add(window_evas_object_get(win)); elm_scroller_policy_set(data->sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_ON); data->entry = elm_entry_add(window_evas_object_get(win)); evas_object_size_hint_weight_set(data->entry, 1.0, 1.0); evas_object_size_hint_align_set(data->entry, -1.0, -1.0); evas_object_smart_callback_add(data->entry, "changed", frame_content_content_changed, data); if (data->content != NULL) { elm_entry_entry_set(data->entry, data->content); } elm_scroller_content_set(data->sc, data->entry); evas_object_show(data->entry); window_swallow(win, "entry", data->sc); evas_object_show(data->sc); elm_object_focus(data->entry); }
static void on_chats(void *data, Evas_Object *obj, void *event_info) { Evas_Object *sc, *bx2; if (content) evas_object_del(content); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(box, sc); evas_object_show(sc); content = sc; bx2 = elm_box_add(window); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); elm_scroller_content_set(sc, bx2); evas_object_show(bx2); /* FIXME: delete content and add a scrolled list of everyone who has sent * you and sms or that you have sent one to - in order of most recent */ }
void create_compose(Data_Message *rep_to, const char *to, const char *text) { Evas_Object *bx, *bx2, *ph, *lb, *bt, *sc, *en; if (content) evas_object_del(content); reply_to = NULL; if (number) { free(number); number = NULL; } if (rep_to) { reply_to = rep_to; if (reply_to->from_to) number = strdup(reply_to->from_to); } if (to) { if (number) free(number); number = strdup(to); } bx = elm_box_add(window); evas_object_size_hint_weight_set(bx, 1.0, 1.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); content = bx; bx2 = elm_box_add(window); elm_box_horizontal_set(bx2, 1); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); ph = elm_photo_add(window); evas_object_smart_callback_add(ph, "clicked", on_to_select, NULL); evas_object_size_hint_weight_set(ph, 0.0, 1.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); write_ph = ph; lb = elm_label_add(window); elm_label_label_set(lb, "Select..."); evas_object_size_hint_weight_set(lb, 1.0, 1.0); evas_object_size_hint_align_set(lb, -1.0, 0.5); elm_box_pack_end(bx2, lb); evas_object_show(lb); write_lb = lb; lb = elm_label_add(window); elm_label_label_set(lb, "0"); evas_object_size_hint_weight_set(lb, 0.0, 1.0); evas_object_size_hint_align_set(lb, 0.5, 0.5); elm_box_pack_end(bx2, lb); evas_object_show(lb); write_stat = lb; if (number) { Data_Contact *ctc = data_contact_by_tel_find(number); if (ctc) { char *name, *file; elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } } elm_box_pack_end(bx, bx2); evas_object_show(bx2); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(bx, sc); en = elm_entry_add(window); if (text) elm_entry_entry_set(en, text); else elm_entry_entry_set(en, ""); evas_object_size_hint_weight_set(en, 1.0, 1.0); evas_object_size_hint_align_set(en, -1.0, -1.0); elm_scroller_content_set(sc, en); evas_object_smart_callback_add(en, "changed", on_edit, NULL); evas_object_show(en); evas_object_show(sc); sms_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "Send"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_send, NULL); evas_object_show(bt); elm_box_pack_end(box, bx); evas_object_show(bx); }
static void on_trash(void *data, Evas_Object *obj, void *event_info) { Evas_Object *sc, *bx2; Eina_List *l, *mlist = NULL; int from, num, i; if (content) evas_object_del(content); sc = elm_scroller_add(window); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, -1.0); elm_box_pack_end(box, sc); evas_object_show(sc); content = sc; bx2 = elm_box_add(window); evas_object_size_hint_weight_set(bx2, 1.0, 0.0); evas_object_size_hint_align_set(bx2, -1.0, -1.0); elm_scroller_content_set(sc, bx2); evas_object_show(bx2); tzset(); for (l = (Eina_List *)data_message_all_list(); l; l = l->next) { // FIXME: use filter mlist = eina_list_append(mlist, l->data); } // sort newest first mlist = eina_list_sort(mlist, eina_list_count(mlist), _sort_msg_newest); // FIXME: from and num are inputs from = 0; // from message # 0 num = 50; // 50 messages max; for (l = mlist, i = 0; l; l = l->next, i++) { Data_Message *msg = l->data; if (!(msg->flags & DATA_MESSAGE_TRASH)) continue; if (i >= from) { if (i == from) { if (l->prev) { // FIXME: add a "newer" button } } Evas_Object *msgui = _create_message(window, msg); elm_box_pack_end(bx2, msgui); evas_object_show(msgui); } if (i >= (from + num - 1)) { if (l->next) { // FIXME: add a "older" button } break; } } eina_list_free(mlist); }
static void on_contact_select(void *data, Evas_Object *obj, void *event_info) { Data_Contact *ctc = data; if (!ctc) { Evas_Object *win, *bx, *bt, *sc, *en; win = window; inwin2 = elm_win_inwin_add(win); elm_object_style_set(inwin2, "minimal_vertical"); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); sc = elm_scroller_add(win); elm_scroller_content_min_limit(sc, 0, 1); evas_object_size_hint_weight_set(sc, 1.0, 1.0); evas_object_size_hint_align_set(sc, -1.0, 0.5); elm_box_pack_end(bx, sc); en = elm_entry_add(win); elm_entry_single_line_set(en, 1); elm_entry_entry_set(en, "Enter number..."); evas_object_size_hint_weight_set(en, 1.0, 0.0); evas_object_size_hint_align_set(en, -1.0, 0.0); elm_entry_select_all(en); elm_scroller_content_set(sc, en); evas_object_show(en); evas_object_show(sc); number_entry = en; bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); elm_object_focus(en); } else if (eina_list_count(ctc->tel.numbers) > 1) { Evas_Object *win, *bx, *bx2, *bt, *li, *fr, *ph, *lb; Eina_List *l; char *name, *file; win = window; inwin2 = elm_win_inwin_add(win); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, 1.0, 0.0); evas_object_size_hint_align_set(bx, -1.0, -1.0); fr = elm_frame_add(win); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); elm_frame_label_set(fr, name); free(name); } evas_object_size_hint_weight_set(fr, 1.0, 0.0); evas_object_size_hint_align_set(fr, -1.0, -1.0); elm_box_pack_end(bx, fr); evas_object_show(fr); bx2 = elm_box_add(win); elm_box_horizontal_set(bx2, 1); elm_frame_content_set(fr, bx2); evas_object_show(bx2); ph = elm_photo_add(win); file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); elm_photo_file_set(ph, file); free(file); } evas_object_size_hint_weight_set(ph, 0.0, 0.0); evas_object_size_hint_align_set(ph, -1.0, -1.0); elm_box_pack_end(bx2, ph); evas_object_show(ph); lb = elm_label_add(win); elm_label_label_set(lb, "This contact has multiple<br>" "numbers. Select one."); evas_object_size_hint_weight_set(lb, 1.0, 0.0); evas_object_size_hint_align_set(lb, -1.0, -1.0); elm_box_pack_end(bx2, lb); evas_object_show(lb); li = elm_list_add(win); evas_object_size_hint_weight_set(li, 1.0, 1.0); evas_object_size_hint_align_set(li, -1.0, -1.0); elm_box_pack_end(bx, li); for (l = (Eina_List *)(ctc->tel.numbers); l; l = l->next) { Data_Contact_Tel *tel = l->data; // FIXME: // tel->flags can be 0 or more of: // DATA_CONTACT_TEL_HOME = (1 << 0), // DATA_CONTACT_TEL_MSG = (1 << 1), // DATA_CONTACT_TEL_WORK = (1 << 2), // DATA_CONTACT_TEL_PREF = (1 << 3), // DATA_CONTACT_TEL_VOICE = (1 << 4), // DATA_CONTACT_TEL_FAX = (1 << 5), // DATA_CONTACT_TEL_CELL = (1 << 6), // DATA_CONTACT_TEL_VIDEO = (1 << 7), // DATA_CONTACT_TEL_PAGER = (1 << 8), // DATA_CONTACT_TEL_BBS = (1 << 9), // DATA_CONTACT_TEL_MODEM = (1 << 10), // DATA_CONTACT_TEL_CAR = (1 << 11), // DATA_CONTACT_TEL_ISDN = (1 << 12), // DATA_CONTACT_TEL_PCS = (1 << 13) elm_list_item_append(li, tel->number, NULL, NULL, on_number_select, tel); } elm_list_go(li); evas_object_show(li); bt = elm_button_add(window); elm_button_label_set(bt, "OK"); evas_object_size_hint_weight_set(bt, 1.0, 0.0); evas_object_size_hint_align_set(bt, -1.0, -1.0); elm_box_pack_end(bx, bt); evas_object_smart_callback_add(bt, "clicked", on_number_list_ok, NULL); evas_object_show(bt); elm_win_inwin_content_set(inwin2, bx); evas_object_show(bx); elm_win_inwin_activate(inwin2); } else { Data_Contact_Tel *tel; char *name, *file; tel = ctc->tel.numbers->data; if (number) free(number); number = strdup(tel->number); elm_label_label_set(write_lb, number); name = data_contact_name_get(ctc); if (name) { elm_label_label_set(write_lb, name); free(name); } file = data_contact_photo_file_get(ctc); if (file) { elm_photo_file_set(write_ph, file); free(file); } } }
static void _account_set_cb(void *data, Evas_Object *obj, void *event_info) { Evas_Object *fr, *tb, *inwin, *lbl, *sc, *text, *bt, *hbox, *img, *entry; char buf[PATH_MAX]; inwin = elm_win_inwin_add(enlil_data->win->win); set_account.inwin = inwin; evas_object_show(inwin); fr = elm_frame_add(enlil_data->win->win); elm_frame_label_set(fr, D_("Set the Flick account.")); evas_object_size_hint_weight_set(fr, 1.0, 1.0); evas_object_size_hint_align_set(fr, 0.0, 0.0); evas_object_show(fr); tb = elm_table_add(enlil_data->win->win); elm_table_padding_set(tb, 10, 10); evas_object_size_hint_weight_set(tb, 1.0, 1.0); evas_object_size_hint_align_set(tb, -1.0, -1.0); evas_object_show(tb); //steps lbl = elm_label_add(enlil_data->win->win); elm_label_label_set( lbl, D_("<b>STEP 1 :</b> Open the web page in your favorite web browser.")); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 0, 2, 1); entry = elm_scrolled_entry_add(enlil_data->win->win); elm_scrolled_entry_single_line_set(entry, EINA_TRUE); elm_scrolled_entry_entry_set(entry, enlil_flickr_auth_url_get()); evas_object_size_hint_weight_set(entry, 1.0, 0.0); evas_object_size_hint_align_set(entry, -1.0, 0.0); evas_object_show(entry); elm_table_pack(tb, entry, 0, 1, 2, 1); img = elm_image_add(obj); elm_image_file_set(img, Theme, "flickr/set_account_0"); evas_object_size_hint_weight_set(img, 1.0, 1.0); evas_object_size_hint_align_set(img, -1.0, -1.0); evas_object_show(img); elm_table_pack(tb, img, 0, 2, 2, 1); snprintf( buf, PATH_MAX, D_("<b>STEP 2 :</b> Authorize Enki to access to your account.")); lbl = elm_label_add(enlil_data->win->win); elm_label_label_set(lbl, buf); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 3, 2, 1); img = elm_image_add(obj); elm_image_file_set(img, Theme, "flickr/set_account_1"); evas_object_size_hint_weight_set(img, 0.0, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(img, -1.0, -1.0); evas_object_show(img); elm_table_pack(tb, img, 0, 4, 2, 1); snprintf( buf, PATH_MAX, D_("<b>STEP 3 :</b> Copy the code in the followed text area.")); lbl = elm_label_add(enlil_data->win->win); elm_label_label_set(lbl, buf); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 5, 2, 1); // lbl = elm_label_add(enlil_data->win->win); elm_label_label_set(lbl, D_("The 9-digit code : ")); evas_object_size_hint_weight_set(lbl, 0.0, 0.0); evas_object_size_hint_align_set(lbl, -1.0, 0.0); evas_object_show(lbl); elm_table_pack(tb, lbl, 0, 6, 1, 1); sc = elm_scroller_add(enlil_data->win->win); evas_object_size_hint_weight_set(sc, 1.0, 0.0); evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_scroller_content_min_limit(sc, EINA_FALSE, EINA_TRUE); elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF); elm_scroller_bounce_set(sc, 0, 0); evas_object_show(sc); elm_table_pack(tb, sc, 1, 6, 1, 1); text = elm_entry_add(enlil_data->win->win); set_account.entry = text; elm_entry_entry_set(text, ""); elm_entry_single_line_set(text, 1); evas_object_size_hint_weight_set(text, EVAS_HINT_EXPAND, 1.0); evas_object_size_hint_align_set(text, 1.0, 0.5); elm_scroller_content_set(sc, text); evas_object_show(text); hbox = elm_box_add(enlil_data->win->win); elm_box_horizontal_set(hbox, 1); evas_object_size_hint_weight_set(hbox, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(hbox, 1.0, 0.0); evas_object_show(hbox); elm_table_pack(tb, hbox, 1, 7, 1, 1); bt = elm_button_add(enlil_data->win->win); elm_button_label_set(bt, D_("Cancel")); evas_object_smart_callback_add(bt, "clicked", _account_set_cancel_cb, NULL); evas_object_size_hint_align_set(bt, 1.0, 0.0); evas_object_show(bt); elm_box_pack_end(hbox, bt); bt = elm_button_add(enlil_data->win->win); elm_button_label_set(bt, D_("Apply")); evas_object_smart_callback_add(bt, "clicked", _account_set_apply_cb, text); evas_object_size_hint_align_set(bt, 1.0, 0.0); evas_object_show(bt); elm_box_pack_end(hbox, bt); elm_object_disabled_set(bt, EINA_TRUE); evas_object_smart_callback_add(text, "changed", _account_set_entry_changed_cb, bt); elm_frame_content_set(fr, tb); elm_win_inwin_content_set(inwin, fr); }
void Scroller::setContent (Evasxx::Object &child) { elm_scroller_content_set (o, child.obj ()); }