#include <ui-gadget-module.h>
#include <utilX.h>
#include <time.h>
-#include <contacts-svc.h>
+#include <contacts.h>
#include "message.h"
#include "msg-ui-util.h"
+#include "msg-ui-image-resource.h"
#include "msg-ui-common-utility.h"
#define MSG_THREAD_THEME EDJDIR"/thread_genlist.edj"
-#define MSG_THREAD_CONTROLBAR_ITEM_NUM (4)
#define MSG_THREAD_DELETE_NOTI_TIME 1.5
#define MSG_THREAD_LIST_MAX_COUNT 10
#define MSG_THREAD_LIST_LAUNCH_LOAD_MAX_CNT 20
Elm_Theme *th;
Evas_Object *win_main;
+ Evas_Object *conform;
Evas_Object *panes;
Evas_Object *layout_main;
Evas_Object *navi_frame;
char *date_ptn_year;
msg_time_format time_fmt;
char locale[DEF_BUF_LEN];
- int noti_fd;
bool isRotate; /* Rotation state */
bool isIncomingMsg; /* Check there is new incoming message when it back from edit mode to normal. */
typedef struct _MSG_THREAD_LIST_DATA {
Evas_Object *genlist;
- Evas_Object *conform;
Evas_Object *content_ly;
Evas_Object *noc_ly;
Elm_Object_Item *nf_it; //title, control bar naviframe item
- Evas_Object *toolbar;
- Elm_Object_Item *toolbar_item[MSG_THREAD_CONTROLBAR_ITEM_NUM];
+ Evas_Object *toolbar_btn[CONTROLBAR_ITEM_MAX];
Evas_Object *back_btn;
+ Evas_Object *search_btn;
Evas_Object *searchbar;
Ecore_Timer *search_timer;
void msg_ui_thread_fullview_launch(PMSG_THREAD_DATA pData, PMSG_THREAD_LIST_DATA pListData);
void msg_ui_thread_splitview_launch(PMSG_THREAD_DATA pData, PMSG_THREAD_SPLIT_DATA pSplitData);
-void msg_ui_thread_splitview_set_title(PMSG_THREAD_SPLIT_DATA pSplitData);
Evas_Object *msg_ui_thread_create_content_layout(Evas_Object *parent);
Evas_Object *msg_ui_thread_create_nocontent_layout(Evas_Object *parent);
Evas_Object *msg_ui_thread_create_layout_main(PMSG_THREAD_DATA pData);
Evas_Object *msg_ui_thread_create_searchbar_layout(Evas_Object *parent, PMSG_THREAD_LIST_DATA pListData);
void msg_ui_thread_reg_msg_cb_func(PMSG_THREAD_DATA pData);
-Evas_Object *msg_ui_thread_create_toolbar(Evas_Object *parent);
-void msg_ui_thread_set_navi_controlbar_item(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_set_navi_toolbar_item(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_show_toolbar(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_hide_toolbar(PMSG_THREAD_LIST_DATA pListData, bool bDeleteBtn);
void msg_ui_thread_rotation_set(void *data, int rot);
bool msg_ui_thread_rotation_get(void);
+void msg_ui_thread_lang_changed(void *data);
void msg_ui_thread_split_view_hide(PMSG_THREAD_DATA pData);
void msg_ui_thread_split_view_show(PMSG_THREAD_DATA pData);
PMSG_APP_THREAD_DATELINE_DATA_S msg_ui_thread_list_insert_dateline(PMSG_THREAD_LIST_DATA pListData, time_t* cur_time, time_t* prev_time);
void msg_ui_thread_list_load(PMSG_THREAD_LIST_DATA pListData, Eina_Bool bLaunch);
void msg_ui_thread_list_update(PMSG_THREAD_LIST_DATA pListData);
-void msg_ui_thread_list_item_update(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id);
+Eina_Bool msg_ui_thread_list_item_update(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id);
void msg_ui_thread_list_item_delete(PMSG_THREAD_LIST_DATA pListData, msg_thread_id_t thread_id);
void msg_ui_thread_msg_list_load(PMSG_THREAD_LIST_DATA pListData, int listType);
void msg_ui_thread_list_msg_list_update(PMSG_THREAD_LIST_DATA pListData);
void msg_ui_thread_list_msg_item_delete(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id);
-void msg_ui_thread_list_msg_item_update(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id);
+Eina_Bool msg_ui_thread_list_msg_item_update(PMSG_THREAD_LIST_DATA pListData, msg_message_id_t msg_id);
Eina_Bool msg_ui_thread_search_msg_list_load(void *data);
void msg_ui_thread_common_style_set(PMSG_THREAD_DATA pData);
void msg_ui_thread_ctlbar_checkbox_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_ctlbar_spam_setting_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_ctlbar_compose_cb(void *data, Evas_Object *obj, void *event_info);
-void msg_ui_thread_ctlbar_cancel_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_ctlbar_message_box_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_sel_all_clicked_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_list_checked_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_back_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
+void msg_ui_thread_search_btn_clicked_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_entry_focus_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_entry_unfocus_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_entry_change_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_cancel_click_cb(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_searchbar_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
void msg_ui_thread_sweep_btn_cb(void *data, Evas_Object *obj, void *event_info);
-void msg_ui_thread_timezone_change_cb(void *data);
+void msg_ui_thread_timezone_change_cb(keynode_t *key, void *data);
void msg_ui_thread_gl_mode_right(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_gl_mode_left(void *data, Evas_Object *obj, void *event_info);
void msg_ui_thread_set_app_state(int app_state);
int msg_ui_thread_get_app_state(PMSG_THREAD_DATA pData);
+void msg_ui_thread_cancel_search_mode(PMSG_THREAD_LIST_DATA pListData);
+void msg_ui_thread_button_disabled_set(PMSG_THREAD_LIST_DATA pListData, Eina_Bool disabled, int controlbar_btn);
+void msg_ui_thread_get_title_text(PMSG_THREAD_LIST_DATA pListData, char *label, int label_len);
const char *msg_ui_thread_make_search_result_string(const char *string, char *searchword, bool *result);
void msg_ui_thread_make_time_string(time_t *msg_t, char *buf, int buf_len);