diff options
Diffstat (limited to 'lib/include/phone-common.h')
-rwxr-xr-x | lib/include/phone-common.h | 444 |
1 files changed, 408 insertions, 36 deletions
diff --git a/lib/include/phone-common.h b/lib/include/phone-common.h index 0523652..5f240a0 100755 --- a/lib/include/phone-common.h +++ b/lib/include/phone-common.h @@ -18,11 +18,16 @@ #define __PHONE_COMMON_H__ #include <time.h> +#include <libintl.h> +#include <ui-gadget.h> #include <contacts-svc.h> +#include <unicode/udat.h> +#include <bundle.h> #include "phone-ug.h" #include "phone-path.h" #include "phone-text.h" +#include "contacts-ug.h" #define PH_TIMECHECK #ifdef PH_TIMECHECK @@ -35,15 +40,15 @@ int ph_init_time(void); #define PH_START_TIME_CHECK \ ph_init_time();\ ph_startT = ph_set_start_time(); -#define PH_END_TIME_CHECK \ - DBG("time = %f ms\n", ph_exec_time(ph_startT)); +#define PH_END_TIME_CHECK(fmt, arg...) \ + DBG(fmt" time = %f ms\n", ##arg, ph_exec_time(ph_startT)); #else //PH_TIMECHECK #define PH_START_TIME_CHECK -#define PH_END_TIME_CHECK +#define PH_END_TIME_CHECK(arg) #endif //PH_TIMECHECK #if !defined(LOCALEDIR) -# define LOCALEDIR "/opt/ug/res/locale" +# define LOCALEDIR "/usr/ug/res/locale" #endif #ifndef STRLEN @@ -52,12 +57,34 @@ ph_startT = ph_set_start_time(); #define PH_TEXT_MAX_LEN 1024 #define PH_TEXT_SHORT_LEN 256 +#define CT_EDITFIELD_MAX_BYTE 1024 + +#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0])) + +#define MSG_COMPOSER_UG "msg-composer-efl" +#define EMAIL_COMPOSER_UG "email-composer-efl" +#define MYFILES_UG "myfile-efl" +#define ACCOUNT_UG "setting-myaccount-efl" +#define IMG_VIEWER_UG "image-viewer-efl" +#define GALLERY_UG "gallery-efl" +#define BLUETOOTH_UG "setting-bluetooth-efl" #define VOICECALL_PKG "org.tizen.call" #define VIDEOCALL_PKG "org.tizen.vtmain" +#define CONTACTS_VIEWER_PKG "org.tizen.contacts-viewer" +#define BROWSER_UI_PKG "org.tizen.browser" +#define CAMERA_PKG "org.tizen.camera-app" + +typedef enum date_style{ + PH_LOG_TIME_ONLY, + PH_LOG_DATE_ONLY, +}date_style; typedef enum{ - LOG_TYPE_VIDEO_CALL = 0, + LOG_TYPE_CALL = 0, + LOG_TYPE_VIDEO_CALL, + LOG_TYPE_SMS_MESSAGE, + LOG_TYPE_MMS_MESSAGE, LOG_TYPE_MAX } Log_Type; @@ -70,23 +97,59 @@ typedef enum{ LOG_ACTION_MAX } Log_Action; -enum -{ - PH_SUBSCRIBE_CONTACT_CHANGE = (1 << 0), - PH_SUBSCRIBE_FAVORITE_CHANGE = (1 << 1), - PH_SUBSCRIBE_PLOG_CHANGE = (1 << 2), + +enum { + CTTEXT_TYPE_MOBILE, + CTTEXT_TYPE_HOME, + CTTEXT_TYPE_WORK, + CTTEXT_TYPE_FAX_HOME, + CTTEXT_TYPE_FAX_WORK, + CTTEXT_TYPE_ASSISTANT, + CTTEXT_TYPE_PAGER, + CTTEXT_TYPE_OTHER, + CTTEXT_TYPE_TELEPHONE, + CTTEXT_TYPE_FAX, + CTTEXT_TYPE_CAR, + CTTEXT_TYPE_HOME2, + CTTEXT_TYPE_WORK2, + CTTEXT_TYPE_COMPANY_MAIN, + CTTEXT_TYPE_RADIO, +}; //CT_GET_TEXT_NUM_TYPE + +enum { + CT_VIEW_DETAIL, + CT_VIEW_INPUT, + CT_VIEW_ETC, }; -// for removing build warning //////////////////////////////////// -//////////////////////////////////////////////////////// +enum { + CTUG_MSG_INVALID = 0, + CTUG_MSG_KEY_END = 1, +}; typedef void* PTHREAD_FN; +typedef void (*ct_select_result_cb)(void *data, int *list, int cnt); +typedef void (*ct_contact_add_cb)(Evas_Object *win, Evas_Object *navi, int cnt); +typedef void (*ct_change_name_cb)(void *data, char *str); +typedef void (*selectall_changed_cb)(void *data, Eina_Bool checked); +typedef void (*ct_list_cbar_update_fn)(void *data); + +typedef struct { + Evas_Object *win; + Evas_Object *navi; + void *ug; + int ug_request; + int ug_cnt_max; + char *ug_data; // update contact info +}ph_view_info; typedef struct { int cnt; int cnt_checked_total; + int result; bool alive; bool completed; + bool without_cancel_btn; pthread_t thread; Ecore_Timer *timer; Evas_Object *layout; @@ -106,8 +169,10 @@ typedef struct int plog_log_type; int plog_duration; + int grouped_count; Eina_Bool checked;//for check genlist int group_index;//it's used as group index value. + Elm_Object_Item *item; } ph_log_info; typedef struct @@ -123,63 +188,370 @@ typedef struct { int id; int contact_id; + int id_ret; char *display; char *img_path; char *number; bool img_loaded; bool number_loaded; - Eina_Bool is_checked; + Eina_Bool checked; Elm_Object_Item *item; }ph_favor_info; -enum PH_VIEW_TYPE { - PH_VIEW_NONE = -1, - PH_VIEW_DIALER = 0, - PH_VIEW_CONTACT, - PH_VIEW_LOG, - PH_VIEW_FAVORITE, - PH_VIEW_MAX, -}; +typedef struct +{ + char *display; + char *img_path; + char *ph_number; + int contact_id; + int dial_number; + Eina_Bool is_checked; +}ph_speeddial_info; struct ug_priv_data { void (*result_cb)(void*, void*); - void (*destroy_cb)(void*); + void (*destroy_cb)(void *); void *cb_param; }; +typedef struct { + int position; + int skipped_count; + char index[10]; + char prev_index[4]; + Elm_Object_Item *item; +} ct_list_index_data; + +typedef struct { + void *user_data; + Evas_Smart_Cb cb; + char *icon_path; +} ctr_btn_info; + +typedef struct { + Evas_Object *win; + Evas_Object *navi; + Evas_Object *entry; + Elm_Object_Item *navi_it; + Elm_Object_Item *btn_op; + char *name_old; + void *info; + void *fn_data; +} ct_group_edit_data; + +typedef struct { + CTSstruct *contact; + Elm_Object_Item *item; + bool img_loaded; + bool number_loaded; + Eina_Bool checked; + char *img_path; + char *number; + char *display; + char *normalize; + int id; + int id_person; + int id_ret; + int id_ab; + int mode_ab; +}ct_contact_list; + +typedef struct { + Evas_Object *win; + Evas_Object *box; + Evas_Object *cbar; + Evas_Object *navi; + Evas_Object *content; + Evas_Object *layout; + Evas_Object *popup; + Elm_Object_Item *navi_item; + Elm_Object_Item *count_item; + Elm_Theme *th; + + int tab_mode; + int ug_request; + char *title; + char *sub_title; + char *ug_data; + void *ug; + void *child_ug; + + Elm_Genlist_Item_Class itcs[7]; + void(*gl_sel)(void *data, Evas_Object *obj, void *event_info); + void *gl_sel_data; + void (*edit_sel_update)(void *data); + + bool is_background; + bool gadd_mode; + + cts_order_type order_sorting; + cts_order_type order_display; + + Evas_Object *fast_index; + Evas_Object *genlist; + int list_op; + int base_ab; + int base_ab_mode; + int base_grp; + int readed_n; + Eina_List *list; + Ecore_Idler *list_idler; + Ecore_Timer *update_timer; + Ecore_Timer *update_queue_timer; + Elm_Object_Item *last_sweep_item; + + Eina_List *list_index; + ct_list_index_data *list_skipped_index; + bool need_update; + + Elm_Object_Item *group_item; + char group_index[4]; + Evas_Object *searchbar; + char *search_str; + char *search_normalize; + + Evas_Object *select_all_layout; + + int list_mode; + int cnt_total; + int cnt_checked; + int cnt_list; + int cnt_max; + int selected_contact; + + ph_progress_info *p_info; + + Eina_List *list_ab; + int idx_vcard; + const char *vcard_path; + int ct_id_caller; + + ct_select_result_cb select_result_cb; + ct_contact_add_cb contact_add_cb; + void *select_result_cb_data; + + ct_list_cbar_update_fn list_cbar_update_fn; +}ct_list_data; + +typedef struct { + Elm_Theme *th; + Evas_Object *win; + Evas_Object *navi; + Evas_Object *layout; + Evas_Object *noc; + Evas_Object* select_all_layout; + + Elm_Object_Item *titem; + Elm_Object_Item *navi_item; + Elm_Object_Item *prev_navi_item; + Elm_Object_Item *ctrl_item; + Elm_Object_Item *base_item; + Elm_Object_Item *util_item; + Elm_Object_Item *select_all_item; + + Evas_Object *popup; + Evas_Object *genlist; + Evas_Object *history_genlist; + Eina_List *list; + Ecore_Idler *idler; + int list_count; + int pre_date_type; + UDateFormat* hformatter[5]; + + Elm_Object_Item *ringtone_item; + + cts_order_type order_display; + + bool updated; + bool is_shortcut; + bool has_detail; + bool has_input; + bool ug_detail; + bool has_number; + int touch_x; + int touch_y; + int base_grp; + int base_ab; + int base_ab_mode; + int cnt_checked; + int view_mode; + char *base_ab_name; + int contact_id; + int person_id; + char* vcard; + ui_gadget_h ug; + void *child_ug; + int ug_request; + int view_creat_ver; + CTSstruct *contact; + GSList *person_list; + void *prev_view_data; + UDateFormat* formatter; + Evas_Object *genlist_unlink; + ph_progress_info *p_info; +}ct_detail_data; + +typedef struct { + Evas_Object *box; + Evas_Object *scroller; + Elm_Object_Item *save_btn; + Elm_Object_Item *pre_item; + Elm_Object_Item *navi_item; + Ecore_Event_Handler* win_prop_change; + + bool add_job_title; + bool add_department; + + Evas_Object *ly_baseinfo; + Evas_Object *ly_baseinfo_last; + Evas_Object *ly_baseinfo_suffix; + Evas_Object *ly_baseinfo_nick; + Evas_Object *ly_baseinfo_job_title; + Evas_Object *ly_baseinfo_department; + Evas_Object *ly_baseinfo_company; + Evas_Object *ly_baseinfo_expand; + Evas_Object *ly_number_first; + Evas_Object *ly_number_last; + Evas_Object *ly_number_default; + Evas_Object *ly_number_set_default_separator_before; + Evas_Object *ly_number_set_default; + Evas_Object *ly_number_set_default_separator_after; + Evas_Object *ly_email_first; + Evas_Object *ly_email_last; + Evas_Object *ly_addr_first; + Evas_Object *ly_addr_last; + + Evas_Object *ly_seperator_more; + Evas_Object *ly_seperator_baseinfo; + Evas_Object *ly_messenger_first; + Evas_Object *ly_messenger_last; + Evas_Object *ly_url_first; + Evas_Object *ly_url_last; + Evas_Object *ly_relationship; + Evas_Object *ly_birthday; + Evas_Object *ly_anniversary; + Evas_Object *ly_note; + + Evas_Object *ly_ringtone; + Evas_Object *ly_moreinfo; + + bool saved; + Eina_Bool save_disable; + int view_create_ver; + int cnt_addr; + int cnt_num; + int idx_append; + + int base_ab; + int base_ab_mode; + int base_ab_type; + char *base_ab_name; + + int contact_id; + CTSstruct *contact; + ct_detail_data *cdetail_d; + + ui_gadget_h src_ug; + ui_gadget_h crop_ug; +}ct_input_data; + +typedef struct { + Evas_Object *ly_main; + Evas_Object *ly_content; + CTSvalue *value; + Evas_Object *data; +}ct_input_typed_data; + // for removing build warning //////////////////////////////////// char* contacts_svc_value_steal_str(CTSvalue* value, int field); //////////////////////////////////////////////////////// char *phone_get_display_name_from_value(CTSvalue *name, int display_field, int first_field, int last_field); void phone_free_contacts(Eina_List *list); +Eina_List * phone_load_speeddial_data(int *ref_count); +void phone_free_speeddial_data(Eina_List *list); + +void* phone_launch_msg_composer_ug(void *parent_ug, char *data, int msg_id, void(*destroy_cb)(void*), void *cb_param); +void* phone_launch_contact_list_ug(void *parent_ug, int request, void(*result_cb)(void*, void*), void(*destroy_cb)(void *), void *cb_param); +void* phone_launch_contact_detail_ug(void *parent_ug, int contact_index, void (*destroy_cb)(void *), void *cb_param); +void* phone_launch_contact_add_list_edit_ug(void *parent_ug, char *data, void (*destroy_cb)(void *), void *cb_param); +void* phone_image_crop_ug(ui_gadget_h parent, const char *photo, + struct ug_cbs *cbs); +void* ctui_msg_ug(ui_gadget_h parent, const char *number, const int idx, const char *attach, void(*destroy_cb)(void*), void *cb_param); -void* phone_launch_msg_composer_ug(void *parent_ug, char *data, void(*destroy_cb)(void*), void *cb_param); -void* phone_launch_contact_list_ug(void *parent_ug, int request, void(*result_cb)(void*, void*), void(*destroy_cb)(void*), void *cb_param); -void* phone_launch_contact_detail_ug(void *parent_ug, int contact_index, void(*destroy_cb)(void*), void *cb_param); -void* phone_launch_contact_add_list_edit_ug(void *parent_ug, char *data, void(*destroy_cb)(void*), void *cb_param); +void ug_common_destroy_cb(ui_gadget_h ug, void *priv); +void ug_common_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv); +void ctui_destroy_child_ug(void *data); -void phone_launch_voice_call(char *number, int ct_id); +void phone_launch_voice_call(const int id, const char* number); -Evas_Object* phone_create_layout(Evas_Object *parent, bool is_fullview); -Evas_Object *phone_create_popup(Evas_Object *parent, const char *desc, double timeout); -Evas_Object* phone_create_confirm_popup(Evas_Object *win, const char* description); +Evas_Object* phone_create_base_layout(Evas_Object *parent, bool is_fullview); +Evas_Object *phone_show_popup(Evas_Object *parent, const char *desc, double timeout); +Evas_Object* phone_create_confirm_popup(Evas_Object **popup, Evas_Object *win, const char* description, + void (*btn_clicked_cb)(void *, Evas_Object *, void *), void *cb_data); +Evas_Object* phone_create_list_sweep_btn(Evas_Object *parent, char *fullpath); Evas_Object* phone_create_bg(Evas_Object *parent); Evas_Object *phone_create_icon_with_img(Evas_Object *parent, char *full_path); +Evas_Object* phone_create_navi_btn(Evas_Object *parent, const char *label); + Evas_Object* phone_progressbar_popup(Evas_Object *parent, ph_progress_info *p_info, const char *title); Evas_Object *phone_get_notify(Evas_Object *parent); -void phone_show_notify(Evas_Object *parent, const char *msg, double timeout); +void phone_show_notify(Evas_Object *parent, const char *msg); void phone_hide_notify(Evas_Object *parent); -void phone_progress_popup_del(void *data, Evas_Object *obj, void *event_info); +void phone_show_tickernoti(const char *); void phone_view_back_btn_cb(void *data, Evas_Object *obj, void *event_info); void phone_ug_destroy_me_cb(void *data, Evas_Object *obj, void *event_info); void phone_back_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info); -void phone_cbar_item_clear(Evas_Object *toolbar); -Evas_Object* phone_naviframe_btn(Evas_Object *parent, const char *label); +void phone_cbar_item_clear(Evas_Object *controlbar); +void phone_set_view_info(ph_view_info *view_info, Evas_Object *win, Evas_Object *navi, + void *ug, int ug_request, int cnt_max, char *ug_data); + +void phone_list_ug_return_ids(ui_gadget_h ug, int *result_list, int cnt, const char *bd_key); +void phone_ug_return_id(ui_gadget_h ug, int ct_id, int num_id, int email_id); +void phone_ug_return_vcard(ui_gadget_h ug, int ct_id, char *vcard); Evas_Object* phone_create_nocontents(Evas_Object *parent, const char* label); -Evas_Object* phone_create_popup_button(Evas_Object *popup, int index, const char* label, Evas_Smart_Cb cb, void *cb_data); -void phone_toolbar_disalbed_item_append(Evas_Object *toolbar, int cnt); +void phone_toolbar_disabled_item_append(Evas_Object *toolbar, int cnt); + +char* ctui_get_addrbook_icon_path(int type); +const char* ctui_get_default_contact_img(int view_type); +int ctui_get_display_name(CTSvalue *name, char *dest, int dest_len); +void ctui_get_number_type_str(int cts_num_type, char *dest, int dest_len); +void ctui_ld_to_dd(ct_list_data *clist_d, ct_detail_data *cdetail_d); + +void ctui_entry_limit_size_set(Evas_Object *entry); +Evas_Object* ctui_create_btn(Evas_Object *parent, const char *label); +void ctui_genlist_append_separator_10px(Evas_Object *genlist); +void ctui_genlist_append_separator_20px(Evas_Object *genlist); +void ctui_cbar_btn_disabled_set(Evas_Object *cbar, Eina_Bool disabled); +char* ctui_entry_markup_to_utf8(const char *s); +void ctui_entry_entry_set(Evas_Object *entry, const char *s); +Evas_Object* ctui_create_editfield(Evas_Object *parent, const char *title, const char *guide, bool multiline); +void ctui_genlist_append_separator_20px_with_line(Evas_Object *genlist); +void ctui_navi_left_btn_disabled_set(Elm_Object_Item *item, Eina_Bool disabled); +int ctui_get_person_id(int ct_id); +void ctui_list_ug_hide_cb(void *data, Evas_Object *obj, void *event_info); +Evas_Object* phone_create_select_all(Evas_Object *box, const char *selectall_text, selectall_changed_cb cb, void *cb_data); +void ctui_list_free_contacts(Eina_List* list); +void ctui_list_refresh_genlist(ct_list_data *clist_d); +void ctui_list_handle_search(ct_list_data *clist_d); +int phone_detail_log_is_call_ing_type(int type); +int phone_detail_log_is_mms_type(int type); +int phone_detail_log_is_sms_type(int type); +int phone_detail_log_is_email_type(int type); +char* phone_detail_log_get_icon_type(int log_type); +char* phone_detail_log_get_duration_from_number(int number); +void phone_detail_log_init_time_format(void); +void phone_detail_log_generate_date_format(UDateFormat **formatter); +char* phone_detail_log_get_icon_path_with_action(int log_type); +char* phone_detail_log_get_date(UDateFormat ** formatter, int log_time); +char* phone_detail_log_get_time(UDateFormat ** formatter, int log_time); +int phone_detail_log_get_date_type(int log_time, int log_duration); +void phone_detail_log_delete_date_format(UDateFormat **formatter); +char *ph_log_util_get_formatted_date(UDateFormat **formatter, int log_time, date_style style); +void ct_list_clear_pdata(ct_list_data *clist_d); +void phone_move_ctxpopup(Evas_Object *popup, Evas_Object *item); +void phone_resize_notify(Evas_Object *parent, int rotate); #endif //__PHONE_COMMON_H__ |