summaryrefslogtreecommitdiff
path: root/lib/include/phone-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/include/phone-common.h')
-rwxr-xr-xlib/include/phone-common.h444
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__