summaryrefslogtreecommitdiff
path: root/lib/list/ct-list-contact-view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/list/ct-list-contact-view.cpp')
-rwxr-xr-xlib/list/ct-list-contact-view.cpp1264
1 files changed, 0 insertions, 1264 deletions
diff --git a/lib/list/ct-list-contact-view.cpp b/lib/list/ct-list-contact-view.cpp
deleted file mode 100755
index 6cd06ea..0000000
--- a/lib/list/ct-list-contact-view.cpp
+++ /dev/null
@@ -1,1264 +0,0 @@
-/*
- * Copyright 2012 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
-#include <string.h>
-#include <ui-gadget-module.h>
-
-#include "phone.h"
-#include "ct-detail.h"
-#include "ct-list.h"
-#include "ct-list-utils.h"
-#include "ct-list-view-ug.h"
-#include "ct-list-edit-view.h"
-#include "ct-list-contact-view.h"
-#include "ct-group.h"
-#include "ct-list.h"
-#include "phone-common.h"
-
-static void __list_insert_records(ct_list_data *clist_d);
-
-API void ctui_list_new_btn_clicked_cb(void *data,
- Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ct_detail_data *cdetail_d = NULL;
- ph_view_info *view_info = NULL;
-
- assert(clist_d);
- p_ret_if(!clist_d);
-
- switch (clist_d->ug_request)
- {
- //case PH_UG_REQUEST_SET_WITH_NUM:
- //case PH_UG_REQUEST_SET_WITH_EMAIL:
- //case PH_UG_REQUEST_SET_WITH_WEB:
- case PH_UG_REQUEST_SET_WITH_IMG:
- case PH_UG_REQUEST_SET_WITH_RINGTONE:
- case CT_UG_REQUEST_UPDATE_CONTACT:
- case CT_UG_REQUEST_UPDATE_WITH_NUM:
- case CT_UG_REQUEST_UPDATE_WITH_EMAIL:
- case CT_UG_REQUEST_UPDATE_WITH_WEB:
- case CT_UG_REQUEST_SAVE_IMG:
- case CT_UG_REQUEST_SAVE_RINGTONE:
- view_info = (ph_view_info *) calloc(1, sizeof(ph_view_info));
- phone_set_view_info(view_info, clist_d->win, clist_d->navi,
- clist_d->ug, clist_d->ug_request, clist_d->cnt_max_check,
- clist_d->ug_data);
- ctui_list_update_with_data(view_info, clist_d, 0, clist_d->base_grp,
- clist_d->base_ab);
- free(view_info);
- break;
- default:
-
- // hide sweeped item
- Elm_Object_Item *lastItem = clist_d->last_sweep_item;
-
- if (NULL != lastItem)
- {
- elm_genlist_item_decorate_mode_set(lastItem, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(lastItem, ELM_OBJECT_SELECT_MODE_DEFAULT);
- clist_d->last_sweep_item = NULL;
- }
-
- cdetail_d = (ct_detail_data *) calloc(1, sizeof(ct_detail_data));
- p_retm_if(!cdetail_d, "cdetail_d is NULL, Not enough memory");
-
- ctui_ld_to_dd(clist_d, cdetail_d);
-
- if (0 < cdetail_d->base_ab)
- {
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- char temp[PH_TEXT_MAX_LEN + 1];
-
- err = contacts_db_get_record(_contacts_address_book._uri,
- cdetail_d->base_ab, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_record_get() Failed(%d)", err);
-
- err = contacts_record_get_int(record,
- _contacts_address_book.mode,
- &(cdetail_d->base_ab_mode));
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_get_int() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err,
- "contacts_record_destroy() Failed(%d)", err);
-
- temp[0] = '\0';
- ctui_get_addressbook_name(cdetail_d->base_ab, temp,
- sizeof(temp));
- if (*temp)
- cdetail_d->base_ab_name = strdup(temp);
- }
- else if (0 == cdetail_d->base_ab)
- {
- cdetail_d->base_ab_mode = CONTACTS_ADDRESS_BOOK_MODE_NONE;
- cdetail_d->base_ab_name = strdup(
- T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE));
- }
- cdetail_d->only_input = true;
- ctui_create_input_view(cdetail_d);
-
- break;
- }
-}
-
-static void list_popup_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>( data );
- if (NULL != clist_d->popup)
- {
- evas_object_del(clist_d->popup);
- clist_d->popup = NULL;
- }
- elm_object_tree_focus_allow_set(clist_d->navi, EINA_TRUE);
- }
-}
-
-static void list_menu_hide_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data *clist_d = static_cast<ct_list_data*>( data );
- if (NULL != clist_d->m_Menu)
- {
- evas_object_del(clist_d->m_Menu);
- clist_d->m_Menu = NULL;
- }
- elm_object_tree_focus_allow_set(clist_d->navi, EINA_TRUE);
- }
-}
-
-static void list_remove_member_button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d->navi_item, "parameter(navi_item) is NULL");
-
- list_menu_hide_cb(data, NULL, NULL);
- clist_d->view_id = CT_LIST_MULTI_REMOVE_MEMBER;
-
- if (clist_d->genlist)
- elm_object_focus_set(clist_d->genlist, EINA_TRUE);
- if (!clist_d->ug)
- ctui_list_edit_mode_start(clist_d);
-}
-
-static void list_ab_popup_view_button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int selected_id;
- Evas_Object *popup;
- Evas_Object *genlist;
- Evas_Object *radio_main;
- ct_list_data *clist_d = (ct_list_data *) data;
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
-
- popup = clist_d->popup;
- p_retm_if(NULL == clist_d, "popup is NULL");
-
- genlist = elm_object_content_get(popup);
- p_retm_if(NULL == genlist, "elm_object_content_get() is NULL");
-
- radio_main = (Evas_Object *) evas_object_data_get(genlist, "radio_main");
- p_retm_if(NULL == radio_main, "evas_object_data_get() is NULL");
-
- selected_id = elm_radio_value_get(radio_main);
-
- if (clist_d->list_op != CT_GET_LIST_ALL_PERSON && selected_id == -1)
- {
- clist_d->list_op = CT_GET_LIST_ALL_PERSON;
- clist_d->base_ab = -1;
- }
- else if (clist_d->base_ab != selected_id)
- {
- clist_d->list_op = CT_GET_LIST_PERSON_OF_ADDRBOOK_ID;
- clist_d->base_ab = selected_id;
- }
-
- ctui_set_view_mode(clist_d->base_ab);
- ctui_list_genlist_update(clist_d);
-
- list_popup_hide_cb(data, NULL, NULL);
-}
-
-static void list_ab_popup_cancel_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- list_popup_hide_cb(data, NULL, NULL);
-}
-
-static void list_ab_popup_sel(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- Evas_Object *genlist;
- Evas_Object *radio_main;
- Elm_Object_Item *item = (Elm_Object_Item *) event_info;
- ct_ab_popup_data *ab_popup_data;
-
- elm_genlist_item_selected_set(item, EINA_FALSE);
-
- genlist = elm_object_item_widget_get(item);
- p_retm_if(NULL == genlist, "elm_object_item_widget_get() return NULL");
-
- ab_popup_data = (ct_ab_popup_data *) elm_object_item_data_get(item);
- p_retm_if(NULL == ab_popup_data, "elm_object_item_data_get() return NULL");
-
- radio_main = (Evas_Object *) evas_object_data_get(genlist, "radio_main");
- p_retm_if(NULL == radio_main, "evas_object_data_get() return NULL");
-
- elm_radio_value_set(radio_main, ab_popup_data->id);
-}
-
-static void list_view_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
-
- list_popup_hide_cb(data, NULL, NULL);
-
- Evas_Object *popup = NULL;
- popup = ctui_addrbook_popup(clist_d->win, list_ab_popup_sel, clist_d, CT_AB_POPUP_TYPE_LIST_VIEW);
- p_retm_if(NULL == popup, "ctui_addrbook_popup() return NULL");
- elm_object_part_text_set(popup, "title,text", T_(PH_GET_TEXT_BASIC, PHTEXT_CONTACTS_MENU_CONTACTS_TO_DISPLAY));
- clist_d->popup = popup;
-
- Evas_Object *btnOK = NULL;
- btnOK = elm_button_add(popup);
- p_retm_if(NULL == btnOK, "elm_button_add() return NULL");
- elm_object_text_set(btnOK, S_(PH_SYS_SK_OK));
- elm_object_part_content_set(popup, "button1", btnOK);
- elm_object_style_set(btnOK, "popup_button/default");
- evas_object_smart_callback_add(btnOK, "clicked", list_ab_popup_view_button_cb, clist_d);
-
- Evas_Object *btnCancel = NULL;
- btnCancel = elm_button_add(popup);
- p_retm_if(NULL == btnCancel, "elm_button_add() return NULL");
- elm_object_text_set(btnCancel, S_(PH_SYS_SK_CANCEL));
- elm_object_part_content_set(popup, "button2", btnCancel);
- elm_object_style_set(btnCancel, "popup_button/default");
- evas_object_smart_callback_add(btnCancel, "clicked", list_ab_popup_cancel_button_cb, clist_d);
- }
-}
-
-static void list_add_button_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- evas_object_data_set(clist_d->navi, "navi_it_pop", clist_d->navi_item);
- ctui_create_gadd_list_select_view(clist_d->win, clist_d->navi,
- clist_d->base_grp, clist_d->base_ab, &clist_d->list, true);
-}
-
-static bool list_load_vcard_foreach_cb(contacts_record_h record, void *data)
-{
- PH_TRACE;
- int err;
- ph_progress_info *p_info;
- ct_list_data *clist_d = (ct_list_data *) data;
- contacts_record_h record_clone = NULL;
-
- p_retvm_if(NULL == clist_d, -1, "parameter(clist_d) is NULL");
-
- p_info = clist_d->p_info;
- p_retvm_if(NULL == p_info, -1, "clist_d->p_info is NULL");
-
- PH_DBG("list_load_vcard_foreach_cb total_cnt %d",
- clist_d->cnt_import_total);
-
- if (!p_info->alive)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- return false;
- }
-
- err = contacts_record_clone(record, &record_clone);
- if (CONTACTS_ERROR_NONE != err)
- {
- ERR("contacts_record_clone() Failed(%d)", err);
- return false;
- }
- clist_d->list_import_records = eina_list_append(
- clist_d->list_import_records, record_clone);
- clist_d->cnt_import_total++;
-
- return true;
-}
-
-static PTHREAD_FN list_load_vcard_contacts_thread_fn(void* data)
-{
- PH_TRACE;
- int err = CONTACTS_ERROR_NONE;
- ct_list_data *clist_d = (ct_list_data *) data;
- char *last = NULL;
- const char *path = NULL;
- ph_progress_info *p_info = clist_d->p_info;
-
- err = contacts_connect2();
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_connect2() Failed(%d)",
- err);
-
- path = (const char *) strtok_r((char *) clist_d->vcard_path, "?", &last);
- while (path)
- {
- err = contacts_vcard_parse_to_contact_foreach(path,
- list_load_vcard_foreach_cb, clist_d);
- if (CONTACTS_ERROR_NONE != err)
- {
- p_info->result = FALSE;
- ERR("contacts_svc_vcard_foreach() Failed(%d)", p_info->result);
- break;
- }
- path = strtok_r(NULL, "?", &last);
- }
-
- p_info->next_job = true;
-
- contacts_disconnect2();
-
- pthread_exit(NULL);
-}
-
-static void __list_insert_records_cb(int err, int *ids, unsigned int count,
- void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- contacts_error_e _err = CONTACTS_ERROR_NONE;
-
- PH_DBG("err %d", err);
-
- if (CONTACTS_ERROR_NONE != err)
- {
- if (clist_d->p_info)
- {
- clist_d->p_info->completed = true;
- clist_d->p_info->alive = false;
- clist_d->p_info->result = false;
- }
- return;
- }
-
- _err = (contacts_error_e) contacts_list_destroy(clist_d->import_list, true);
- p_retm_if(CONTACTS_ERROR_NONE != _err, "contacts_list_destroy() Failed(%d)",
- _err);
-
- PH_DBG("__list_insert_records_cb total count %d, count %d",
- clist_d->cnt_import_total, clist_d->cnt_import);
-
- if (clist_d->p_info)
- {
- if (!clist_d->p_info->alive)
- {
- clist_d->p_info->result = FALSE;
- clist_d->p_info->completed = true;
- return;
- }
- }
- else
- return;
-
- if (clist_d->cnt_import == clist_d->cnt_import_total)
- {
- if (clist_d->p_info)
- {
- clist_d->p_info->completed = true;
- clist_d->p_info->alive = false;
- clist_d->p_info->result = true;
- }
- return;
- }
-
- __list_insert_records(clist_d);
-}
-
-static void __list_insert_records(ct_list_data *clist_d)
-{
- PH_TRACE;
- const int LIST_BULK_LENGTH = 50;
- Eina_List *l;
- int err = CONTACTS_ERROR_NONE;
- void *v_record_temp = NULL;
-
- err = contacts_list_create(&clist_d->import_list);
- p_retm_if(CONTACTS_ERROR_NONE != err, "contacts_list_create() Failed(%d)",
- err);
-
- EINA_LIST_FOREACH(clist_d->list_import_records, l, v_record_temp)
- {
- contacts_record_h record_temp = (contacts_record_h) v_record_temp;
- err = contacts_list_add(clist_d->import_list, record_temp);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_list_add() Failed(%d) count %d",
- err, clist_d->cnt_import);
- clist_d->list_import_records = eina_list_remove_list(
- clist_d->list_import_records, l);
-
- clist_d->cnt_import++;
-
- if ((clist_d->cnt_import % LIST_BULK_LENGTH) == 0)
- break;
- }
- err = contacts_db_insert_records_async(clist_d->import_list,
- __list_insert_records_cb, clist_d);
- p_retm_if(CONTACTS_ERROR_NONE != err,
- "contacts_db_insert_records_async() Failed(%d)", err);
- ctui_create_contacts_error_popup(clist_d->navi, err);
-}
-
-static Eina_Bool list_load_vcard_timer_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info;
-
- p_retvm_if(NULL == clist_d, ECORE_CALLBACK_CANCEL,
- "parameter(clist_d) is NULL");
- p_info = clist_d->p_info;
-
- if (p_info->next_job)
- {
- pthread_join(p_info->thread, NULL);
- __list_insert_records(clist_d);
- p_info->next_job = false;
- }
-
- if (!p_info->alive && !p_info->completed)
- {
- p_info->result = FALSE;
- p_info->completed = true;
- }
-
- if (!p_info->completed)
- {
- return ECORE_CALLBACK_RENEW;
- }
- else
- {
- Eina_List *l;
- void *v_record = NULL;
- const char *message;
-
- pthread_join(p_info->thread, NULL);
-
- if (p_info->result)
- message = T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTED);
- else
- message = S_(PH_SYS_POP_FAILED);
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
- phone_show_tickernoti(message);
-
- EINA_LIST_FOREACH(clist_d->list_import_records, l, v_record)
- {
- contacts_record_h record = (contacts_record_h) v_record;
- contacts_record_destroy(record, true);
- }
- eina_list_free(clist_d->list_import_records);
-
- free(p_info);
- clist_d->p_info = NULL;
-
- return ECORE_CALLBACK_CANCEL;
- }
-}
-
-static void list_add_all_contacts_button_cb(void *data, Evas_Object *obj,
- void *event_info)
-{
- PH_TRACE;
- int ret;
- ct_list_data *clist_d = (ct_list_data *) data;
- ph_progress_info *p_info;
-
- p_info = (ph_progress_info *) calloc(1, sizeof(ph_progress_info));
- if (NULL == p_info)
- {
- ERR("calloc() return NULL");
- elm_exit();
- }
-
- clist_d->p_info = p_info;
- clist_d->list = NULL;
- clist_d->cnt_import_total = 0;
- clist_d->cnt_import = 0;
-
- p_info->cnt = 0;
- p_info->alive = true;
- p_info->result = TRUE;
- p_info->completed = false;
-
- ret = pthread_create(&p_info->thread, NULL,
- list_load_vcard_contacts_thread_fn, clist_d);
- if (0 != ret)
- {
- ERR("Thread creation failed(%d)", ret);
- free(p_info);
- clist_d->p_info = NULL;
- elm_exit();
- }
- p_info->timer = ecore_timer_add(0.5, list_load_vcard_timer_cb, clist_d);
- if (NULL == p_info->timer)
- {
- ERR("ecore_timer_add() return NULL");
-
- p_info->alive = false;
- pthread_join(p_info->thread, NULL);
-
- free(p_info);
- clist_d->p_info = NULL;
- elm_exit();
- }
- clist_d->popup = phone_progressbar_popup(clist_d->win, p_info,
- T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTING_SD_CONTACTS));
-}
-
-static void list_message_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int list_op;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- list_menu_hide_cb(clist_d, NULL, NULL);
-
- p_retm_if(NULL == evas_object_data_get(clist_d->navi, "cgroup_d"),
- "evas_object_data_get() return NULL");
-
- if (-1 == clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_ADDRBOOK_ID;
- else if (clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_NUMBER_OF_GROUP_ID;
- else
- list_op = CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_NUMBER_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(clist_d->navi, phone_group_message_result_cb,
- evas_object_data_get(clist_d->navi, "cgroup_d"), list_op,
- clist_d->base_ab, clist_d->base_grp, 0);
-}
-
-static void list_email_btn_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- int list_op;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- list_menu_hide_cb(clist_d, NULL, NULL);
-
- p_retm_if(NULL == evas_object_data_get(clist_d->navi, "cgroup_d"),
- "evas_object_data_get() return NULL");
-
- if (-1 == clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_ADDRBOOK_ID;
- else if (clist_d->base_grp)
- list_op = CT_GET_LIST_PERSON_HAD_EMAIL_OF_GROUP_ID;
- else
- list_op = CT_GET_LIST_PERSON_NOT_ASSIGNED_HAD_EMAIL_OF_ADDRBOOK_ID;
-
- ctui_create_list_select_view(clist_d->navi, phone_group_email_result_cb,
- evas_object_data_get(clist_d->navi, "cgroup_d"), list_op,
- clist_d->base_ab, clist_d->base_grp, 0);
-}
-
-static Evas_Object* ct_send_message_email_create_popup(ct_list_data* clist_d)
-{
- PH_TRACE;
- Evas_Object* popup = elm_popup_add(clist_d->navi);
- p_retvm_if(NULL == popup, NULL, "popup add failed");
- elm_object_part_text_set(popup, TITLE_TEXT, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_MESSAGE_EMAIL));
-
- if(!phone_popup_add_button(popup, S_(PH_SYS_SK_CANCEL), NULL, clist_d))
- {
- evas_object_del(popup);
- return NULL;
- }
-
- elm_object_style_set(popup, "content_no_vhpad");
- evas_object_show(popup);
- return popup;
-}
-
-static char* ct_send_message_email_gen_it_text_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- p_retvm_if(NULL == data, NULL, "data is null");
- return strdup((char*)data);
-}
-
-static void ct_send_message_email_cb(void *data, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is null");
- ct_list_data* clist_d = (ct_list_data*)data;
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
-
- clist_d->popup = ct_send_message_email_create_popup(clist_d);
- p_retm_if(NULL == clist_d->popup, "popup is null");
-
- Evas_Object* genlist = elm_genlist_add(clist_d->popup);
- if(NULL == genlist)
- {
- ERR("genlist is null");
- list_popup_hide_cb(data, NULL, NULL);
- return;
- }
- elm_object_content_set(clist_d->popup, genlist);
-
- Elm_Genlist_Item_Class* itc = elm_genlist_item_class_new();
- itc->item_style = "1text/popup";
- itc->func.text_get = ct_send_message_email_gen_it_text_get;
-
- Elm_Object_Item* item = elm_genlist_item_append(genlist, itc, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_MESSAGE),
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
-
- item = elm_genlist_item_append(genlist, itc, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_EMAIL),
- NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
- elm_object_item_disabled_set(item, EINA_TRUE);
-
- elm_genlist_item_class_free(itc);
-}
-
-static void ctui_list_more_btn_clicked_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
-
- // hide sweeped view
- Elm_Object_Item *lastItem = clist_d->last_sweep_item;
-
- if (NULL != lastItem)
- {
- elm_genlist_item_decorate_mode_set(lastItem, "slide", EINA_FALSE);
- elm_genlist_item_select_mode_set(lastItem, ELM_OBJECT_SELECT_MODE_DEFAULT);
- clist_d->last_sweep_item = NULL;
- }
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
-
- clist_d->m_Menu = elm_ctxpopup_add(clist_d->navi);
- if (clist_d->m_Menu)
- {
- int rotate = (int) evas_object_data_get(clist_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(clist_d->m_Menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
- evas_object_smart_callback_add(clist_d->popup, "dismissed", list_menu_hide_cb, clist_d);
-
- if (clist_d->list)
- {
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY != clist_d->base_ab_mode)
- {
- elm_ctxpopup_item_append(clist_d->m_Menu, S_(PH_SYS_SK_DELETE), NULL, ct_list_edit_cb, clist_d);
-
- Elm_Object_Item* menu_item = NULL;
-
- menu_item = elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_IMPORT_EXPORT), NULL, NULL, clist_d);
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- menu_item = elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_ACCOUNTS), NULL, NULL, clist_d);
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_SEND_MESSAGE_EMAIL), NULL, ct_send_message_email_cb, clist_d);
- menu_item = elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_CONTACTS_MENU_CONTACTS_TO_DISPLAY), NULL, list_view_button_cb, clist_d);
-
- if (NULL != menu_item)
- {
- unsigned int acc_cnt = 1;
- contacts_list_h list = NULL;
- const unsigned int MIN_NUMBER_OF_ADDRESSBOOKS = 2;
- int err = CONTACTS_ERROR_NONE;
- err = contacts_db_get_all_records(_contacts_address_book._uri, 0, 0, &list);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_db_get_all_records() Failed(%d)", err);
- err = contacts_list_get_count(list, &acc_cnt);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_list_get_count() Failed(%d)", err);
- err = contacts_list_destroy(list, true);
- if (CONTACTS_ERROR_NONE != err)
- ERR("contacts_list_destroy() Failed(%d)", err);
-
- if (acc_cnt < MIN_NUMBER_OF_ADDRESSBOOKS)
- {
- elm_object_item_disabled_set(menu_item, EINA_TRUE);
- }
- }
- }
-
- elm_ctxpopup_item_append(clist_d->m_Menu, T_(PH_GET_TEXT_BASIC, PHTEXT_CONTACTS_MENU_SETTINGS), NULL, ct_list_settings_cb, clist_d);
- }
-
- int x, y, w, h;
- evas_object_geometry_get(clist_d->navi, &x, &y, &w, &h);
- evas_object_move(clist_d->m_Menu, 0, y + h);
- evas_object_show(clist_d->m_Menu);
- }
- else
- {
- ERR("ctui_list_more_btn_clicked_cb failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
-}
-
-static void list_more_button_cb(void *data)
-{
- PH_TRACE;
- assert(data);
- if (NULL != data)
- {
- ct_list_data* clist_d = static_cast<ct_list_data*>(data);
-
- list_popup_hide_cb(data, NULL, NULL);
- list_menu_hide_cb(data, NULL, NULL);
-
- clist_d->m_Menu = elm_ctxpopup_add(clist_d->navi);
- if (NULL != clist_d->m_Menu)
- {
- int rotate = (int) evas_object_data_get(clist_d->navi, "phone_rotate");
- if (0 == rotate || 180 == rotate)
- elm_ctxpopup_direction_priority_set(clist_d->m_Menu, ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_UP, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT);
-
- evas_object_smart_callback_add(clist_d->m_Menu, "dismissed", list_menu_hide_cb, clist_d);
-
- elm_ctxpopup_item_append(clist_d->m_Menu, S_(PH_SYS_BODY_MESSAGE), NULL, list_message_btn_cb, clist_d);
- elm_ctxpopup_item_append(clist_d->m_Menu, T_(CT_GET_TEXT_BASIC ,CTTEXT_EMAIL), NULL, list_email_btn_cb, clist_d);
- elm_ctxpopup_item_append(clist_d->m_Menu, S_(PH_SYS_BODY_REMOVE), NULL, list_remove_member_button_cb, clist_d);
-
- int x, y, w, h;
- evas_object_geometry_get(clist_d->navi, &x, &y, &w, &h);
- evas_object_move(clist_d->m_Menu, 0, y + h);
- evas_object_show(clist_d->m_Menu);
- }
- else
- {
- ERR("list_more_button_cb failed: %s", "elm_ctxpopup_add() return NULL");
- }
- }
-}
-
-static void list_navi_item_update(void *data)
-{
- PH_TRACE;
- Evas_Object *new_button;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- p_retm_if(NULL == clist_d, "parameter(clist_d) is NULL");
- new_button = (Evas_Object *) evas_object_data_get(clist_d->navi, "new_button");
-
- if (!clist_d->ug)
- {
- if (new_button)
- {
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == clist_d->base_ab_mode)
- elm_object_disabled_set(new_button, EINA_TRUE);
- else
- elm_object_disabled_set(new_button, EINA_FALSE);
- }
- if (NULL == clist_d->list)
- {
- clist_d->menu_cb = NULL;
- }
- else
- {
- clist_d->menu_cb = ctui_list_more_btn_clicked_cb;
- }
- }
-}
-
-static void __list_ug_destroy_me_cb(void *data)
-{
- PH_TRACE;
- ct_list_data *clist_d = (ct_list_data *) data;
-
- if (clist_d->service_operation)
- phone_service_reply_simple(clist_d->service_operation,
- SERVICE_RESULT_FAILED);
-
- ug_destroy_me(clist_d->ug);
-}
-
-static Evas_Object *list_create_add_contact_button(Evas_Object *pLayout_search, ct_list_data &clist_d,
- Evas_Smart_Cb click_cb_func)
-{
- PH_TRACE;
- Evas_Object *pAddBtn = elm_object_part_content_get(clist_d.searchbar, "button_add");
- if (!pAddBtn)
- {
- pAddBtn = elm_button_add(pLayout_search);
- if (pAddBtn)
- {
- elm_object_part_content_set(pLayout_search, "button_add", pAddBtn);
- elm_object_style_set(pAddBtn, "plus");
- evas_object_size_hint_weight_set(pAddBtn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_smart_callback_add(pAddBtn, "clicked", click_cb_func, &clist_d);
- evas_object_data_set(clist_d.searchbar, "add_button", pAddBtn);
- evas_object_show(pAddBtn);
-
- Evas_Object *icon = elm_icon_add(pLayout_search);
- elm_icon_standard_set(icon, PH_IMG_ICON_ADD);
- elm_object_part_content_set(pAddBtn, "icon", icon);
- }
- }
- return pAddBtn;
-}
-
-static void list_make_navi(ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "clist_d is NULL");
-
- if (NULL == clist_d->list_navi_item_update_fn)
- clist_d->list_navi_item_update_fn = list_navi_item_update;
-
- phone_navi_item_reset(clist_d->navi_item, clist_d);
- // FIXME : should be rearragned accoring to new UX
- if (CT_GET_LIST_VCARD == clist_d->list_op)
- {
- list_create_add_contact_button(clist_d->searchbar, *clist_d, list_add_all_contacts_button_cb);
- }
- else if (clist_d->navi_item != elm_naviframe_bottom_item_get(clist_d->navi))
- { // from group view
- if (!clist_d->ug)
- {
- if (clist_d->base_grp)
- {
- Evas_Object *add_button = NULL;
- add_button = list_create_add_contact_button(clist_d->searchbar, *clist_d, list_add_button_cb);
-
- if (CONTACTS_ADDRESS_BOOK_MODE_READONLY == clist_d->base_ab_mode)
- elm_object_disabled_set(add_button, EINA_TRUE);
-
- if (clist_d->list)
- {
- clist_d->menu_cb = list_more_button_cb;
- }
- }
- }
- }
- else if (!clist_d->ug ||
- !(PH_UG_REQUEST_LAUNCH_VOICECALL == clist_d->ug_request ||
- CT_UG_REQUEST_LIST_WITH_BACK >= clist_d->ug_request ||
- CT_UG_REQUEST_SELECT_CONTACT_ADD_TO_HOME == clist_d->ug_request ||
- CT_UG_REQUEST_SELECT_GROUP_ADD_TO_HOME == clist_d->ug_request)
- )
- {
-
- Evas_Object *create_button __attribute__ ((unused)) = NULL;
- if (!clist_d->ug)
- {
- if (clist_d->list)
- {
- clist_d->menu_cb = ctui_list_more_btn_clicked_cb;
- }
- }
- create_button = list_create_add_contact_button(clist_d->searchbar, *clist_d, ctui_list_new_btn_clicked_cb);
- if (NULL == clist_d->ug
- || clist_d->ug_request < CT_UG_REQUEST_SELECT_PERSON
- || (CT_UG_REQUEST_UPDATE_CONTACT <= clist_d->ug_request
- && clist_d->ug_request <= CT_UG_REQUEST_UPDATE_WITH_WEB)
- || (CT_UG_REQUEST_SAVE_IMG <= clist_d->ug_request
- && clist_d->ug_request <= CT_UG_REQUEST_SAVE_RINGTONE))
- {
- if (clist_d->ug_request)
- {
- clist_d->back_cb = __list_ug_destroy_me_cb;
- }
- }
- else
- {
- clist_d->back_cb = __list_ug_destroy_me_cb;
- }
- }
-}
-
-static void list_call_btn_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_CALL_PRESS, NULL);
- }
-}
-
-static void list_call_btn_unpressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data && NULL != obj)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_CALL, NULL);
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(evas_object_data_get(obj, "clist_d"));
- elm_genlist_item_select_mode_set(clist_d->last_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- }
-}
-
-static void list_msg_btn_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_MESSAGE_PRESS, NULL);
- }
-}
-
-static void list_msg_btn_unpressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- p_retm_if(NULL == data, "data is NULL");
- if (NULL != data && NULL != obj)
- {
- Evas_Object *icon = NULL;
- icon = static_cast<Evas_Object *>(elm_object_part_content_get((const Evas_Object *) data, "icon"));
- elm_image_file_set(icon, PH_IMG_ICON_MESSAGE, NULL);
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(evas_object_data_get(obj, "clist_d"));
- elm_genlist_item_select_mode_set(clist_d->last_sweep_item, ELM_OBJECT_SELECT_MODE_DEFAULT);
- }
-}
-
-static Evas_Object* list_gl_icon_get(void *data, Evas_Object *obj, const char *part)
-{
- PH_TRACE;
- assert(data);
- assert(obj);
- assert(part);
-
-
- if (NULL != data && NULL != obj && NULL != part)
- {
- ct_person_list *person_info = static_cast<ct_person_list*>(data);
- p_retvm_if(NULL == person_info, NULL, "person_info is NULL");
-
- ct_list_data *clist_d = static_cast<ct_list_data*>(evas_object_data_get(obj, "clist_d"));
-
- if (strcmp(part, "elm.slide.swallow.1") == 0)
- {
- Evas_Object *btn;
-
- if (NULL == person_info->number || '\0' == *person_info->number)
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_DELETE);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
-
- elm_object_style_set(btn, "sweep/delete");
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_propagate_events_set(btn, EINA_FALSE);
- evas_object_smart_callback_add(btn, "clicked", ct_list_sweep_del_cb, (void *) person_info->id);
-
- if (0 == person_info->id)
- elm_object_disabled_set(btn, EINA_TRUE);
- }
- else
- {
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_CALL);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_smart_callback_add(btn, "clicked", ct_list_call, person_info);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN, list_call_btn_pressed_cb, btn);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, list_call_btn_unpressed_cb, btn);
- }
- return btn;
- }
- else if (strcmp(part, "elm.slide.swallow.2") == 0)
- {
- Evas_Object *btn;
-
- if (NULL == person_info->number || '\0' == *person_info->number)
- return NULL;
-
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_MESSAGE);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
-
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_smart_callback_add(btn, "clicked", ct_list_msg, person_info);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_DOWN, list_msg_btn_pressed_cb, btn);
- evas_object_event_callback_add(btn, EVAS_CALLBACK_MOUSE_UP, list_msg_btn_unpressed_cb, btn);
-
- return btn;
- }
- else if (strcmp(part, "elm.slide.swallow.3") == 0)
- {
- Evas_Object *btn;
- btn = phone_create_list_sweep_btn(obj, PH_IMG_ICON_DELETE);
- p_retvm_if(NULL == btn, NULL, "phone_create_list_sweep_btn() return NULL");
-
- elm_object_style_set(btn, "sweep/delete");
- evas_object_data_set(btn, "clist_d", clist_d);
- evas_object_smart_callback_add(btn, "clicked", ct_list_sweep_del_cb, (void *) person_info->id);
-
- if (0 == person_info->id)
- elm_object_disabled_set(btn, EINA_TRUE);
-
- return btn;
- }
- else if (0 == strcmp(part, "elm.icon"))
- {
- int err = CONTACTS_ERROR_NONE;
- contacts_record_h record = NULL;
- Evas_Object *icon;
-
- if (!person_info->img_loaded)
- {
- if (person_info->id)
- {
- err = contacts_db_get_record(_contacts_person._uri, person_info->id, &record);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_db_get_record() Failed(%d)", err);
-
- err = contacts_record_get_str(record, _contacts_person.image_thumbnail_path, &(person_info->img_path));
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_get_str() Failed(%d)", err);
-
- err = contacts_record_destroy(record, true);
- p_warn_if(CONTACTS_ERROR_NONE != err, "contacts_record_destroy() Failed(%d)", err);
- }
- person_info->img_loaded = true;
- }
-
- icon = elm_icon_add(obj);
- if (icon)
- {
- elm_image_prescale_set(icon, CT_LIST_ICON_SIZE);
- if (NULL != person_info->img_path)
- {
- elm_image_file_set(icon, person_info->img_path, NULL);
- }
- else
- {
- elm_image_file_set(icon, IMG_DEFAULT, NULL);
- }
-
- evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
- evas_object_show(icon);
- }
- return icon;
- }
- else if (0 == strcmp(part, "elm.edit.icon.1"))
- {
- Evas_Object *check;
- check = ct_list_edit_add_check(obj, &person_info->checked, clist_d);
- p_retvm_if(NULL == check, NULL, "ct_list_edit_add_check() return NULL");
- evas_object_data_set(check, "person_info", person_info);
- return check;
- }
- }
-
- return NULL;
-}
-
-API void list_create_itcs(ct_list_data *clist_d)
-{
- PH_TRACE;
- assert(clist_d);
- if (NULL != clist_d)
- {
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].decorate_item_style = "mode/slide3";
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM_NO_NUMBER].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM].decorate_item_style = "mode/slide";
- clist_d->itcs[CT_LIST_ITEM].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].decorate_item_style = "mode/slide3";
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH_NO_NUMBER].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM_SEARCH].item_style = "2text.1icon.4.tb";
- clist_d->itcs[CT_LIST_ITEM_SEARCH].decorate_item_style = "mode/slide";
- clist_d->itcs[CT_LIST_ITEM_SEARCH].func.text_get = ct_list_gl_label_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH].func.content_get = list_gl_icon_get;
- clist_d->itcs[CT_LIST_ITEM_SEARCH].decorate_all_item_style = "edit_default";
-
- clist_d->itcs[CT_LIST_ITEM_COUNT].item_style = "1text.1icon.2.tb";
- clist_d->itcs[CT_LIST_ITEM_COUNT].func.text_get = ct_list_count_gl_label_get;
- }
-}
-
-API void ctui_list_navi_set(int mode, ct_list_data *clist_d)
-{
- PH_TRACE;
- p_retm_if(NULL == clist_d, "clist_d is NULL");
- Evas_Object *delete_item = (Evas_Object *) evas_object_data_get(clist_d->navi, "delete_button");
- if(delete_item)
- {
- evas_object_del(delete_item);
- }
- evas_object_data_del(clist_d->navi, "new_button");
- evas_object_data_del(clist_d->navi, "button_add");
- phone_navi_item_reset(clist_d->navi_item, clist_d);
-
- switch (mode)
- {
- case CT_LIST_MODE_DEFAULT:
- list_make_navi(clist_d);
- break;
- case CT_LIST_MODE_EDIT:
- ct_list_edit_make_edit_navi(clist_d);
- if (CT_LIST_MULTI_ADD_MEMBER != clist_d->view_id)
- ctui_navi_btn_disabled_set(clist_d->navi, EINA_TRUE);
- ctui_list_update_selection_info(clist_d);
- break;
- default:
- return;
- }
-}
-
-Evas_Object* ct_list_create_contact_view(ct_list_data *clist_d)
-{
- PH_TRACE;
- list_create_itcs(clist_d);
- clist_d->gl_sel = ct_list_ug_gl_sel;
- clist_d->gl_sel_data = clist_d;
- clist_d->edit_sel_update = ctui_list_update_selection_info;
- return ct_list_create_contact_layout(clist_d);
-}
-
-// Group > Group detail view : In case of UG, it can be check view
-API Evas_Object* ctui_list_create_contact_view_with_info(
- ph_view_info *view_info, int list_op, ct_group_list *info)
-{
- PH_TRACE;
- ct_list_data *clist_d;
- const char *ab_name = NULL;
- char temp[PH_TEXT_MAX_LEN];
-
- p_retv_if(CT_GET_LIST_VCARD == list_op, NULL);
- clist_d = (ct_list_data *) calloc(1, sizeof(ct_list_data));
- p_retvm_if(!clist_d, NULL, "clist_d is NULL, Not enough memory");
-
- clist_d->win = view_info->win;
- clist_d->navi = view_info->navi;
- clist_d->ug = view_info->ug;
- clist_d->ug_data = view_info->ug_data;
- clist_d->ug_request = view_info->ug_request;
- clist_d->base_ab = -1;
-
- switch (clist_d->ug_request)
- {
- //case PH_UG_REQUEST_SELECT_NUMBER:
- //case PH_UG_REQUEST_CHECK_FOR_NUMBER:
- case CT_UG_REQUEST_SELECT_NUMBER:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER:
- clist_d->list_op = list_op + 1;
- break;
- //case PH_UG_REQUEST_SELECT_EMAIL:
- //case PH_UG_REQUEST_CHECK_FOR_EMAIL:
- case CT_UG_REQUEST_SELECT_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_EMAIL:
- clist_d->list_op = list_op + 2;
- break;
- case CT_UG_REQUEST_SELECT_NUMBER_OR_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- clist_d->list_op = list_op + 3;
- break;
- default:
- clist_d->list_op = list_op;
- break;
- }
-
- clist_d->base_ab = info->id_ab;
- clist_d->base_grp = info->id_grp;
- clist_d->base_ab_mode = info->mode;
- ct_list_get_contacts(clist_d, &clist_d->list);
- clist_d->base_layout = ct_list_create_contact_view(clist_d);
- clist_d->title = SAFE_STRDUP(info->name);
- clist_d->navi_item = elm_naviframe_item_push(clist_d->navi, clist_d->title,
- NULL, NULL, clist_d->base_layout, NULL);
- if (0 < clist_d->base_ab)
- {
- temp[0] = '\0';
- ctui_get_addressbook_name(clist_d->base_ab, temp, sizeof(temp));
- ab_name = temp;
- }
- else
- ab_name = T_(CT_GET_TEXT_BASIC, CTTEXT_PHONE);
-
- elm_object_item_part_text_set(clist_d->navi_item, "subtitle", ab_name);
- clist_d->sub_title = strdup(ab_name);
-
- switch (clist_d->ug_request)
- {
- case CT_UG_REQUEST_CHECK:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER:
- case CT_UG_REQUEST_CHECK_FOR_EMAIL:
- case CT_UG_REQUEST_CHECK_FOR_NUMBER_OR_EMAIL:
- ctui_list_edit_mode_start(clist_d);
- break;
- default:
- ctui_list_navi_set(CT_LIST_MODE_DEFAULT, clist_d);
- break;
- }
- return clist_d->navi;
-}
-
-API void ctui_list_set_search_text(ct_list_data *clist_d, const char *text)
-{
- PH_TRACE;
- p_retm_if(!clist_d, "clist_d is NULL");
- if (clist_d->searchbar)
- {
- Evas_Object *en;
- en = elm_object_part_content_get(clist_d->searchbar,
- "elm.swallow.content");
- elm_entry_entry_set(en, text);
- }
-}