summaryrefslogtreecommitdiff
path: root/mailbox
diff options
context:
space:
mode:
authorKim Jinho <jinho912.kim@samsung.com>2012-12-06 19:23:44 +0900
committerKim Jinho <jinho912.kim@samsung.com>2012-12-06 19:23:44 +0900
commit687c406b36972790005fdfb318815af0eab9b6cd (patch)
treefc1df4e48e42b81df76890f7327f97880e189658 /mailbox
parent234ecdcab2fc994d6a3ebd5fac642a1a43bcecce (diff)
downloademail-687c406b36972790005fdfb318815af0eab9b6cd.tar.gz
email-687c406b36972790005fdfb318815af0eab9b6cd.tar.bz2
email-687c406b36972790005fdfb318815af0eab9b6cd.zip
Meged with lastest mailbox/account codes
Diffstat (limited to 'mailbox')
-rwxr-xr-xmailbox/include/email-mailbox-list.h3
-rwxr-xr-xmailbox/include/email-mailbox.h46
-rwxr-xr-xmailbox/src/email-mailbox-controlbar.c318
-rwxr-xr-xmailbox/src/email-mailbox-item.c24
-rwxr-xr-xmailbox/src/email-mailbox-list.c320
-rwxr-xr-xmailbox/src/email-mailbox-noti-mgr.c39
-rwxr-xr-xmailbox/src/email-mailbox-search.c17
-rwxr-xr-xmailbox/src/email-mailbox-sweep.c53
-rwxr-xr-xmailbox/src/email-mailbox.c544
-rwxr-xr-xmailbox/theme/email-mailbox-theme.edc121
10 files changed, 1072 insertions, 413 deletions
diff --git a/mailbox/include/email-mailbox-list.h b/mailbox/include/email-mailbox-list.h
index c489443..50ef88c 100755
--- a/mailbox/include/email-mailbox-list.h
+++ b/mailbox/include/email-mailbox-list.h
@@ -51,6 +51,7 @@ void _make_account_mail_list(void *data);
gint _compare_sort_rule_by_viewtype(gconstpointer a, gconstpointer b);
void _update_item_in_view_cb(void *data, Ecore_Thread *thd, void* msg_data);
void _refresh_mailbox(EmailMailboxUGD *mailbox_ugd);
+void _refresh_mailbox_fullview(EmailMailboxUGD *mailbox_ugd);
void _make_mail_list(EmailMailboxUGD *mailbox_ugd, const EmailSearchData *search_data);
void _delete_selection_info(EmailMailboxUGD *mailbox_ugd);
void _create_mail_list(EmailMailboxUGD *mailbox_ugd);
@@ -72,5 +73,7 @@ void _add_mail_list_n_data(EmailMailboxUGD *mailbox_ugd, email_mail_list_item_t*
void _remove_get_more_progress_item(EmailMailboxUGD *mailbox_ugd);
email_mail_list_item_t *_mailbox_get_mail_list_by_mailbox_type(int account_id, int mailbox_type, int sort_type, int thread_id, EmailSearchType search_type, const EmailSearchData *search_data, int *mail_count);
email_mail_list_item_t *_mailbox_get_mail_list_by_mailbox_id(int account_id, int mailbox_id, int sort_type, int thread_id, EmailSearchType search_type, const EmailSearchData *search_data, int *mail_count);
+void reset_get_more_progress_callback_status(EmailMailboxUGD *mailbox_ugd);
+
#endif /* __DEF_EMAIL_MAILBOX_LIST_H_ */
diff --git a/mailbox/include/email-mailbox.h b/mailbox/include/email-mailbox.h
index df9cc73..bf6d2f3 100755
--- a/mailbox/include/email-mailbox.h
+++ b/mailbox/include/email-mailbox.h
@@ -59,8 +59,8 @@
#define ICON_MARKUNREAD IMGDIR"/M02_controlbar_icon_mark_as_unread.png"
#define ICON_CANCEL IMGDIR"/M02_controlbar_icon_cancel.png"
#define ICON_COMPOSE IMGDIR"/M02_controlbar_icon_compose.png"
-#define ICON_UPDATE IMGDIR"/M02_controlbar_icon_update.png"
-#define ICON_FOLDERS IMGDIR"/M02_email_icon_title_folders.png"
+#define ICON_UPDATE IMGDIR"/00_icon_refresh.png"
+#define ICON_FOLDERS IMGDIR"/00_icon_folder.png"
#define ICON_SORTBY IMGDIR"/M02_controlbar_icon_sort_by.png"
#define ICON_VIEWMODE IMGDIR"/M02_controlbar_icon_view_mode.png"
#define ICON_MORE IMGDIR"/M02_controlbar_icon_more.png"
@@ -102,7 +102,7 @@ typedef struct {
int mailbox_type;
gboolean is_attachment;
gboolean is_seen;
- email_mail_status_t is_sending_now;
+ email_mail_status_t mail_status;
gboolean is_body_download;
gint mail_id;
gint account_id;
@@ -236,9 +236,6 @@ struct ug_data {
Evas_Object *win_main;
Evas_Object *layout_main;
Evas_Object *panes;
- Evas_Object *gen_list_index;
- Evas_Object *effect_account_ly;
- Evas_Object *effect_composer_ly;
EmailMailboxViewType view_type;
EmailMailboxViewType previous_view;
@@ -246,32 +243,28 @@ struct ug_data {
Evas_Object *ly;
Evas_Object *check;
Evas_Object *navi_bar;
- Evas_Object *controlbar_seg;
- Evas_Object *controlbar_btns;
- Evas_Object *prev_controlbar;
+ Evas_Object *controlbar_more_btn;
+ Evas_Object *controlbar_lbtn;
+ Evas_Object *controlbar_rbtn;
Evas_Object *no_content;
Evas_Object *no_content_sender;
- Elm_Theme *theme;
+ Evas_Object *no_content_thread;
Elm_Object_Item *navibar_item[EMAIL_VIEW_MAX];
Evas_Object *navi_title_ly;
Evas_Object *sp_icon;
Evas_Object *title_arrow;
- Evas_Object *content_edit;
Evas_Object *searchbar_en;
- Elm_Object_Item *load_more_button;
Elm_Object_Item *edit_button;
- //Elm_Object_Item *edit_cancel_button;
Evas_Object *folder_button;
Evas_Object *update_button;
Evas_Object *sync_progress;
Elm_Object_Item *delete_all_button;
Evas_Object *ctxpopup;
+ Evas_Object *passwd_popup;
+ Evas_Object *password_entry;
GList *important_list;
- Elm_Object_Item *date_tab;
Evas_Object *selectioninfo_layout;
Evas_Object *sub_layout[EMAIL_VIEW_MAX];
- Evas_Object *move_button;
- Evas_Object *block_button;
Evas_Object *search_layout;
Evas_Object *searchbar_layout;
Evas_Object *searchbar_area;
@@ -294,30 +287,24 @@ struct ug_data {
GList *selected_list; /* revised, used to move the mails selected in previous view */
GList *delete_mail_list;
GList *noti_Q;
- gboolean need_sync;
gint sort_type_index;
- gint from_width;
gint account_id;
gint thread_id;
gint thread_mail_count;
gint total_count;
- gint date_type;
gint chk_cnt;
gint unread_cnt;
EmailSortType sort_type;
- gboolean refresh;
- gboolean bhour;
- gchar *search_text;
guint index;
+ char *str_password;
+ gint sync_needed_mailbox_id; //password changed case
+ gint sync_needed_account_id;
char *address;
gchar *display_name;
- guint add_item_id;
gint mailbox_id;
email_mailbox_type_e mailbox_type;
gchar *folder_alias;
gchar *user_email;
- gint uid;
- gint cur_container_type;
gint initial_run;
gint b_thread_list;
gint main_w;
@@ -331,14 +318,10 @@ struct ug_data {
gboolean b_advanced_search_view;
int emf_handle;
E_DBus_Connection *edbus_conn;
- gchar *prev_group_title;
- //email_sender_list *sender_list;
- //gint sender_cnt;
EmailMailboxMode mode;
/* index for mail list when mailbox receive email from emailservice */
gint download_idx;
- Elm_Object_Item *after_item;
Evas_Object *base;
ui_gadget_h ug;
struct ug_cbs cbs;
@@ -349,9 +332,6 @@ struct ug_data {
ui_gadget_h ug_setting;
ui_gadget_h ug_document;
int viewer_refresh;
- int viewer_effect;
- Evas_Object *temp_ly;
- bool viewer_loading;
Evas_Object *split_nocontent;
GList *list_data[EMAIL_VIEW_MAX];
int create_progress_part;
@@ -437,6 +417,7 @@ struct ug_data {
void _update_navigationbar_title(EmailMailboxUGD *mailbox_ugd);
ui_gadget_h create_composer_ug(char *ug_name, service_h service, void *data);
+ui_gadget_h create_setting_ug(char *ug_name, service_h service, void *data);
void layout_composer_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
void result_composer_cb(ui_gadget_h ug, service_h service, void *priv);
void _stop_emf_job(EmailMailboxUGD *mailbox_ugd, int handle, gboolean change_download_label_in_panel);
@@ -450,5 +431,6 @@ void _open_email_body(gint uid, Elm_Object_Item *item);
void _create_email_no_content_view(EmailMailboxUGD *mailbox_ugd);
void _reset_refer_item_and_idx(EmailMailboxUGD *mailbox_ugd);
email_sort_type_t _mailbox_conv_sort_type(EmailSortType sort_type);
+void mailbox_create_password_changed_popup(void *data);
#endif /* __DEF_email-mailbox_H__ */
diff --git a/mailbox/src/email-mailbox-controlbar.c b/mailbox/src/email-mailbox-controlbar.c
index d253306..66f4ded 100755
--- a/mailbox/src/email-mailbox-controlbar.c
+++ b/mailbox/src/email-mailbox-controlbar.c
@@ -47,11 +47,12 @@ extern int ug_pushed;
static Evas_Object *create_control_option(EmailMailboxUGD *ad);
static Evas_Object *create_edit_control_option(EmailMailboxUGD *ad);
static void _viewby_cb(void *data, Evas_Object *obj, void *event_info);
+static void _more_toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static void _delete_all_emails_cb(void *data, Evas_Object *obj, void *event_info);
-static void _document_search_cb(void *data, Evas_Object *obj, void *event_info);
static void _delete_mail_cb(void *data, Evas_Object *obj, void *event_info);
static void _block_mail_cb(void *data, Evas_Object *obj, void *event_info);
static void _markunread_mail_cb(void *data, Evas_Object *obj, void *event_info);
+static void _markread_mail_cb(void *data, Evas_Object *obj, void *event_info);
static void _compose_toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static ui_gadget_h create_document_ug(char *ug_name, service_h service, void *data);
static void _popup_response_cb(void *data, Evas_Object *obj, void *event_info);
@@ -59,7 +60,10 @@ static void destroy_document_cb(ui_gadget_h ug, void *priv);
static void _radio_cb(void *data, Evas_Object *obj, void *event_info);
static void _move_ctxpopup(Evas_Object *ctxpopup, Evas_Object *win);
static void _move_mail_cb(void *data, Evas_Object *obj, void *event_info);
+static void _add_account_cb(void *data, Evas_Object *obj, void *event_info);
+static Evas_Object *_create_toolbar_more_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data);
+static Evas_Object *_create_toolbar_btn(Evas_Object *parent, const char *text, Evas_Smart_Cb func, void *data);
static void destroy_document_cb(ui_gadget_h ug, void *priv)
{
@@ -116,6 +120,11 @@ static void _block_mail_cb(void *data, Evas_Object *obj, void *event_info)
Eina_List *list = edit_list;
int checked_count = eina_list_count(list);
+ if (mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
if (checked_count <= 0) return;
for (i = 0; i < checked_count; i++) {
@@ -217,6 +226,11 @@ static void _markunread_mail_cb(void *data, Evas_Object *obj, void *event_info)
Eina_List *list = edit_list;
int checked_count = eina_list_count(list);
+ if (mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
if (checked_count <= 0) return;
for (i = 0; i < checked_count; i++) {
@@ -268,9 +282,80 @@ static void _markunread_mail_cb(void *data, Evas_Object *obj, void *event_info)
}
+static void _markread_mail_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (data == NULL) {
+ debug_log("data == NULL");
+ return;
+ }
+
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+ int i = 0, mark_count = 0;
+
+ Eina_List *list = edit_list;
+ int checked_count = eina_list_count(list);
+
+ if (mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
+ if (checked_count <= 0) return;
+
+ for (i = 0; i < checked_count; i++) {
+ Eina_List *nth_list = eina_list_nth_list(list, i);
+
+ list_data *ld = eina_list_data_get(nth_list);
+
+ //make it unread state in all cases
+ int err = email_set_flags_field(ld->account_id, &(ld->mail_id), 1, EMAIL_FLAGS_SEEN_FIELD, 1, 1);
+ if (err != EMAIL_ERROR_NONE)
+ debug_log("email_set_flags_field - err(%d)", err);
+
+ mark_count++;
+ }
+
+ /* check count */
+ if (mark_count > 0) {
+ debug_log("mail mark unread count: %d", mark_count);
+ }
+
+ mailbox_ugd->view_type = mailbox_ugd->previous_view;
+
+ edit_list = eina_list_free(edit_list);
+
+ //evas_object_smart_callback_add(mailbox_ugd->searchbar_en, "focused", _searchbar_entry_focus_cb, mailbox_ugd);
+ //evas_object_smart_callback_add(mailbox_ugd->searchbar_en, "unfocused", _searchbar_entry_unfocus_cb, mailbox_ugd);
+
+ elm_genlist_decorate_mode_set(mailbox_ugd->gl[mailbox_ugd->view_type], EINA_FALSE);
+ elm_genlist_reorder_mode_set(mailbox_ugd->gl[mailbox_ugd->view_type], EINA_FALSE);
+ elm_genlist_select_mode_set(mailbox_ugd->gl[mailbox_ugd->view_type], ELM_OBJECT_SELECT_MODE_DEFAULT);
+ b_editmode = false;
+ elm_object_disabled_set(mailbox_ugd->folder_button, EINA_FALSE);
+ _update_navigationbar_title(mailbox_ugd);
+
+ if (mailbox_ugd->isRotate == true) {
+ email_rotate_landscape(mailbox_ugd);
+ /*
+ if (mailbox_ugd->current_rotmode == APP_DEVICE_ORIENTATION_270)
+ on_event(NULL, UG_EVENT_ROTATE_LANDSCAPE, NULL, mailbox_ugd);
+ else
+ on_event(NULL, UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN, NULL, mailbox_ugd);
+ */
+ } else {
+ elm_object_part_content_set(mailbox_ugd->search_layout, "searchbar", mailbox_ugd->searchbar_layout);
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_searchbar", "search");
+ }
+
+ _refresh_mailbox(mailbox_ugd);
+
+}
static void _dismissed_cb(void *data, Evas_Object *obj, void *event_info)
{
+ debug_log("");
EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
evas_object_del(mailbox_ugd->ctxpopup);
mailbox_ugd->ctxpopup = NULL;
@@ -367,69 +452,56 @@ static void _popup_response_cb(void *data, Evas_Object *obj, void *event_info)
}
}
-static void _document_search_cb(void *data, Evas_Object *obj, void *event_info)
+static void _more_toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
debug_log("");
-
EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
- RETURN_IF_FAIL(mailbox_ugd != NULL);
- if (mailbox_ugd->ctxpopup) {
- evas_object_del(mailbox_ugd->ctxpopup);
- mailbox_ugd->ctxpopup = NULL;
- }
+ mailbox_ugd->ctxpopup = elm_ctxpopup_add(mailbox_ugd->navi_bar);
+ evas_object_smart_callback_add(mailbox_ugd->ctxpopup, "dismissed", _dismissed_cb, mailbox_ugd);
- if (mailbox_ugd->ug_document) {
- debug_log("Document UG is already launched");
- return;
- }
+ if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT) {
+ int i = 0;
+ bool read_mail_exist = false;
+ Eina_List *list = edit_list;
+ int checked_count = eina_list_count(list);
- gint account_id = mailbox_ugd->account_id;
- RETURN_IF_FAIL(account_id > 0);
+ if (checked_count <= 0) return;
- email_account_t *account = NULL;
- int err = email_get_account(account_id, EMAIL_ACC_GET_OPT_OPTIONS, &account);
- if (err != EMAIL_ERROR_NONE || !account) {
- debug_warning("email_get_account acct(%d) - err(%d) or acct NULL(%p)", account_id, err, account);
- if(account) email_free_account(&account, 1);
- return;
- }
+ for (i = 0; i < checked_count; i++) {
+ Eina_List *nth_list = eina_list_nth_list(list, i);
+ list_data *ld = eina_list_data_get(nth_list);
- int account_svc_id = account->account_svc_id;
- debug_log("account id: %d, accountd_svc_id: %d", account_id, account_svc_id);
- if(account) email_free_account(&account, 1);
+ if (ld->is_seen)
+ read_mail_exist = true;
+ }
- char s_account_id[14] = { 0, };
- snprintf(s_account_id, sizeof(s_account_id), "%d", account_svc_id);
+ if (read_mail_exist)
+ elm_ctxpopup_item_append(mailbox_ugd->ctxpopup, _("IDS_EMAIL_OPT_MARK_AS_UNREAD"), NULL, _markunread_mail_cb, mailbox_ugd);
+ else
+ elm_ctxpopup_item_append(mailbox_ugd->ctxpopup, _("IDS_EMAIL_OPT_MARK_AS_READ"), NULL, _markread_mail_cb, mailbox_ugd);
- service_h service;
- if (SERVICE_ERROR_NONE != service_create(&service))
- {
- debug_log("creating service handle failed");
- return;
- }
+ elm_ctxpopup_item_append(mailbox_ugd->ctxpopup, _("IDS_EMAIL_SK_BLOCK"), NULL, _block_mail_cb, mailbox_ugd);
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, s_account_id);
- mailbox_ugd->ug_document = create_document_ug(UG_NAME_EMAIL_DOCUMENT, service, mailbox_ugd);
+ if (mailbox_ugd->isRotate)
+ elm_ctxpopup_item_append(mailbox_ugd->ctxpopup, dgettext("sys_string", "IDS_COM_BODY_MOVE"), NULL, _move_mail_cb, mailbox_ugd);
+ } else {
- service_destroy(service);
+ elm_ctxpopup_item_append(mailbox_ugd->ctxpopup, _("IDS_EMAIL_OPT_DELETE_ALL"), NULL, _delete_all_emails_cb, mailbox_ugd);
+ elm_ctxpopup_item_append(mailbox_ugd->ctxpopup, _("IDS_EMAIL_HEADER_ADD_ACCOUNT"), NULL, _add_account_cb, mailbox_ugd);
+ }
+
+ _move_ctxpopup(mailbox_ugd->ctxpopup, obj);
+ evas_object_show(mailbox_ugd->ctxpopup);
}
static void _move_ctxpopup(Evas_Object *ctxpopup, Evas_Object *win)
{
- Evas_Coord w, h;
- int degree = elm_win_rotation_get(win);
- evas_object_geometry_get(win, NULL, NULL, &w, &h);
-
- if(degree == 90) {
- evas_object_move(ctxpopup, w - touch_y, touch_x);
- } else if (degree == 180) {
- evas_object_move(ctxpopup, w - touch_x, h - touch_y);
- } else if (degree == -90) {
- evas_object_move(ctxpopup, touch_y, h - touch_x);
- } else {
- evas_object_move(ctxpopup, touch_x, touch_y);
- }
+ Evas_Coord x, y, w, h;
+
+ evas_object_geometry_get(win, &x, &y, &w, &h);
+ evas_object_move(ctxpopup, x + (w / 2), y);
+
}
static void _gl_viewby_popup_sel(void *data, Evas_Object *obj, void *event_info)
@@ -598,6 +670,12 @@ static void _viewby_cb(void *data, Evas_Object *obj, void *event_info)
EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
Elm_Object_Item *item;
Evas_Object *genlist;
+
+ if (mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
mailbox_ugd->viewby_popup = elm_popup_add(mailbox_ugd->win_main);
#ifdef _POPUP_WITH_LIST
elm_object_style_set(mailbox_ugd->viewby_popup, "min_menustyle");
@@ -660,6 +738,27 @@ static void _viewby_cb(void *data, Evas_Object *obj, void *event_info)
#endif
evas_object_show(mailbox_ugd->viewby_popup);
}
+static void _add_account_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+
+ if (mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
+ service_h service;
+ if (SERVICE_ERROR_NONE != service_create(&service))
+ {
+ debug_log("creating service handle failed");
+ return;
+ }
+
+ service_add_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SELECT_ACCOUNT);
+ mailbox_ugd->ug_setting = create_setting_ug(UG_NAME_EMAIL_SETTING, service, mailbox_ugd);
+ service_destroy(service);
+}
void _create_controlbar(EmailMailboxUGD *mailbox_ugd)
{
@@ -667,8 +766,6 @@ void _create_controlbar(EmailMailboxUGD *mailbox_ugd)
_delete_selection_info(mailbox_ugd);
- elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar");
-
_delete_controlbar(mailbox_ugd);
switch (mailbox_ugd->view_type) {
@@ -678,10 +775,10 @@ void _create_controlbar(EmailMailboxUGD *mailbox_ugd)
case EMAIL_VIEW_RECIPIENT:
case EMAIL_VIEW_ATTACHMENTS:
case EMAIL_VIEW_PRIORITY:
- mailbox_ugd->controlbar_btns = create_control_option(mailbox_ugd);
+ create_control_option(mailbox_ugd);
break;
case EMAIL_VIEW_EDIT:
- mailbox_ugd->controlbar_btns = create_edit_control_option(mailbox_ugd);
+ create_edit_control_option(mailbox_ugd);
break;
default:
break;
@@ -691,14 +788,23 @@ void _create_controlbar(EmailMailboxUGD *mailbox_ugd)
void _delete_controlbar(EmailMailboxUGD *mailbox_ugd)
{
debug_log("");
- if (mailbox_ugd->controlbar_btns) {
- evas_object_del(mailbox_ugd->controlbar_btns);
- mailbox_ugd->controlbar_btns = NULL;
- //mailbox_ugd->update_button = NULL;
- //mailbox_ugd->edit_button = NULL;
- //mailbox_ugd->edit_cancel_button = NULL;
+
+ if (mailbox_ugd->controlbar_more_btn) {
+ elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "toolbar_more_btn");
+ evas_object_del(mailbox_ugd->controlbar_more_btn);
+ mailbox_ugd->controlbar_more_btn = NULL;
mailbox_ugd->delete_all_button = NULL;
}
+ if (mailbox_ugd->controlbar_lbtn) {
+ elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "toolbar_button1");
+ evas_object_del(mailbox_ugd->controlbar_lbtn);
+ mailbox_ugd->controlbar_lbtn = NULL;
+ }
+ if (mailbox_ugd->controlbar_rbtn) {
+ elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "toolbar_button2");
+ evas_object_del(mailbox_ugd->controlbar_rbtn);
+ mailbox_ugd->controlbar_rbtn = NULL;
+ }
}
static void _compose_toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info)
@@ -766,65 +872,70 @@ static void _compose_toolbar_clicked_cb(void *data, Evas_Object *obj, void *even
static Evas_Object *create_control_option(EmailMailboxUGD *mailbox_ugd)
{
debug_log("");
- Evas_Object *control_bar;
-
- control_bar = elm_toolbar_add(mailbox_ugd->navi_bar);
- elm_toolbar_shrink_mode_set(control_bar, ELM_TOOLBAR_SHRINK_EXPAND);
-
- elm_toolbar_item_append(control_bar, ICON_COMPOSE, _("IDS_EMAIL_SK_COMPOSE"),
- _compose_toolbar_clicked_cb, mailbox_ugd);
+ Evas_Object *more_btn, *btn1, *btn2;
- elm_toolbar_item_append(control_bar, ICON_SORTBY, _("IDS_EMAIL_SK_SORT_BY"),
- _viewby_cb, mailbox_ugd);
+ more_btn = _create_toolbar_more_btn(mailbox_ugd->navi_bar, _more_toolbar_clicked_cb, mailbox_ugd);
+ elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "toolbar_more_btn", more_btn);
+ mailbox_ugd->controlbar_more_btn = more_btn;
- elm_toolbar_item_append(control_bar, ICON_DELETE_ALL, _("IDS_EMAIL_SK_DELETE_ALL"),
- _delete_all_emails_cb, mailbox_ugd);
+ btn1 = _create_toolbar_btn(mailbox_ugd->navi_bar, _("IDS_EMAIL_SK_COMPOSE"), _compose_toolbar_clicked_cb, mailbox_ugd);
+ elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "toolbar_button1", btn1);
+ mailbox_ugd->controlbar_lbtn = btn1;
+ btn2 = _create_toolbar_btn(mailbox_ugd->navi_bar, _("IDS_EMAIL_SK_SORT_BY"), _viewby_cb, mailbox_ugd);
+ elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "toolbar_button2", btn2);
+ mailbox_ugd->controlbar_rbtn = btn2;
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", control_bar);
-
- return control_bar;
+ return NULL;
+}
+static Evas_Object *_create_toolbar_more_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data)
+{
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) return NULL;
+ elm_object_style_set(btn, "naviframe/more/default");
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ return btn;
+}
+static Evas_Object *_create_toolbar_btn(Evas_Object *parent, const char *text, Evas_Smart_Cb func, void *data)
+{
+ Evas_Object *btn = elm_button_add(parent);
+ if (!btn) return NULL;
+ elm_object_style_set(btn, "naviframe/toolbar/default");
+ elm_object_text_set(btn, text);
+ evas_object_smart_callback_add(btn, "clicked", func, data);
+ return btn;
}
-
static Evas_Object *create_edit_control_option(EmailMailboxUGD *mailbox_ugd)
{
debug_log("");
- Evas_Object *control_bar;
- email_mailbox_type_e mbox_type = EMAIL_MAILBOX_TYPE_NONE;
- mbox_type = GET_MAILBOX_TYPE(mailbox_ugd->mailbox_id);
+ //email_mailbox_type_e mbox_type = EMAIL_MAILBOX_TYPE_NONE;
+ //mbox_type = GET_MAILBOX_TYPE(mailbox_ugd->mailbox_id);
- g_delete_button = NULL;
- g_move_button = NULL;
- g_block_button = NULL;
- g_markunread_button = NULL;
+ Evas_Object *delete_btn, *move_btn, *more_btn;
- control_bar = elm_toolbar_add(mailbox_ugd->navi_bar);
- elm_toolbar_shrink_mode_set(control_bar, ELM_TOOLBAR_SHRINK_EXPAND);
+ more_btn = _create_toolbar_more_btn(mailbox_ugd->navi_bar, _more_toolbar_clicked_cb, mailbox_ugd);
+ elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "toolbar_more_btn", more_btn);
+ mailbox_ugd->controlbar_more_btn = more_btn;
- g_delete_button = elm_toolbar_item_append(control_bar, ICON_DELETE,
- dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_mail_cb, mailbox_ugd);
+ delete_btn = _create_toolbar_btn(mailbox_ugd->navi_bar, dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_mail_cb, mailbox_ugd);
+ elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "toolbar_button1", delete_btn);
+ mailbox_ugd->controlbar_lbtn = delete_btn;
- if (mailbox_ugd->mode != EMAIL_MAILBOX_MODE_ALL && mbox_type != EMAIL_MAILBOX_TYPE_OUTBOX && mbox_type != EMAIL_MAILBOX_TYPE_DRAFT)
- {
- g_move_button = elm_toolbar_item_append(control_bar, ICON_MOVE,
- dgettext("sys_string", "IDS_COM_BODY_MOVE"), _move_mail_cb, mailbox_ugd);
- }
- if (mbox_type != EMAIL_MAILBOX_TYPE_DRAFT && mbox_type != EMAIL_MAILBOX_TYPE_OUTBOX &&
- mbox_type != EMAIL_MAILBOX_TYPE_SPAMBOX && mbox_type != EMAIL_MAILBOX_TYPE_SENTBOX)
- {
- g_block_button = elm_toolbar_item_append(control_bar, ICON_BLOCK,
- _("IDS_EMAIL_SK_BLOCK"), _block_mail_cb, mailbox_ugd);
+ if (!mailbox_ugd->isRotate) {
+ move_btn = _create_toolbar_btn(mailbox_ugd->navi_bar, dgettext("sys_string", "IDS_COM_BODY_MOVE"), _move_mail_cb, mailbox_ugd);
+ elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "toolbar_button2", move_btn);
+ mailbox_ugd->controlbar_rbtn = move_btn;
}
- g_markunread_button = elm_toolbar_item_append(control_bar, ICON_MARKUNREAD,
- _("IDS_EMAIL_OPT_MARK_AS_UNREAD"), _markunread_mail_cb, mailbox_ugd);
+ return NULL;
-// mailbox_ugd->edit_cancel_button = elm_toolbar_item_append(control_bar, ICON_CANCEL,
-// NULL/*dgettext("sys_string", "IDS_COM_SK_CANCEL")*/, _edit_back_cb, mailbox_ugd);
+}
- return control_bar;
+static void _timeout_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ evas_object_del(obj);
}
static void _move_mail_cb(void *data, Evas_Object *obj, void *event_info)
@@ -847,6 +958,15 @@ static void _move_mail_cb(void *data, Evas_Object *obj, void *event_info)
EINA_LIST_FOREACH(list, cur, ld) {
if (first_account_id != ld->account_id) {
debug_log("first_account_id : %d, account_id : %d", first_account_id, ld->account_id);
+
+ Evas_Object *popup = elm_popup_add(mailbox_ugd->win_main);
+ evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_object_text_set(popup,"Unable to move emails from multiple accounts at once");
+ evas_object_smart_callback_add(popup, "block,clicked", _block_clicked_cb, NULL);
+ elm_popup_timeout_set(popup, 3.0);
+ evas_object_smart_callback_add(popup, "timeout", _timeout_cb, NULL);
+ evas_object_show(popup);
+
return;
}
}
diff --git a/mailbox/src/email-mailbox-item.c b/mailbox/src/email-mailbox-item.c
index de59baf..ebdae4b 100755
--- a/mailbox/src/email-mailbox-item.c
+++ b/mailbox/src/email-mailbox-item.c
@@ -64,8 +64,8 @@ static Eina_Bool _create_mailbox_list_view(void *data)
email_movefolder_list *move_folder = (email_movefolder_list *) calloc(mailbox_count, sizeof(email_movefolder_list));
for (i = 0; i < mailbox_count; ++i) {
-
- if (mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_OUTBOX &&
+ if (mailbox_list[i].mailbox_id != mailbox_ugd->mailbox_id &&
+ mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_OUTBOX &&
mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_SENTBOX &&
mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_DRAFT &&
mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_TRASH &&
@@ -73,11 +73,22 @@ static Eina_Bool _create_mailbox_list_view(void *data)
mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_SEARCH_RESULT) {
debug_log("mailbox_name: [%s], mailbox_alias: [%s] ", mailbox_list[i].mailbox_name, mailbox_list[i].alias);
- if (g_strcmp0(mailbox_list[i].alias, "[Gmail]")) {
+ if (g_strcmp0(mailbox_list[i].alias, "[Gmail]") && !mailbox_list[i].no_select) {
move_folder[i].mailbox_list = &mailbox_list[i];
move_folder[i].mailbox_ugd = mailbox_ugd;
elm_genlist_item_append(genlist, &itc_mailbox, &move_folder[i], NULL, ELM_GENLIST_ITEM_NONE, _mailbox_list_item_clicked, NULL);
+ } else {
+ move_folder[i].mailbox_list = &mailbox_list[i];
+ move_folder[i].mailbox_ugd = mailbox_ugd;
+ Elm_Object_Item *item = elm_genlist_item_append(genlist, &itc_mailbox, &move_folder[i], NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_object_item_disabled_set(item, EINA_TRUE);
}
+
+ } else {
+ move_folder[i].mailbox_list = &mailbox_list[i];
+ move_folder[i].mailbox_ugd = mailbox_ugd;
+ Elm_Object_Item *item = elm_genlist_item_append(genlist, &itc_mailbox, &move_folder[i], NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+ elm_object_item_disabled_set(item, EINA_TRUE);
}
}
mailbox_ugd->move_folder_list = move_folder;
@@ -174,6 +185,13 @@ static void _mailbox_list_move_cancel_cb(void *data, Evas_Object *obj, void *eve
_stop_emf_job(mailbox_ugd, mailbox_ugd->emf_handle, true);
elm_naviframe_item_pop(mailbox_ugd->navi_bar);
+ if(mailbox_ugd->selected_list) {
+ g_list_free(mailbox_ugd->selected_list);
+ mailbox_ugd->selected_list = NULL;
+ }
+ email_free_mailbox(&(mailbox_ugd->move_folder_list->mailbox_list), mailbox_ugd->move_folder_cnt);
+ FREE(mailbox_ugd->move_folder_list);
+
if (_g_move_lock) {
_g_move_lock = false;
}
diff --git a/mailbox/src/email-mailbox-list.c b/mailbox/src/email-mailbox-list.c
index c40d527..9d364f9 100755
--- a/mailbox/src/email-mailbox-list.c
+++ b/mailbox/src/email-mailbox-list.c
@@ -30,6 +30,7 @@ Eina_List *edit_list = NULL;
gboolean list_lock = false;
char *group_title[EMAIL_GROUP_MAX][2];
static bool b_first_time_after_get_more = false;
+static bool b_enable_get_more = false;
static Elm_Object_Item *g_get_more_progress_item;
static Elm_Genlist_Item_Class itc_get_more_progress;
Elm_Object_Item *g_selected_item;
@@ -303,6 +304,7 @@ static void _add_get_more_progress_item(EmailMailboxUGD *mailbox_ugd)
debug_log("");
evas_object_smart_callback_del(mailbox_ugd->gl[mailbox_ugd->view_type], "edge,bottom", _get_more_clicked_cb);
+ b_enable_get_more = false;
itc_get_more_progress.item_style = "1text.1icon.2";
itc_get_more_progress.func.text_get = _gl_get_more_btn_text_get;
@@ -323,6 +325,7 @@ static void _add_get_more_progress_item(EmailMailboxUGD *mailbox_ugd)
elm_genlist_item_bring_in(g_get_more_progress_item, ELM_GENLIST_ITEM_SCROLLTO_IN);
evas_object_smart_callback_add(mailbox_ugd->gl[mailbox_ugd->view_type], "edge,bottom", _get_more_clicked_cb, mailbox_ugd);
+ b_enable_get_more = true;
debug_leave();
}
@@ -365,7 +368,7 @@ static Evas_Object *_create_progress_part_in_outbox(list_data *ld, Evas_Object *
return NULL;
}
- switch(ld->is_sending_now) {
+ switch(ld->mail_status) {
case EMAIL_MAIL_STATUS_SENDING: {
/* Since mail send is in progress,
add a process icon to the entry in mail list view */
@@ -416,7 +419,7 @@ static Evas_Object *_create_progress_part_in_outbox(list_data *ld, Evas_Object *
}
default:
- debug_critical("unexpected sending status of an email in Outbox - sending_status [%d]", ld->is_sending_now);
+ debug_critical("unexpected sending status of an email in Outbox - sending_status [%d]", ld->mail_status);
break;
}
@@ -434,7 +437,7 @@ static void _realized_cb(void *data, Evas_Object *obj, void *event_info)
return;
list_data *ld = (list_data*)elm_object_item_data_get(item);
- switch(ld->is_sending_now) {
+ switch(ld->mail_status) {
case EMAIL_MAIL_STATUS_SENDING:
case EMAIL_MAIL_STATUS_SEND_WAIT:
if(ld->item)
@@ -450,27 +453,6 @@ static void _realized_cb(void *data, Evas_Object *obj, void *event_info)
default:
break;
}
-
- if (ld->thread_count > 0 && ld->mailbox_ugd->b_thread_list)
- { // Thread 1 case, should show thread_count(UX request)
- if(ld->mailbox_ugd->view_type == EMAIL_VIEW_DATE
- || (ld->mailbox_ugd->previous_view == EMAIL_VIEW_DATE && (ld->mailbox_ugd->view_type == EMAIL_VIEW_SEARCH
- || ld->mailbox_ugd->view_type == EMAIL_VIEW_EDIT)))
- elm_object_item_signal_emit(ld->item, "elm,state,num", "elm");
- }
- if (ld->is_attachment == true) {
- elm_object_item_signal_emit(ld->item, "elm,state,attach", "elm");
- }
-#if 0 // priority icon position is the same with the lastverb icon position
- if(ld->priority != EMAIL_OPTION_PRIORITY_NORMAL) {
- elm_object_item_signal_emit(ld->item, "elm,state,priority", "elm");
- }
-#endif
-
- if( ld->priority == EMAIL_OPTION_PRIORITY_HIGH || ld->reply_flag || ld->forward_flag) {
- elm_object_item_signal_emit(ld->item, "elm,state,lastverb", "elm");
- }
-
if (ld->is_seen == true) {
elm_object_item_signal_emit(ld->item, "elm,state,read", "elm");
} else {
@@ -550,9 +532,10 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
return NULL;
}
+ Evas_Object *icon = NULL;
list_data *ld = (list_data *)data;
- if (!g_strcmp0(source, "elm.icon.colorbar")) {
+ if (!g_strcmp0(source, "elm.swallow.colorbar")) {
Evas_Object *small_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_size_hint_fill_set(small_rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -563,76 +546,69 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
evas_object_color_set(small_rect, r, g, b, a);
return (void *)small_rect;
-
- } else if (!g_strcmp0(source, "elm.icon.important")) {
- if(ld->followup_flag > EMAIL_FLAG_FLAGED)
- {
- ld->flag_ic = elm_icon_add(obj);
- evas_object_event_callback_add(ld->flag_ic, EVAS_CALLBACK_MOUSE_DOWN, _item_followup_flag_touched_cb, data);
-
- switch(ld->followup_flag)
- {
- case EMAIL_FLAG_TASK_STATUS_CLEAR:
- elm_icon_file_set(ld->flag_ic, IMGDIR "/M02_email_Flag_Clear.png", NULL);
- break;
- case EMAIL_FLAG_TASK_STATUS_ACTIVE:
- elm_icon_file_set(ld->flag_ic, IMGDIR "/M02_email_Flag_Active.png", NULL);
- break;
- case EMAIL_FLAG_TASK_STATUS_COMPLETE:
- elm_icon_file_set(ld->flag_ic, IMGDIR "/M02_email_Flag_Complete.png", NULL);
- break;
- }
- elm_icon_resizable_set(ld->flag_ic, 0, 1);
- evas_object_image_smooth_scale_set(ld->flag_ic, 0);
- //evas_object_propagate_events_set(flag_ic, EINA_FALSE);
- return ld->flag_ic;
- }
- else
- {
- ld->important = elm_check_add(obj);
- elm_check_state_pointer_set(ld->important, (Eina_Bool *)&ld->imp_sel);
- elm_object_style_set(ld->important, "favorite/extended");
- evas_object_smart_callback_add(ld->important, "changed", _important_status_changed_cb, data);
- evas_object_propagate_events_set(ld->important, EINA_FALSE);
- return ld->important;
- }
-
- } else if (!g_strcmp0(source, "elm.icon.important.touch")) {
- if(ld->followup_flag > EMAIL_FLAG_FLAGED)
- {
- Evas_Object *small_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_fill_set(small_rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_color_set(small_rect, 0, 0, 0, 0);
-
- evas_object_event_callback_add(small_rect, EVAS_CALLBACK_MOUSE_DOWN, _item_followup_flag_touched_cb, data);
- evas_object_propagate_events_set(small_rect, EINA_FALSE);
- return small_rect;
- }
- }
-
- else if (!g_strcmp0(source, "elm.icon.checkbox")) {
+ } else if (!g_strcmp0(source, "elm.icon.1")) {
ld->check = elm_check_add(obj);
elm_check_state_pointer_set(ld->check, (Eina_Bool *)&ld->chksel);
evas_object_smart_callback_add(ld->check, "changed", _item_check_changed_cb, data);
evas_object_propagate_events_set(ld->check, EINA_FALSE);
return ld->check;
- }
-
- else if(!g_strcmp0(source, "elm.icon.checkbox.touch")) {
- Evas_Object *small_rect = evas_object_rectangle_add(evas_object_evas_get(obj));
- evas_object_size_hint_fill_set(small_rect, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_color_set(small_rect, 0, 0, 0, 0);
- evas_object_event_callback_add(small_rect, EVAS_CALLBACK_MOUSE_DOWN, _item_check_touched_cb, data);
- evas_object_propagate_events_set(small_rect, EINA_FALSE);
+ } else if(!g_strcmp0(source, "elm.icon.2")){
+ if(ld->priority == EMAIL_OPTION_PRIORITY_HIGH) {
+ icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, IMGDIR "/M02_email_icon_priority.png", NULL);
+ elm_icon_resizable_set(icon, 0, 0);
+ evas_object_image_smooth_scale_set(icon, 0);
+ evas_object_show(icon);
+ return (void *)icon;
+ } else if(ld->reply_flag) {
+ icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, IMGDIR "/M02_email_icon_reply.png", NULL);
+ elm_icon_resizable_set(icon, 0, 0);
+ evas_object_image_smooth_scale_set(icon, 0);
+ evas_object_show(icon);
+ return (void *)icon;
+ } else if (ld->forward_flag) {
+ icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, IMGDIR "/M02_email_icon_forward.png", NULL);
+ elm_icon_resizable_set(icon, 0, 0);
+ evas_object_image_smooth_scale_set(icon, 0);
+ evas_object_show(icon);
+ return (void *)icon;
+ }
+ } else if(!g_strcmp0(source, "elm.icon.3")) {
+ Evas_Object *box = elm_box_add(obj);
+ evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_box_horizontal_set(box, EINA_TRUE);
+ elm_box_padding_set(box, 10, 0);
+
+ ld->important = elm_check_add(obj);
+ elm_check_state_pointer_set(ld->important, (Eina_Bool *)&ld->imp_sel);
+ elm_object_style_set(ld->important, "favorite/extended");
+ evas_object_smart_callback_add(ld->important, "changed", _important_status_changed_cb, data);
+ evas_object_propagate_events_set(ld->important, EINA_FALSE);
+ evas_object_size_hint_min_set(ld->important, 80, 60);
+ evas_object_show(ld->important);
+ elm_box_pack_end(box, ld->important);
- return small_rect;
- }
- else if(!g_strcmp0(source, "elm.icon.num")){
+ if(ld->is_attachment == true)
+ {
+ icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, IMGDIR "/M02_email_icon_attach.png", NULL);
+ evas_object_size_hint_min_set(icon, 35, 35);
+ evas_object_show(icon);
+ elm_box_pack_start(box, icon);
+ }
- }
+ icon = evas_object_rectangle_add(evas_object_evas_get(obj));
+ evas_object_color_set(icon, 0, 0, 0, 0);
+ evas_object_size_hint_min_set(icon, 6, 16);
+ evas_object_show(icon);
+ elm_box_pack_start(box, icon);
- else if (!g_strcmp0(source, "elm.slide.swallow.1")) {
+ return box;
+ } else if (!g_strcmp0(source, "elm.slide.swallow.1")) {
/* First button of Sweep Menu */
if (NULL == ld->mailbox_ugd) {
debug_critical(" ld->mailbox_ugd [%p] ", ld->mailbox_ugd);
@@ -663,8 +639,7 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
{
return _create_sweep_forward_button(obj,ld);
}
- }
- else if (!g_strcmp0(source, "elm.slide.swallow.3")) {
+ } else if (!g_strcmp0(source, "elm.slide.swallow.3")) {
/* 3rd button of Sweep Menu */
if (NULL == ld->mailbox_ugd) {
debug_critical(" ld->mailbox_ugd [%p] ", ld->mailbox_ugd);
@@ -687,8 +662,7 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
} else {
return _create_sweep_read_unread_button(obj,ld);
}
- }
- else if (!g_strcmp0(source, "elm.slide.swallow.4")) {
+ } else if (!g_strcmp0(source, "elm.slide.swallow.4")) {
/* 4th button of Sweep Menu */
if (NULL == ld->mailbox_ugd) {
debug_critical(" ld->mailbox_ugd [%p] ", ld->mailbox_ugd);
@@ -703,8 +677,7 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
{
return _create_sweep_delete_button(obj, ld);
}
- }
- else if (0 == g_strcmp0(source, "elm.swallow.outbox.progress")) {
+ } else if (!g_strcmp0(source, "elm.swallow.outbox.progress")) {
Evas_Object *outbox_progress_part = NULL;
@@ -717,18 +690,6 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
}
return (void *)outbox_progress_part;
}
- else if(!g_strcmp0(source, "elm.icon.attach"))
- {
- if(ld->is_attachment == true)
- {
- Evas_Object *ic = elm_icon_add(obj);
- elm_icon_file_set(ic, IMGDIR "/M02_email_icon_attach.png", NULL);
- elm_icon_resizable_set(ic, 0, 0);
- evas_object_image_smooth_scale_set(ic, 0);
- evas_object_show(ic);
- return (void *)ic;
- }
- }
#if 0 // support low priority message, priority icon postion is changed
else if(!g_strcmp0(source, "elm.icon.priority"))
{
@@ -752,44 +713,7 @@ static Evas_Object *_gl_mail_item_content_get(void *data, Evas_Object *obj, cons
}
}
#endif
- else if(!g_strcmp0(source, "elm.icon.lastverb"))
- {
- if(ld->priority == EMAIL_OPTION_PRIORITY_HIGH) {
- Evas_Object *ic = elm_icon_add(obj);
- elm_icon_file_set(ic, IMGDIR "/M02_email_icon_priority.png", NULL);
- elm_icon_resizable_set(ic, 0, 0);
- evas_object_image_smooth_scale_set(ic, 0);
- evas_object_show(ic);
- return (void *)ic;
- } else if(ld->reply_flag || ld->forward_flag) {
- Evas_Object *ic = elm_icon_add(obj);
- if(ld->reply_flag == true)
- elm_icon_file_set(ic, IMGDIR "/M02_email_icon_reply.png", NULL);
- else
- elm_icon_file_set(ic, IMGDIR "/M02_email_icon_forward.png", NULL);
- elm_icon_resizable_set(ic, 0, 0);
- evas_object_image_smooth_scale_set(ic, 0);
- evas_object_show(ic);
- return (void *)ic;
- }
- }
-#if 0
- else if(!g_strcmp0(source, "elm.icon.appointment"))
- {
- if(ld->priority == 1)
- {
- if(ld->item)
- edje_object_signal_emit((Evas_Object *)elm_genlist_item_object_get(ld->item), "elm,state,priority", "elm");
- Evas_Object *ic = elm_icon_add(obj);
- elm_icon_file_set(ic, IMGDIR "/05_email_icon_attach_30x30.png", NULL);
- elm_icon_resizable_set(ic, 0, 0);
- evas_object_image_smooth_scale_set(ic, 0);
- evas_object_show(ic);
- return (void *)ic;
- }
- }
-#endif
return NULL;
}
@@ -807,13 +731,13 @@ static char *_gl_mail_item_text_get(void *data, Evas_Object *obj, const char *pa
debug_warning("mailbox_ugd is NULL");
return NULL;
}
- if (!g_strcmp0(part, "elm.text.subject")) {
+ if (!g_strcmp0(part, "elm.text.1")) {
char title[SUBJECT_LEN + TAG_LEN*2 + 1] = {0}; /* two tags can be inserted */
strncat(title, ld->title, SUBJECT_LEN + TAG_LEN); /* search tag may be contained */
- strcat(title, "</>");
+ //strcat(title, "</>");
return g_strdup(title);
- } else if (!g_strcmp0(part, "elm.text.name")) {
+ } else if (!g_strcmp0(part, "elm.text.2")) {
/*
if (ld->from == NULL) {
debug_log("from is NULL");
@@ -842,7 +766,7 @@ static char *_gl_mail_item_text_get(void *data, Evas_Object *obj, const char *pa
return g_strdup(ld->alias);
}
- } else if (!g_strcmp0(part, "elm.text.date")) {
+ } else if (!g_strcmp0(part, "elm.text.3")) {
if (ld->timeordate == NULL) {
debug_log("timeordate is NULL");
@@ -853,7 +777,7 @@ static char *_gl_mail_item_text_get(void *data, Evas_Object *obj, const char *pa
return g_strdup("");
else
return g_strdup(ld->timeordate);
- } else if (!g_strcmp0(part, "elm.text.preview")) {
+ } else if (!g_strcmp0(part, "elm.text.4")) {
if (ld->preview_body == NULL) {
debug_log("preview text is NULL");
return NULL;
@@ -863,10 +787,6 @@ static char *_gl_mail_item_text_get(void *data, Evas_Object *obj, const char *pa
} else if (!g_strcmp0(part, "elm.slide.text.1")) { /* Subject is to be displayed in Sweep Menu. ld->title stores Subject of email */
return g_strdup(ld->title);
- } else if(!g_strcmp0(part,"elm.text.num")) {
- char thread_cnt[10] = { 0, };
- sprintf(thread_cnt, "%d", ld->thread_count);
- return g_strdup(thread_cnt);
} else {
debug_log("");
return NULL;
@@ -967,8 +887,7 @@ void mailbox_create_list_view(EmailMailboxUGD *mailbox_ugd)
}
/* Set genlist item class */
- mailbox_ugd->itc1.item_style = "4text.8icon";
-
+ mailbox_ugd->itc1.item_style = "email.list";
mailbox_ugd->itc1.func.text_get = _gl_mail_item_text_get;
mailbox_ugd->itc1.func.content_get = _gl_mail_item_content_get;
mailbox_ugd->itc1.func.state_get = NULL;
@@ -994,7 +913,7 @@ void mailbox_create_list_view(EmailMailboxUGD *mailbox_ugd)
elm_object_style_set(gl, "handler");
elm_genlist_block_count_set(gl, BLOCK_COUNT);
elm_genlist_homogeneous_set(gl, EINA_TRUE);
- elm_genlist_mode_set(gl, ELM_LIST_COMPRESS);
+ //elm_genlist_mode_set(gl, ELM_LIST_COMPRESS); //genlist is updated when rotate event is detected(Resize)
elm_genlist_select_mode_set(gl, ELM_OBJECT_SELECT_MODE_ALWAYS);
evas_object_size_hint_align_set(gl, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -1010,6 +929,7 @@ void mailbox_create_list_view(EmailMailboxUGD *mailbox_ugd)
{
evas_object_smart_callback_add(gl, "edge,bottom", _get_more_clicked_cb, mailbox_ugd);
+ b_enable_get_more = true;
}
evas_object_show(gl);
@@ -1088,13 +1008,13 @@ void _item_check_changed_cb(void *data, Evas_Object *obj, void *event_info)
list_data *ld = (list_data *)data;
if (ld != NULL) {
- if (ld->is_sending_now == EMAIL_MAIL_STATUS_SENDING || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_WAIT) {
+ if (ld->mail_status == EMAIL_MAIL_STATUS_SENDING || ld->mail_status == EMAIL_MAIL_STATUS_SEND_WAIT) {
debug_log("email being sent selected - unselect it");
elm_check_state_set(ld->check, EINA_FALSE);
return;
}
+ _process_item_check_changed_cb(ld);
}
- _process_item_check_changed_cb(ld);
}
void _item_check_touched_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info)
@@ -1146,7 +1066,6 @@ static void _process_item_check_changed_cb(list_data *ld)
evas_object_hide(mailbox_ugd->searchbar_layout);
_create_controlbar(mailbox_ugd);
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "controlbar", mailbox_ugd->controlbar_btns);
elm_object_disabled_set(mailbox_ugd->folder_button, EINA_TRUE);
}
else if(cnt <= 0)
@@ -1208,8 +1127,8 @@ static void _list_item_clicked(void *data, Evas_Object *obj, void *event_info)
if ((mbox->mailbox_type == EMAIL_MAILBOX_TYPE_DRAFT
|| (mbox->mailbox_type == EMAIL_MAILBOX_TYPE_OUTBOX
- && (ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_CANCELED
- || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_FAILURE)))
+ && (ld->mail_status == EMAIL_MAIL_STATUS_SEND_CANCELED
+ || ld->mail_status == EMAIL_MAIL_STATUS_SEND_FAILURE)))
&& email_engine_check_body_download(ld->mail_id)) {
if (ld->mailbox_ugd->ug_composer) {
@@ -1544,7 +1463,7 @@ list_data *make_list_data(email_mail_list_item_t* mail_info, const EmailSearchDa
ld->is_body_download = mail_info->body_download_status;
ld->account_id = mail_info->account_id;
ld->imp_sel = mail_info->flags_flagged_field;
- ld->is_sending_now = mail_info->save_status;
+ ld->mail_status = mail_info->save_status;
ld->mailbox_id = mail_info->mailbox_id;
ld->preview_body = STRNDUP(mail_info->preview_text, MAX_PREVIEW_TEXT_LENGTH - 1);
ld->reply_flag = mail_info->flags_answered_field;
@@ -1567,12 +1486,33 @@ list_data *make_list_data(email_mail_list_item_t* mail_info, const EmailSearchDa
debug_log("alias: %s", ld->alias);
if(mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX &&
- (ld->mailbox_type == EMAIL_MAILBOX_TYPE_OUTBOX ||
- ld->mailbox_type == EMAIL_MAILBOX_TYPE_SENTBOX ||
- ld->mailbox_type == EMAIL_MAILBOX_TYPE_DRAFT)) {
+ (mailbox_ugd->mailbox_type == EMAIL_MAILBOX_TYPE_OUTBOX ||
+ mailbox_ugd->mailbox_type == EMAIL_MAILBOX_TYPE_SENTBOX ||
+ mailbox_ugd->mailbox_type == EMAIL_MAILBOX_TYPE_DRAFT)) {
/* recipient display name from email alais */
+ email_address_info_list_t *addrs_info_list = NULL;
+ email_address_info_t *addrs_info = NULL;
+ email_get_address_info_list(ld->mail_id, &addrs_info_list);
+
+ if(addrs_info_list) {
+ if(addrs_info_list->to) {
+ addrs_info = g_list_nth_data(addrs_info_list->to, 0);
+ }
+
+ if(addrs_info) {
+ if (addrs_info->display_name)
+ ld->recipient = STRNDUP(addrs_info->display_name, RECIPIENT_LEN - 1);
+ else
+ ld->recipient = STRNDUP(addrs_info->address, RECIPIENT_LEN - 1);
+ }
+ email_free_address_info_list(&addrs_info_list);
+ } else {
+ ld->recipient = STRNDUP(dgettext("sys_string", "IDS_COM_BODY_NO_NAME"), RECIPIENT_LEN - 1);
+ }
+ /*
UTF8_VALIDATE(mail_info->email_address_recipient, RECIPIENT_LEN - 1);
ld->recipient = GET_NAME_FROM_ALIAS(mail_info->email_address_recipient, RECIPIENT_LEN - 1);
+ */
debug_log("info->recipient: %s", ld->recipient);
} else {
/* sender display name from email alias */
@@ -2268,7 +2208,6 @@ void _edit_back_cb(void *data, Evas_Object *obj, void *event_info)
if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT && mailbox_ugd->isRotate == true)
{
- elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar");
_delete_controlbar(mailbox_ugd);
email_maillist_select_info(mailbox_ugd);
}
@@ -2456,6 +2395,23 @@ void _refresh_mailbox(EmailMailboxUGD *mailbox_ugd)
_create_mail_list(mailbox_ugd);
}
+void _refresh_mailbox_fullview(EmailMailboxUGD *mailbox_ugd)
+{
+ debug_log("");
+ _refresh_mailbox(mailbox_ugd);
+ _update_navigationbar_title(mailbox_ugd);
+
+ if(mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
+ if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT)
+ {
+ email_maillist_select_info(mailbox_ugd);
+ }
+}
+
void _create_mail_list(EmailMailboxUGD *mailbox_ugd)
{
debug_log("");
@@ -2652,17 +2608,22 @@ void _make_account_mail_list(void *data)
mailbox_ugd->mailbox_type = GET_MAILBOX_TYPE(mailbox_ugd->mailbox_id);
email_account_t *account;
- email_get_account(mailbox_ugd->account_id, EMAIL_ACC_GET_OPT_DEFAULT, &account);
- elm_icon_file_set(mailbox_ugd->sp_icon, account->logo_icon_path, NULL);
+ int err = 0;
+ err = email_get_account(mailbox_ugd->account_id, EMAIL_ACC_GET_OPT_DEFAULT, &account);
+ if (err == EMAIL_ERROR_NONE) {
+ elm_icon_file_set(mailbox_ugd->sp_icon, account->logo_icon_path, NULL);
+ }
elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_sub", mailbox_ugd->user_email);
- if(account) email_free_account(&account, 1);
+ if (account) {
+ elm_icon_file_set(mailbox_ugd->sp_icon, account->logo_icon_path, NULL);
+ email_free_account(&account, 1);
+ }
}
if (mailbox_ugd->isRotate == false) {
_create_controlbar(mailbox_ugd);
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", mailbox_ugd->controlbar_btns);
}
_refresh_mailbox(mailbox_ugd);
@@ -2939,7 +2900,7 @@ void _worker_get_move_mail_list_cb(void* data, Ecore_Thread *thd)
debug_log("idx: [%d]", *idx);
ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[vt]);
if(ld) {
- ld->is_sending_now = EMAIL_MAIL_STATUS_SENT;
+ ld->mail_status = EMAIL_MAIL_STATUS_SENT;
delete_ret_t *ret = MEM_ALLOC(ret, 1);
if(!ret) return;
*ret = (delete_ret_t) {ld, *idx};
@@ -3356,4 +3317,27 @@ static void reset_busy_cb(void *data, Evas *e, Evas_Object *o, void *info)
is_main_thread_busy = false;
}
+void reset_get_more_progress_callback_status(EmailMailboxUGD *mailbox_ugd)
+{
+ debug_log("");
+
+ if ((mailbox_ugd->view_type == EMAIL_VIEW_DATE
+ && mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL) ||
+ (mailbox_ugd->view_type == EMAIL_VIEW_DATE
+ && mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX
+ && EMAIL_SERVER_TYPE_ACTIVE_SYNC != GET_ACCOUNT_SERVER_TYPE(mailbox_ugd->account_id)
+ && GET_MAILBOX_TO_GETMORE(mailbox_ugd->mailbox_id) > 0))
+ {
+ if(b_enable_get_more == false) {
+ evas_object_smart_callback_add(mailbox_ugd->gl[mailbox_ugd->view_type], "edge,bottom", _get_more_clicked_cb, mailbox_ugd);
+ b_enable_get_more = true;
+ }
+ } else {
+ if(b_enable_get_more) {
+ evas_object_smart_callback_del(mailbox_ugd->gl[mailbox_ugd->view_type], "edge,bottom", _get_more_clicked_cb);
+ b_enable_get_more = false;
+ }
+ }
+
+}
diff --git a/mailbox/src/email-mailbox-noti-mgr.c b/mailbox/src/email-mailbox-noti-mgr.c
index e0cb85f..c74a521 100755
--- a/mailbox/src/email-mailbox-noti-mgr.c
+++ b/mailbox/src/email-mailbox-noti-mgr.c
@@ -504,11 +504,17 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
default:
break;
}
- elm_segment_control_item_selected_set(mailbox_ugd->date_tab, EINA_TRUE);
_update_navigationbar_title(mailbox_ugd);
mailbox_make_date_mail_list(mailbox_ugd);
_sync_all_folder(mailbox_ugd);
-
+ Evas_Object * sync_button = elm_object_part_content_get(mailbox_ugd->navi_title_ly, "right_btn");
+ if (sync_button == mailbox_ugd->update_button)
+ {
+ elm_object_part_content_unset(mailbox_ugd->navi_title_ly, "right_btn");
+ evas_object_hide(mailbox_ugd->update_button);
+ elm_object_part_content_set(mailbox_ugd->navi_title_ly, "right_btn", mailbox_ugd->sync_progress);
+ evas_object_show(mailbox_ugd->sync_progress);
+ }
}
break;
@@ -643,7 +649,7 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
email_mail_list_item_t* mail_info = NULL;
mail_info = get_mail_info(mailid);
if(!mail_info) break;
- ld->is_sending_now = mail_info->save_status;
+ ld->mail_status = mail_info->save_status;
elm_genlist_item_update(ld->item);
FREE(mail_info);
}
@@ -766,16 +772,41 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
case NOTI_DOWNLOAD_FINISH:
case NOTI_DOWNLOAD_FAIL:
- if (email_check_account_list(data1)) {
+ if (email_check_account_list(data1) || data1 == 0) {
+
+ if(data1 == 0) {
+ /* free list */
+ debug_log("Sync finished when account_id = 0(All inbox case)");
+ int *data = NULL;
+ EINA_LIST_FREE(g_account_list, data) {
+ g_free(data);
+ }
+ }
_remove_get_more_progress_item(mailbox_ugd);
if (mailbox_ugd->sync_progress == elm_object_part_content_get(mailbox_ugd->navi_title_ly, "right_btn"))
{
+ debug_log("2222222222222222222222222");
elm_object_part_content_unset(mailbox_ugd->navi_title_ly, "right_btn");
evas_object_hide(mailbox_ugd->sync_progress);
elm_object_part_content_set(mailbox_ugd->navi_title_ly, "right_btn", mailbox_ugd->update_button);
evas_object_show(mailbox_ugd->update_button);
}
+
+ if(subtype == NOTI_DOWNLOAD_FAIL && (data4 == EMAIL_ERROR_LOGIN_FAILURE || data4 == EMAIL_ERROR_AUTHENTICATE)) {
+ int mailbox_id = 0;
+ if(data2)
+ mailbox_id = atoi(data2);
+
+ debug_log("error : %d, account_id = %d, mailbox_id = %d", data4, data1, mailbox_id);
+ mailbox_ugd->sync_needed_mailbox_id = mailbox_id;
+ mailbox_ugd->sync_needed_account_id = data1;
+ mailbox_create_password_changed_popup(mailbox_ugd);
+ }
+ }
+ else
+ {
+ debug_log("1111111111111111111");
}
break;
diff --git a/mailbox/src/email-mailbox-search.c b/mailbox/src/email-mailbox-search.c
index 1971f16..03cba67 100755
--- a/mailbox/src/email-mailbox-search.c
+++ b/mailbox/src/email-mailbox-search.c
@@ -300,8 +300,6 @@ static void _searchby_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info
{
elm_icon_file_set(searchby_icon, IMGDIR"/M02_email_icon_popup_advanced_press.png", NULL);
}
- else
- goto CLEANUP;
elm_icon_resizable_set(searchby_icon, 0, 0);
evas_object_image_smooth_scale_set(searchby_icon, 0);
@@ -562,17 +560,17 @@ static Eina_Bool _mailbox_create_search_criteria_view(int search_type, void *dat
//should be replaced with new string
if ( search_type == EMAIL_SEARCH_ADVANCED ) {
- navi_item = elm_naviframe_item_push(mailbox_ugd->navi_bar, N_("Advanced search"), btn_back, NULL, genlist_for_search, NULL);
+ navi_item = elm_naviframe_item_push(mailbox_ugd->navi_bar, _("IDS_EMAIL_OPT_ADVANCED"), btn_back, NULL, genlist_for_search, NULL);
} else if ( search_type == EMAIL_SEARCH_DATE ) {
navi_item = elm_naviframe_item_push(mailbox_ugd->navi_bar, N_("Date range"), btn_back, NULL, genlist_for_search, NULL);
}
btn_ok = elm_button_add(mailbox_ugd->navi_bar);
- _mailbox_advanced_view_create_controlbar_button(btn_ok, dgettext("sys_string", "IDS_COM_SK_OK"), "naviframe/title/default", _mailbox_advanced_search_start_cb, data);
+ _mailbox_advanced_view_create_controlbar_button(btn_ok, dgettext("sys_string", "IDS_COM_SK_OK"), NULL, _mailbox_advanced_search_start_cb, data);
elm_object_item_part_content_set(navi_item, "title_left_btn", btn_ok);
btn_cancel = elm_button_add(mailbox_ugd->navi_bar);
- _mailbox_advanced_view_create_controlbar_button(btn_cancel, dgettext("sys_string", "IDS_COM_SK_CANCEL"), "naviframe/title/default", _mailbox_advanced_search_cancel_cb, data);
+ _mailbox_advanced_view_create_controlbar_button(btn_cancel, dgettext("sys_string", "IDS_COM_SK_CANCEL"), NULL, _mailbox_advanced_search_cancel_cb, data);
elm_object_item_part_content_set(navi_item, "title_right_btn", btn_cancel);
elm_object_item_signal_emit(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "elm,state,controlbar,close", "");
@@ -598,7 +596,7 @@ static void _mailbox_advanced_view_create_controlbar_button(Evas_Object *btn, ch
{
EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
- elm_object_style_set(btn, style);
+ //elm_object_style_set(btn, style);
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(btn, EVAS_HINT_FILL, 0.5);
elm_object_text_set(btn, label);
@@ -633,9 +631,9 @@ static void _mailbox_advanced_search_start_cb(void *data, Evas_Object *obj, void
struct tm tm_from;
struct tm tm_to;
- elm_naviframe_item_pop(mailbox_ugd->navi_bar);
-
if (mailbox_ugd) {
+ elm_naviframe_item_pop(mailbox_ugd->navi_bar);
+
search_info = mailbox_ugd->adv_search_info;
if (search_info)
@@ -709,6 +707,9 @@ static void _mailbox_create_list_view_for_advanced_search(void *data, int search
ELM_GENLIST_ITEM_NONE, _gl_advanced_search_sel_cb, &item_data[i]);
} else if (search_type == EMAIL_SEARCH_DATE) {
item_data = (mailbox_search_list_item *)calloc(2, sizeof(mailbox_search_list_item));
+ } else {
+ debug_log("invalid search_type parameter : %d", search_type);
+ return;
}
/* Date From*/
diff --git a/mailbox/src/email-mailbox-sweep.c b/mailbox/src/email-mailbox-sweep.c
index a2d7489..d3466f5 100755
--- a/mailbox/src/email-mailbox-sweep.c
+++ b/mailbox/src/email-mailbox-sweep.c
@@ -32,21 +32,18 @@ static void _popup_response_sweep_delete_ok_cb(void *data, Evas_Object *obj, voi
Evas_Object* _create_sweep_delete_button(Evas_Object* parent,list_data* ld)
{
-
+ debug_enter();
Evas_Object *button = elm_button_add(parent);
elm_object_style_set(button, "sweep/delete");
- if(ld->thread_count > 1 && ld->mailbox_ugd->b_thread_list) {
- elm_object_text_set(button, dgettext("sys_string", "IDS_COM_BODY_DELETE_ALL"));
- }
- else{
+ if (ld) {
elm_object_text_set(button, dgettext("sys_string", "IDS_COM_SK_DELETE"));
- }
- evas_object_smart_callback_add(button, "clicked", _sweep_delete_cb, ld);
+ evas_object_smart_callback_add(button, "clicked", _sweep_delete_cb, ld);
- if (ld != NULL && (ld->is_sending_now == EMAIL_MAIL_STATUS_SENDING || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_WAIT))
- elm_object_disabled_set(button,EINA_TRUE);
+ if (ld->mail_status == EMAIL_MAIL_STATUS_SENDING || ld->mail_status == EMAIL_MAIL_STATUS_SEND_WAIT)
+ elm_object_disabled_set(button,EINA_TRUE);
+ }
return button;
@@ -54,20 +51,22 @@ Evas_Object* _create_sweep_delete_button(Evas_Object* parent,list_data* ld)
Evas_Object* _create_sweep_read_unread_button(Evas_Object* parent,list_data* ld)
{
-
+ debug_enter();
Evas_Object *button = elm_button_add(parent);
elm_object_style_set(button, "sweep/multiline");
- if (ld->is_seen == false)
- elm_object_text_set(button, _("IDS_EMAIL_OPT_MARK_AS_READ"));
- else
- elm_object_text_set(button, _("IDS_EMAIL_OPT_MARK_AS_UNREAD"));
-
- evas_object_smart_callback_add(button, "clicked", _sweep_mark_as_read_unread_cb, ld);
-
- if ((ld != NULL && (ld->is_sending_now == EMAIL_MAIL_STATUS_SENDING || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_WAIT))
- || (ld->thread_count > 1 && ld->mailbox_ugd->b_thread_list))
- {
- elm_object_disabled_set(button,EINA_TRUE);
+ if (ld) {
+ if (ld->is_seen == false)
+ elm_object_text_set(button, _("IDS_EMAIL_OPT_MARK_AS_READ"));
+ else
+ elm_object_text_set(button, _("IDS_EMAIL_OPT_MARK_AS_UNREAD"));
+
+ evas_object_smart_callback_add(button, "clicked", _sweep_mark_as_read_unread_cb, ld);
+
+ if ((ld->mail_status == EMAIL_MAIL_STATUS_SENDING || ld->mail_status == EMAIL_MAIL_STATUS_SEND_WAIT)
+ || (ld->thread_count > 1 && ld->mailbox_ugd->b_thread_list))
+ {
+ elm_object_disabled_set(button,EINA_TRUE);
+ }
}
return button;
@@ -75,13 +74,13 @@ Evas_Object* _create_sweep_read_unread_button(Evas_Object* parent,list_data* ld)
Evas_Object* _create_sweep_move_button(Evas_Object* parent,list_data* ld)
{
-
+ debug_enter();
Evas_Object *button = elm_button_add(parent);
elm_object_style_set(button, "sweep/multiline");
elm_object_text_set(button, dgettext("sys_string", "IDS_COM_BODY_MOVE"));
evas_object_smart_callback_add(button, "clicked", _sweep_move_cb, ld);
- if (ld != NULL && (ld->is_sending_now == EMAIL_MAIL_STATUS_SENDING || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_WAIT))
+ if (ld != NULL && (ld->mail_status == EMAIL_MAIL_STATUS_SENDING || ld->mail_status == EMAIL_MAIL_STATUS_SEND_WAIT))
elm_object_disabled_set(button,EINA_TRUE);
return button;
@@ -89,13 +88,13 @@ Evas_Object* _create_sweep_move_button(Evas_Object* parent,list_data* ld)
Evas_Object* _create_sweep_reply_button(Evas_Object* parent,list_data* ld)
{
-
+ debug_enter();
Evas_Object *button = elm_button_add(parent);
elm_object_style_set(button, "sweep/multiline");
elm_object_text_set(button, dgettext("sys_string", "IDS_COM_SK_REPLY"));
evas_object_smart_callback_add(button, "clicked", _sweep_reply_cb, ld);
- if (ld != NULL && (ld->is_sending_now == EMAIL_MAIL_STATUS_SENDING || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_WAIT))
+ if (ld != NULL && (ld->mail_status == EMAIL_MAIL_STATUS_SENDING || ld->mail_status == EMAIL_MAIL_STATUS_SEND_WAIT))
elm_object_disabled_set(button,EINA_TRUE);
return button;
@@ -104,13 +103,13 @@ Evas_Object* _create_sweep_reply_button(Evas_Object* parent,list_data* ld)
Evas_Object* _create_sweep_forward_button(Evas_Object* parent,list_data* ld)
{
-
+ debug_enter();
Evas_Object *button = elm_button_add(parent);
elm_object_style_set(button, "sweep/multiline");
elm_object_text_set(button, dgettext("sys_string", "IDS_COM_BODY_FORWARD"));
evas_object_smart_callback_add(button, "clicked", _sweep_forward_cb, ld);
- if (ld != NULL && (ld->is_sending_now == EMAIL_MAIL_STATUS_SENDING || ld->is_sending_now == EMAIL_MAIL_STATUS_SEND_WAIT))
+ if (ld != NULL && (ld->mail_status == EMAIL_MAIL_STATUS_SENDING || ld->mail_status == EMAIL_MAIL_STATUS_SEND_WAIT))
elm_object_disabled_set(button,EINA_TRUE);
return button;
diff --git a/mailbox/src/email-mailbox.c b/mailbox/src/email-mailbox.c
index 55049e3..3788ce8 100755
--- a/mailbox/src/email-mailbox.c
+++ b/mailbox/src/email-mailbox.c
@@ -49,6 +49,7 @@ static void _create_all_emails_view(Evas_Object *parent, EmailMailboxUGD *mailbo
static Evas_Object *_create_navigation_layout(Evas_Object *parent);
static void _account_cb(void *data, Evas_Object *obj, void *event_info);
static void _folder_cb(void *data, Evas_Object *obj, void *event_info);
+static void _add_account(void *data);
//static void _process_mailview_back(EmailMailboxUGD *mailbox_ugd);
//static char *_gl_text_get(void *data, Evas_Object *obj, const char *part);
//static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part);
@@ -86,9 +87,12 @@ static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h serv
/* ui-gadget prototype declaration */
/* ============================================================*/
static Evas_Object *create_fullview(Evas_Object *parent, EmailMailboxUGD *mailbox_ugd);
+static void layout_setting_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
static void layout_account_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
static void layout_viewer_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
+static void result_setting_cb(ui_gadget_h ug, service_h service, void *priv);
static void result_cb(ui_gadget_h ug, service_h service, void *priv);
+static void destroy_setting_cb(ui_gadget_h ug, void *priv);
static void destroy_viewer_cb(ui_gadget_h ug, void *priv);
static void destroy_composer_cb(ui_gadget_h ug, void *priv);
static ui_gadget_h create_account_ug(char *ug_name, service_h service, void *data);
@@ -96,12 +100,24 @@ static ui_gadget_h create_folder_ug(char *ug_name, service_h service, void *data
static ui_gadget_h create_viewer_ug(char *ug_name, service_h service, void *data);
static void result_viewer_cb(ui_gadget_h ug, service_h service, void *priv);
+static void _email_mailbox_timezone_change_cb(keynode_t *key, void *data);
+
#define THREADID_MASK 0xFFFF
#define MAILID_MASK (THREADID_MASK << 16)
#define MAX_UTF8_CHAR_SIZE 7
+void _sync_folder_with_new_password(int account_id, int mailbox_id, void *data);
+static void _mailbox_change_password_popup_canceled_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mailbox_change_password_popup_ok_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mailbox_update_account_password(void *data);
+static void _password_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _password_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info);
+static void _password_entry_focused_cb(void *data, Evas_Object *obj, void *event_info);
+static void _password_entry_changed_cb(void *data, Evas_Object *obj, void *event_info);
+
+
#if 0
struct timeval before_time;
struct timeval after_time;
@@ -169,6 +185,9 @@ static Evas_Object *create_fullview(Evas_Object *parent, EmailMailboxUGD *mailbo
mailbox_ugd->view_type = EMAIL_VIEW_DATE;
_create_all_emails_view(parent, mailbox_ugd);
}
+
+ elm_object_signal_emit(mailbox_ugd->panes, "elm,panes,unpair", "");
+
return mailbox_ugd->ly;
}
@@ -242,6 +261,9 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h service, voi
mailbox_ugd->base = NULL;
}
+ email_register_timezone_changed_callback(_email_mailbox_timezone_change_cb, mailbox_ugd);
+
+
return mailbox_ugd->layout_main;
}
@@ -299,6 +321,8 @@ static void on_destroy(ui_gadget_h ug, service_h service, void *priv)
/*elm_theme_extension_del(mailbox_ugd->theme, THEME_PATH);
elm_theme_free(mailbox_ugd->theme);*/
+ email_deregister_timezone_changed_callback(_email_mailbox_timezone_change_cb);
+
_remove_dbus_receiver(mailbox_ugd);
int ret = e_dbus_shutdown();
@@ -476,6 +500,7 @@ static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, voi
case UG_EVENT_LOW_BATTERY:
break;
case UG_EVENT_LANG_CHANGE:
+ _refresh_mailbox_fullview(mailbox_ugd);
break;
case UG_EVENT_ROTATE_PORTRAIT:
@@ -556,17 +581,14 @@ static void _mailbox_rotate_to_potrait(void *data, int angle)
debug_log("view type = %d, previous_view = %d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
- elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar");
- _create_controlbar(mailbox_ugd);
- if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT)
- {
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "controlbar", mailbox_ugd->controlbar_btns);
- }
- else
- {
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", mailbox_ugd->controlbar_btns);
+ if(mailbox_ugd->passwd_popup) {
+ evas_object_del(mailbox_ugd->passwd_popup);
+ mailbox_ugd->passwd_popup = NULL;
}
+ //elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar");
+ _create_controlbar(mailbox_ugd);
+
elm_win_rotation_with_resize_set(mailbox_ugd->win_main, angle);
if (!evas_object_visible_get(mailbox_ugd->navi_title_ly)) {
@@ -598,6 +620,8 @@ static void _mailbox_rotate_to_potrait(void *data, int angle)
{
email_maillist_select_info(mailbox_ugd);
}
+
+ elm_object_signal_emit(mailbox_ugd->panes, "elm,panes,unpair", "");
}
@@ -610,6 +634,11 @@ static void _mailbox_rotate_to_landscape(void *data, int angle)
debug_log("view type = %d, previous_view = %d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
+ if(mailbox_ugd->passwd_popup) {
+ evas_object_del(mailbox_ugd->passwd_popup);
+ mailbox_ugd->passwd_popup = NULL;
+ }
+
if (elm_panes_content_left_size_get(mailbox_ugd->panes) == 1.0) {
if(mailbox_ugd->b_advanced_search_view) {
debug_log("advanced search view exists. should be removed");
@@ -639,12 +668,10 @@ static void _mailbox_rotate_to_landscape(void *data, int angle)
if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT)
{
_create_controlbar(mailbox_ugd);
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "controlbar", mailbox_ugd->controlbar_btns);
email_maillist_select_info(mailbox_ugd);
}
else
{
- elm_object_item_part_content_unset(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar");
_delete_controlbar(mailbox_ugd);
}
@@ -675,6 +702,8 @@ static void _mailbox_rotate_to_landscape(void *data, int angle)
destroy_account_cb(mailbox_ugd->ug_account, mailbox_ugd);
}
+
+ elm_object_signal_emit(mailbox_ugd->panes, "elm,panes,pair", "");
}
static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h service, void *priv)
@@ -738,6 +767,31 @@ UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
FREE(ugd);
}
+static void layout_setting_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
+{
+ debug_log("");
+ Evas_Object *base;
+ EmailMailboxUGD *ugd;
+
+ if (!ug || !priv)
+ return;
+
+ ugd = (EmailMailboxUGD *)priv;
+
+ base = ug_get_layout(ug);
+ if (!base)
+ return;
+
+ switch (mode) {
+ case UG_MODE_FULLVIEW:
+ evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(base);
+ break;
+ default:
+ break;
+ }
+}
+
static void layout_account_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
{
debug_log("");
@@ -764,7 +818,6 @@ static void layout_account_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
switch (mode) {
case UG_MODE_FULLVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ugd->win_main, base);
evas_object_show(base);
break;
@@ -814,7 +867,6 @@ void layout_composer_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
switch (mode) {
case UG_MODE_FULLVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ugd->win_main, base);
evas_object_show(base);
break;
default:
@@ -841,7 +893,7 @@ static void layout_viewer_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
ugd->viewer_ly = base;
switch (mode) {
- case UG_MODE_FULLVIEW:
+ case UG_MODE_FRAMEVIEW:
evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
ug_disable_effect(ug);
evas_object_show(base);
@@ -851,10 +903,35 @@ static void layout_viewer_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
}
}
+void result_setting_cb(ui_gadget_h ug, service_h service, void *priv)
+{
+ EmailMailboxUGD *mailbox_ugd;
+ debug_log("");
+
+ if (NULL == ug || NULL == priv) {
+ return;
+ }
+
+ mailbox_ugd = (EmailMailboxUGD *)priv;
+
+ if (ug == mailbox_ugd->ug_setting) {
+ char *val = NULL;
+ service_get_extra_data(service, EMAIL_BUNDLE_KEY_REFRESH_ACCOUNT, &val);
+ if (STR_VALID(val)) {
+ if (g_strcmp0(val, EMAIL_BUNDLE_KEY_REFRESH_ACCOUNT) == 0) {
+ ug_destroy(mailbox_ugd->ug_setting);
+ mailbox_ugd->ug_setting = NULL;
+ }
+ g_free(val);
+ }
+ }
+}
+
static void result_cb(ui_gadget_h ug, service_h service, void *priv)
{
debug_log("");
EmailMailboxUGD *mailbox_ugd;
+ int ret;
if (!ug || !priv)
return;
@@ -868,14 +945,23 @@ static void result_cb(ui_gadget_h ug, service_h service, void *priv)
ug_pushed = false;
char *account_id = NULL;
- char *c_is_null = NULL;
+ char *type = NULL;
char *mailbox_type = NULL;
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &(account_id));
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_IS_NULL, &(c_is_null));
+ if (mailbox_ugd->ug_account)
+ destroy_account_cb(mailbox_ugd->ug_account, mailbox_ugd);
+
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, &type);
+ debug_log("service_get_extra_data: %d", ret);
+
+ if (g_strcmp0(type, EMAIL_BUNDLE_VAL_ALL_ACCOUNT) == 0) {
+ debug_log("EMAIL_BUNDLE_VAL_ALL_ACCOUNT");
+
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id);
+ debug_log("service_get_extra_data: %d", ret);
+
+ mailbox_ugd->account_id = (gint) atoi(account_id);
- mailbox_ugd->account_id = (gint) atoi(account_id);
- if (atoi(c_is_null)) {
if (mailbox_ugd->account_id != 0) {
email_mailbox_t *mailbox = NULL;
int e = email_get_mailbox_by_mailbox_type(mailbox_ugd->account_id, EMAIL_MAILBOX_TYPE_INBOX, &mailbox);
@@ -883,52 +969,62 @@ static void result_cb(ui_gadget_h ug, service_h service, void *priv)
if( e == EMAIL_ERROR_NONE && mailbox ) {
debug_log("email_get_mailbox_by_mailbox_type : account_id(%d) type(INBOX) - err(%d) or mailbox is NULL(%p)", mailbox_ugd->account_id, e, mailbox);
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, &(mailbox_ugd->user_email));
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, &(mailbox_ugd->user_email));
+ debug_log("service_get_extra_data: %d", ret);
+
mailbox_ugd->mode = EMAIL_MAILBOX_MODE_MAILBOX;
mailbox_ugd->mailbox_id = mailbox->mailbox_id;
mailbox_ugd->mailbox_type = EMAIL_MAILBOX_TYPE_INBOX;
mailbox_ugd->folder_alias = g_strdup(mailbox->alias);
- debug_log("account_id: [%d], mailbox_id: [%d], folder_alias[%s], user_email: [%s]",
+ debug_log("account_id(%d), mailbox_id(%d), folder_alias(%s), user_email(%s)",
mailbox_ugd->account_id, mailbox_ugd->mailbox_id, mailbox_ugd->folder_alias, mailbox_ugd->user_email);
email_free_mailbox(&mailbox, 1);
}
- }
- else
- {
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, &(mailbox_type));
+ } else {
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, &(mailbox_type));
+ debug_log("service_get_extra_data: %d", ret);
+
mailbox_ugd->mailbox_type = (gint) atoi(mailbox_type);
mailbox_ugd->mode = EMAIL_MAILBOX_MODE_ALL;
- debug_log("account_id: [%d], mailbox_type: [%d]", mailbox_ugd->account_id, mailbox_ugd->mailbox_type);
+ debug_log("account_id(%d), mailbox_type(%d)", mailbox_ugd->account_id, mailbox_ugd->mailbox_type);
}
- }
- else
- {
+
+ reset_get_more_progress_callback_status(mailbox_ugd);
+ _make_account_mail_list(mailbox_ugd);
+ } else if (g_strcmp0(type, EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT) == 0) {
+ debug_log("EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT");
+
char *mailbox_id = NULL;
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, &(mailbox_id));
- if (mailbox_id)
- {
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id);
+ debug_log("service_get_extra_data: %d", ret);
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, &(mailbox_id));
+ debug_log("service_get_extra_data: %d", ret);
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_ALIAS, &(mailbox_ugd->folder_alias));
+ debug_log("service_get_extra_data: %d", ret);
+ ret = service_get_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, &(mailbox_ugd->user_email));
+ debug_log("service_get_extra_data: %d", ret);
+
+ mailbox_ugd->account_id = (gint) atoi(account_id);
+ if (mailbox_id) {
mailbox_ugd->mailbox_id = (int)atoi(mailbox_id);
g_free(mailbox_id);
- }
- else
+ } else
debug_critical("failure on getting mailbox_id");
-
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_ALIAS, &(mailbox_ugd->folder_alias));
- service_get_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, &(mailbox_ugd->user_email));
mailbox_ugd->mode = EMAIL_MAILBOX_MODE_MAILBOX;
- debug_log("account_id: [%d], mailbox_id: [%d], folder_alias[%s], user_email: [%s]",
+ debug_log("account_id[%d], mailbox_id[%d], folder_alias(%s), user_email(%s)",
mailbox_ugd->account_id, mailbox_ugd->mailbox_id, mailbox_ugd->folder_alias, mailbox_ugd->user_email);
- }
- if (mailbox_ugd->ug_account) {
- destroy_account_cb(mailbox_ugd->ug_account, mailbox_ugd);
- }
- ug_pushed = false;
- _make_account_mail_list(mailbox_ugd);
+ reset_get_more_progress_callback_status(mailbox_ugd);
+ _make_account_mail_list(mailbox_ugd);
+ } else if (g_strcmp0(type, EMAIL_BUNDLE_VAL_ADD_ACCOUNT) == 0) {
+ debug_log("EMAIL_BUNDLE_VAL_ADD_ACCOUNT");
+
+ _add_account(mailbox_ugd);
+ }
+ g_free(type);
g_free(account_id);
- g_free(c_is_null);
g_free(mailbox_type);
}
@@ -982,6 +1078,23 @@ void result_composer_cb(ui_gadget_h ug, service_h service, void *priv)
mailbox_ugd = priv;
}
+static void destroy_setting_cb(ui_gadget_h ug, void *priv)
+{
+ debug_log("");
+
+ if (!ug || !priv)
+ return;
+
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)priv;
+
+ if (ug == mailbox_ugd->ug_setting) {
+ ug_destroy(mailbox_ugd->ug_setting);
+ mailbox_ugd->ug_setting = NULL;
+ }
+
+ return;
+}
+
void destroy_account_cb(ui_gadget_h ug, void *priv)
{
debug_log("");
@@ -1063,6 +1176,23 @@ static void destroy_viewer_cb(ui_gadget_h ug, void *priv)
ug_destroy(ug);
}
+ui_gadget_h create_setting_ug(char *ug_name, service_h service, void *data)
+{
+ debug_log("");
+ ui_gadget_h ug;
+ struct ug_cbs cbs = { 0, };
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+
+ cbs.layout_cb = layout_setting_cb;
+ cbs.result_cb = result_setting_cb;
+ cbs.destroy_cb = destroy_setting_cb;
+ cbs.priv = mailbox_ugd;
+ mailbox_ugd->cbs = cbs;
+
+ ug = ug_create(mailbox_ugd->ug, ug_name, UG_MODE_FULLVIEW, service, &mailbox_ugd->cbs);
+
+ return ug;
+}
ui_gadget_h create_composer_ug(char *ug_name, service_h service, void *data)
{
@@ -1137,7 +1267,7 @@ static ui_gadget_h create_viewer_ug(char *ug_name, service_h service, void *data
if (mailbox_ugd->viewer_refresh == 0) {
mailbox_ugd->viewer_refresh = 1;
- mailbox_ugd->ug_viewer = ug_create(mailbox_ugd->ug, ug_name, UG_MODE_FULLVIEW, service, &cbs);
+ mailbox_ugd->ug_viewer = ug_create(mailbox_ugd->ug, ug_name, UG_MODE_FRAMEVIEW, service, &cbs);
} else {
ug_send_message(mailbox_ugd->ug_viewer, service);
}
@@ -1277,6 +1407,25 @@ void _sync_curr_folder(EmailMailboxUGD *mailbox_ugd, int mailbox_id)
g_account_list = eina_list_append(g_account_list, _account_id);
}
+void _sync_folder_with_new_password(int account_id, int mailbox_id, void *data)
+{
+ debug_log("");
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+ int handle = 0;
+ gboolean res = FALSE;
+
+ _stop_emf_job(mailbox_ugd, mailbox_ugd->emf_handle, true);
+
+ res = email_engine_sync_folder(account_id, mailbox_id, &handle);
+ debug_log("handle: %d", handle);
+
+ mailbox_ugd->emf_handle = handle;
+
+ int *_account_id = (int *)calloc(1, sizeof(int));
+ *_account_id = account_id;
+ g_account_list = eina_list_append(g_account_list, _account_id);
+
+}
void _sync_all_folder(EmailMailboxUGD *mailbox_ugd)
{
@@ -1367,7 +1516,8 @@ static void _create_view(EmailMailboxUGD *mailbox_ugd)
elm_layout_file_set(mailbox_ugd->sub_layout[mailbox_ugd->view_type], THEME_PATH, "layout.email.mailbox.hd");
else
elm_layout_file_set(mailbox_ugd->sub_layout[mailbox_ugd->view_type], THEME_PATH, "layout.email.mailbox");
- mailbox_create_searchbar(mailbox_ugd);
+ // TODO: remove mailbox_ugd->searchbar_layout later
+ //mailbox_create_searchbar(mailbox_ugd);
/* create genlist */
mailbox_create_list_view(mailbox_ugd);
@@ -1402,7 +1552,7 @@ static void _create_view(EmailMailboxUGD *mailbox_ugd)
//Title Left Button
mailbox_ugd->folder_button = elm_button_add(mailbox_ugd->navi_bar);
- elm_object_style_set(mailbox_ugd->folder_button, "naviframe/title/default");
+ elm_object_style_set(mailbox_ugd->folder_button, "naviframe/title_icon");
Evas_Object *folder_icon = elm_icon_add(mailbox_ugd->folder_button);
elm_icon_file_set(folder_icon, ICON_FOLDERS, NULL);
elm_icon_resizable_set(folder_icon, 1, 1);
@@ -1413,7 +1563,7 @@ static void _create_view(EmailMailboxUGD *mailbox_ugd)
//Title Right Button for update
mailbox_ugd->update_button = elm_button_add(mailbox_ugd->navi_bar);
- elm_object_style_set(mailbox_ugd->update_button, "naviframe/title/default");
+ elm_object_style_set(mailbox_ugd->update_button, "naviframe/title_icon");
Evas_Object *update_icon = elm_icon_add(mailbox_ugd->update_button);
elm_icon_file_set(update_icon, ICON_UPDATE, NULL);
elm_icon_resizable_set(update_icon, 1, 1);
@@ -1449,7 +1599,6 @@ static void _create_view(EmailMailboxUGD *mailbox_ugd)
elm_icon_file_set(mailbox_ugd->title_arrow, ICON_CLOSE, NULL);
_create_controlbar(mailbox_ugd);
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", mailbox_ugd->controlbar_btns);
evas_object_show(mailbox_ugd->ly);
}
@@ -1471,7 +1620,6 @@ static void _win_profile_changed_cb(void *data, Evas_Object *obj, void *event)
elm_layout_theme_set(mailbox_ugd->layout_main, "layout", "application", "default");
evas_object_size_hint_weight_set(mailbox_ugd->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(mailbox_ugd->win_main, mailbox_ugd->layout_main);
evas_object_show(mailbox_ugd->layout_main);
}
@@ -1761,11 +1909,24 @@ static void _folder_cb(void *data, Evas_Object *obj, void *event_info)
return;
}
+static void _add_account(void *data)
+{
+ debug_log("");
+ int ret;
+ service_h service;
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+ if (SERVICE_ERROR_NONE != service_create(&service)) {
+ debug_log("creating service handle failed");
+ return;
+ }
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SELECT_ACCOUNT);
+ debug_log("service_add_extra_data: %d", ret);
-
+ mailbox_ugd->ug_setting = create_setting_ug(UG_NAME_EMAIL_SETTING, service, mailbox_ugd);
+}
static void _process_update(EmailMailboxUGD *mailbox_ugd)
{
@@ -1861,29 +2022,76 @@ void _update_navigationbar_title(EmailMailboxUGD *mailbox_ugd)
elm_icon_file_set(mailbox_ugd->sp_icon, ICON_TITLE_ALL_ACC, NULL);
+ switch(mailbox_ugd->mailbox_type)
+ {
+ case EMAIL_MAILBOX_TYPE_INBOX:
{
elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_BODY_INBOX"));
elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_BODY_INBOX"));
- elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_sub", _("IDS_EMAIL_HEADER_ALL_ACCOUNTS"));
+ }
+ break;
+ case EMAIL_MAILBOX_TYPE_SENTBOX:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_BODY_SENTBOX"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_BODY_SENTBOX"));
+ }
+ break;
+ case EMAIL_MAILBOX_TYPE_TRASH:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_BODY_TRASH"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_BODY_TRASH"));
+ }
+ break;
+ case EMAIL_MAILBOX_TYPE_DRAFT:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_BODY_DRAFTS"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_BODY_DRAFTS"));
+ }
+ break;
+ case EMAIL_MAILBOX_TYPE_SPAMBOX:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_BODY_SPAMBOX"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_BODY_SPAMBOX"));
+ }
+ break;
+ case EMAIL_MAILBOX_TYPE_OUTBOX:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], N_("Outbox"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", N_("Outbox"));
+ }
+ break;
+ case EMAIL_MAILBOX_TYPE_FLAGGED:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_OPT_FAVOURITES"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_OPT_FAVOURITES"));
+ }
+ break;
+ default:
+ {
+ elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], _("IDS_EMAIL_BODY_INBOX"));
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", _("IDS_EMAIL_BODY_INBOX"));
+ }
+ break;
+ }
+ elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_sub", _("IDS_EMAIL_HEADER_ALL_ACCOUNTS"));
- if (mailbox_ugd->isRotate == false) {
- _create_controlbar(mailbox_ugd);
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", mailbox_ugd->controlbar_btns);
- }
+ if (mailbox_ugd->isRotate == false) {
+ _create_controlbar(mailbox_ugd);
}
} else {
- _create_controlbar(mailbox_ugd);
+ if (mailbox_ugd->isRotate == false) {
+ _create_controlbar(mailbox_ugd);
+ }
elm_object_item_text_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], mailbox_ugd->folder_alias);
elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_title", mailbox_ugd->folder_alias);
elm_object_part_text_set(mailbox_ugd->navi_title_ly, "txt_sub", mailbox_ugd->user_email);
email_account_t *account;
email_get_account(mailbox_ugd->account_id, 0, &account);
- elm_icon_file_set(mailbox_ugd->sp_icon, account->logo_icon_path, NULL);
- if(account) email_free_account(&account, 1);
-
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", mailbox_ugd->controlbar_btns);
-
+ if (account) {
+ elm_icon_file_set(mailbox_ugd->sp_icon, account->logo_icon_path, NULL);
+ email_free_account(&account, 1);
+ }
}
}
@@ -1929,3 +2137,213 @@ email_sort_type_t _mailbox_conv_sort_type(EmailSortType sort_type)
return email_svc_sort_type;
}
+
+static void _email_mailbox_timezone_change_cb(keynode_t *key, void *data)
+{
+ debug_log("");
+ EmailMailboxUGD *mailbox_ugd;
+ mailbox_ugd = (EmailMailboxUGD *)data;
+
+ _refresh_mailbox(mailbox_ugd);
+}
+
+static void _mailbox_change_password_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log();
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+
+ if (elm_entry_is_empty(mailbox_ugd->password_entry))
+ {
+ debug_log("password is NULL");
+ if(mailbox_ugd->passwd_popup) {
+ debug_log("delete popup");
+ evas_object_del(mailbox_ugd->passwd_popup);
+ mailbox_ugd->passwd_popup = NULL;
+ }
+ return;
+ }
+ mailbox_ugd->str_password = g_strdup(elm_entry_entry_get(mailbox_ugd->password_entry));
+ debug_log("str_password : %s", mailbox_ugd->str_password);
+
+ _mailbox_update_account_password(data);
+
+ if(mailbox_ugd->passwd_popup) {
+ debug_log("delete popup");
+ evas_object_del(mailbox_ugd->passwd_popup);
+ mailbox_ugd->passwd_popup = NULL;
+ }
+
+}
+
+static void _mailbox_change_password_popup_canceled_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log();
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+ if(mailbox_ugd->passwd_popup) {
+ evas_object_del(mailbox_ugd->passwd_popup);
+ mailbox_ugd->passwd_popup = NULL;
+ }
+ mailbox_ugd->sync_needed_account_id = -1;
+ mailbox_ugd->sync_needed_mailbox_id = -1;
+}
+
+static void _password_entry_changed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !obj) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ if (elm_object_focus_get(data)) {
+ if (elm_entry_is_empty(obj))
+ elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+ else
+ elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
+ }
+}
+
+static void _password_entry_focused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !obj) {
+ debug_log("data is NULL");
+ return;
+ }
+ if (!elm_entry_is_empty(obj))
+ elm_object_signal_emit(data, "elm,state,eraser,show", "elm");
+ elm_object_signal_emit(data, "elm,state,guidetext,hide", "elm");
+}
+
+static void _password_entry_unfocused_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !obj) {
+ debug_log("data is NULL");
+ return;
+ }
+ if (elm_entry_is_empty(obj))
+ elm_object_signal_emit(data, "elm,state,guidetext,show", "elm");
+ elm_object_signal_emit(data, "elm,state,eraser,hide", "elm");
+}
+
+static void _password_eraser_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+ if (!data || !obj) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ elm_entry_entry_set(data, "");
+}
+
+static void _mailbox_update_account_password(void *data)
+{
+ debug_log("");
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+ int err = EMAIL_ERROR_NONE;
+ email_account_t *account_info = NULL;
+
+ err = email_engine_get_account_full_data(mailbox_ugd->sync_needed_account_id, &account_info);
+
+ if( err != EMAIL_ERROR_NONE || !account_info) {
+ debug_log("fail to get account info - err(%d)", err);
+ }
+ FREE(account_info->incoming_server_password);
+ account_info->incoming_server_password = strdup(mailbox_ugd->str_password);
+
+ if((err = email_update_account(mailbox_ugd->sync_needed_account_id, account_info)) != EMAIL_ERROR_NONE) {
+ debug_log("fail to update account - err(%d)", err);
+ } else {
+ _sync_folder_with_new_password(mailbox_ugd->sync_needed_account_id, mailbox_ugd->sync_needed_mailbox_id, data);
+ }
+
+ if (account_info) {
+ email_free_account(&account_info, 1);
+ }
+ mailbox_ugd->sync_needed_account_id = -1;
+ mailbox_ugd->sync_needed_mailbox_id = -1;
+ FREE(mailbox_ugd->str_password);
+}
+
+void mailbox_create_password_changed_popup(void *data)
+{
+ debug_enter();
+ Evas_Object *label;
+ Evas_Object *popup;
+ Evas_Object *entry_layout, *layout, *entry;
+ Evas_Object *btn1, *btn2;
+ EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
+ EmailAccountInfo *account_info = NULL;
+
+ if(mailbox_ugd->passwd_popup) {
+ evas_object_del(mailbox_ugd->passwd_popup);
+ mailbox_ugd->passwd_popup = NULL;
+ }
+
+ popup = elm_popup_add(mailbox_ugd->layout_main);
+ mailbox_ugd->passwd_popup = popup;
+ label = elm_label_add(popup);
+ elm_object_style_set(label, "popup/default");
+ elm_label_line_wrap_set(label, ELM_WRAP_MIXED);
+ elm_object_text_set(label, N_("Server password has been changed. Input the changed password."));
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(label);
+
+ layout = elm_layout_add(popup);
+ elm_layout_file_set(layout, THEME_PATH, "email/popup/entryview");
+
+ entry_layout = elm_layout_add(popup);
+ elm_layout_theme_set(entry_layout, "layout", "editfield", "title");
+
+ entry = elm_entry_add(popup);
+ elm_entry_scrollable_set(entry, EINA_TRUE); // Make entry as scrollable single line.
+ elm_entry_single_line_set(entry, EINA_TRUE);
+ elm_entry_input_panel_return_key_disabled_set(entry, EINA_TRUE);
+ elm_entry_password_set(entry, 1);
+ elm_entry_cnp_mode_set(entry, ELM_CNP_MODE_PLAINTEXT);
+ mailbox_ugd->password_entry = entry;
+ evas_object_smart_callback_add(entry, "changed", _password_entry_changed_cb, entry_layout);
+ evas_object_smart_callback_add(entry, "focused", _password_entry_focused_cb, entry_layout);
+ evas_object_smart_callback_add(entry, "unfocused", _password_entry_unfocused_cb, entry_layout);
+
+
+ elm_object_part_content_set(entry_layout, "elm.swallow.content", entry);
+ debug_log("mailbox_ugd->sync_needed_account_id %d", mailbox_ugd->sync_needed_account_id);
+ if (email_engine_get_account_info(mailbox_ugd->sync_needed_account_id, &account_info)) {
+ if (account_info && account_info->email_address) {
+ debug_log("account_info->email_address : %s", account_info->email_address);
+ elm_object_part_text_set(entry_layout, "elm.text", account_info->email_address);
+ }
+ if (account_info)
+ email_engine_free_account_info(&account_info);
+ }
+
+ elm_object_part_text_set(layout, "elm.guidetext", dgettext("sys_string", "IDS_COM_BODY_PASSWORD"));
+ elm_object_signal_callback_add(entry_layout, "elm,eraser,clicked", "elm", NULL, entry);
+ elm_object_signal_callback_add(entry_layout, "elm,eraser,clicked", "elm", _password_eraser_clicked_cb, entry);
+ evas_object_show(entry_layout);
+
+ elm_object_part_content_set(layout, "elm.swallow.content", label);
+ elm_object_part_content_set(layout, "elm.swallow.entry", entry_layout);
+
+ evas_object_show(layout);
+ elm_object_content_set(popup, layout);
+
+
+ btn1 = elm_button_add(popup);
+ elm_object_style_set(btn1, "popup_button/default");
+ elm_object_text_set(btn1, dgettext("sys_string", "IDS_COM_SK_OK"));
+ elm_object_part_content_set(popup, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", _mailbox_change_password_popup_ok_cb, data);
+ btn2 = elm_button_add(popup);
+ elm_object_style_set(btn2, "popup_button/default");
+ elm_object_text_set(btn2, dgettext("sys_string", "IDS_COM_SK_CANCEL"));
+ elm_object_part_content_set(popup, "button2", btn2);
+ evas_object_smart_callback_add(btn2, "clicked", _mailbox_change_password_popup_canceled_cb, data);
+
+ evas_object_show(popup);
+}
+
diff --git a/mailbox/theme/email-mailbox-theme.edc b/mailbox/theme/email-mailbox-theme.edc
index fcd334a..86c95fa 100755
--- a/mailbox/theme/email-mailbox-theme.edc
+++ b/mailbox/theme/email-mailbox-theme.edc
@@ -357,7 +357,7 @@ group { name: "horizontal_bottom_64";
description
{
state: "default" 0.0;
- min: 0 69;
+ min: 0 106;
fixed: 1 1;
align: 0.0 0.0;
visible: 1;
@@ -594,7 +594,7 @@ group { name: "horizontal_bottom_64";
state: "default" 0.0;
rel1 { relative: (16/440) 0.0; to: "title_area";}
rel2 { relative: (424/440) (52/88); to: "title_area";}
- color : 249 249 249 255;
+ color : 59 115 182 255;
text { font: "SLP:style=Medium";
size: 40;
min: 0 0;
@@ -714,9 +714,9 @@ group { name: "horizontal_bottom_64";
to_x: "sub_right_icon";
to_y: "bottom_padding";
}
- color : 249 249 249 255;
+ color : 59 115 182 255;
text { font: "SLP:style=Medium";
- size: 32;
+ size: 24;
min: 0 0;
max: 1 0;
align: 0.0 0.5;
@@ -753,7 +753,7 @@ group { name: "horizontal_bottom_64";
part {
name: "seperator1";
- type: IMAGE;
+ type: SWALLOW;
scale: 1;
description {
state: "default" 0.0;
@@ -771,7 +771,7 @@ group { name: "horizontal_bottom_64";
to_x: "right_btn";
to_y: "bottom_padding";
}
- image.normal: "00_winset_title_line.png";
+ //image.normal: "00_winset_title_line.png";
}
}
@@ -800,7 +800,7 @@ group { name: "horizontal_bottom_64";
part {
name: "seperator2";
- type: IMAGE;
+ type: SWALLOW;
scale: 1;
description {
state: "default" 0.0;
@@ -818,7 +818,7 @@ group { name: "horizontal_bottom_64";
to_x: "left_btn";
to_y: "bottom_padding";
}
- image.normal: "00_winset_title_line.png";
+ //image.normal: "00_winset_title_line.png";
}
}
@@ -904,7 +904,7 @@ group { name: "horizontal_bottom_64";
type: RECT;
description { state: "default" 0.0;
color: 0 0 0 153;
- min: 0 1127; //213; height(1280) - (indicator(50)+Navi(108)+frameview(909)+10) +5
+ min: 0 1124; //213; height(1280) - (indicator(50)+Navi(111)+frameview(909)+10) +5
max: 9999 213;
fixed: 1 1;
visible: 1;
@@ -2661,5 +2661,108 @@ group { name: "horizontal_bottom_64";
}
}
}
+ group { name: "email/popup/entryview";
+ parts{
+ part { name: "pad_t";
+ scale : 1;
+ mouse_events: 0;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.0;
+ min: 0 14;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "pad_l";
+ scale: 1;
+ description { state: "default" 0.0;
+ min : 10 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.0 0.0;
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ }
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "pad_r";
+ scale: 1;
+ description { state: "default" 0.0;
+ min : 10 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ }
+ align: 1.0 0.0;
+ }
+ }
+ part{ name:"elm.swallow.content";
+ type: SWALLOW;
+ scale : 1;
+ description { state: "default" 0.0;
+ min: 600 0;
+ align: 0.5 0.5;
+ fixed: 1 0;
+ rel1 {
+ relative: 0.5 1.0;
+ to: "pad_t";
+ }
+ rel2 {
+ relative: 0.5 0.0;
+ to: "pad_b";
+ }
+ }
+ }
+ part { name: "pad_b";
+ scale : 1;
+ mouse_events: 0;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 0.5 1.0;
+ min: 0 95;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "pad_l";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "pad_r";
+ }
+ }
+ }
+ part { name: "elm.swallow.entry";
+ type: SWALLOW;
+ scale : 1;
+ mouse_events: 1;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ align: 0.0 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "pad_b";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ to: "pad_b";
+ }
+ }
+ }
+ }
+ }
}