summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Jinho <jinho912.kim@samsung.com>2013-03-14 15:04:47 +0900
committerKim Jinho <jinho912.kim@samsung.com>2013-03-14 15:04:47 +0900
commitd2cad8cc558db51700a75fb1bb8cffaaec000263 (patch)
tree0bb6ad360c00de778903abf57e6e11a4b771454c
parent1c74090b697ba246cbef32f94288d3bfb6aa2256 (diff)
downloademail-d2cad8cc558db51700a75fb1bb8cffaaec000263.tar.gz
email-d2cad8cc558db51700a75fb1bb8cffaaec000263.tar.bz2
email-d2cad8cc558db51700a75fb1bb8cffaaec000263.zip
Fix edit view update issue on edit mode(TDIS-4553, TDIS-4554)
-rwxr-xr-xmailbox/include/email-mailbox-list.h2
-rwxr-xr-xmailbox/src/email-mailbox-item.c13
-rwxr-xr-xmailbox/src/email-mailbox-list.c261
-rwxr-xr-xmailbox/src/email-mailbox-noti-mgr.c104
4 files changed, 226 insertions, 154 deletions
diff --git a/mailbox/include/email-mailbox-list.h b/mailbox/include/email-mailbox-list.h
index 50ef88c..e074623 100755
--- a/mailbox/include/email-mailbox-list.h
+++ b/mailbox/include/email-mailbox-list.h
@@ -74,6 +74,6 @@ 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);
-
+void mailbox_update_edit_list_view(EmailMailboxUGD * mailbox_ugd, list_data * ld);
#endif /* __DEF_EMAIL_MAILBOX_LIST_H_ */
diff --git a/mailbox/src/email-mailbox-item.c b/mailbox/src/email-mailbox-item.c
index cd010d0..2158fa7 100755
--- a/mailbox/src/email-mailbox-item.c
+++ b/mailbox/src/email-mailbox-item.c
@@ -205,14 +205,21 @@ void mailbox_delete_mail_item_from_list(EmailMailboxUGD * mailbox_ugd, list_data
Elm_Object_Item *parent = elm_genlist_item_parent_get(ld->item);
Elm_Object_Item *next = elm_genlist_item_next_get(ld->item);
Elm_Object_Item *prev = elm_genlist_item_prev_get(ld->item);
+
+ EmailMailboxViewType vt = mailbox_ugd->view_type;
+
+ if(vt == EMAIL_VIEW_EDIT) {
+ vt = mailbox_ugd->previous_view;
+ }
+
if(parent == prev && (NULL == next || NULL == elm_genlist_item_parent_get(next))) {
elm_object_item_del(parent);
- mailbox_ugd->git[mailbox_ugd->view_type][ld->group_index] = NULL;
+ mailbox_ugd->git[vt][ld->group_index] = NULL;
}
if(ld->item) elm_object_item_del(ld->item);
- mailbox_ugd->list_data[mailbox_ugd->view_type] =
- g_list_remove(mailbox_ugd->list_data[mailbox_ugd->view_type], ld);
+ mailbox_ugd->list_data[vt] =
+ g_list_remove(mailbox_ugd->list_data[vt], ld);
_free_list_data_simple(ld);
}
diff --git a/mailbox/src/email-mailbox-list.c b/mailbox/src/email-mailbox-list.c
index d436012..e9dbddf 100755
--- a/mailbox/src/email-mailbox-list.c
+++ b/mailbox/src/email-mailbox-list.c
@@ -1296,9 +1296,18 @@ static void _process_item_check_changed_cb(list_data *ld)
if(cnt > 0 && !b_editmode)
{
-
+ Elm_Object_Item *prev = NULL;
debug_log("Enter edit mode");
+ /* Get sweeped item */
+ prev = (Elm_Object_Item *)elm_genlist_decorated_item_get(mailbox_ugd->gl[mailbox_ugd->view_type]);
+ if(prev)
+ {
+ //If sweeped item exist, revert it.
+ elm_genlist_item_decorate_mode_set(prev, "slide", EINA_FALSE);
+ elm_genlist_item_select_mode_set(prev, ELM_OBJECT_SELECT_MODE_DEFAULT);
+ }
+
/* update controlbar to edit menu */
b_editmode = true;
if (GET_MAILBOX_TYPE(mailbox_ugd->mailbox_id) == EMAIL_MAILBOX_TYPE_OUTBOX) {
@@ -3085,6 +3094,11 @@ void _worker_get_delete_mail_list_cb(void* data, Ecore_Thread *thd)
_parse_delete_mail_buf(req->msg_buf, &mail_list);
+ if(vt == EMAIL_VIEW_EDIT) {
+ vt = mailbox_ugd->previous_view;
+ }
+ debug_log("view_type : %d, previous_view : %d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
+
debug_log("size of mail_list : %d", g_list_length(mail_list));
G_LIST_FOREACH(mail_list, cur, idx) {
debug_log("idx: [%d]", *idx);
@@ -3213,136 +3227,127 @@ void _worker_get_move_mail_list_cb(void* data, Ecore_Thread *thd)
int folder_type = GET_MAILBOX_TYPE(dst_mailbox_id);
req->mailbox_type = folder_type;
+ if(vt == EMAIL_VIEW_EDIT) {
+ vt = mailbox_ugd->previous_view;
+ }
+ debug_log("view_type : %d, previous_view : %d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
+
if (mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL)
{
- if(vt != EMAIL_VIEW_EDIT && vt != EMAIL_VIEW_SEARCH)
- {
- G_LIST_FOREACH(mail_list, cur, idx) {
- ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[vt]);
- if(ld) {
- //mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
- delete_ret_t *ret = MEM_ALLOC(ret, 1);
- if(!ret) return;
- *ret = (delete_ret_t) {ld, *idx};
- CHECK_THREAD_BUSY();
- ecore_thread_feedback(thd, ret);
- debug_log("Mail(%d) found in this view(%d)", *idx, vt);
+ G_LIST_FOREACH(mail_list, cur, idx) {
+ ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[vt]);
+ if(ld) {
+ //mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
+ delete_ret_t *ret = MEM_ALLOC(ret, 1);
+ if(!ret) return;
+ *ret = (delete_ret_t) {ld, *idx};
+ CHECK_THREAD_BUSY();
+ ecore_thread_feedback(thd, ret);
+ debug_log("Mail(%d) found in this view(%d)", *idx, vt);
+ }
+
+ /* add sent email in Sentbox */
+ debug_log("mailbox_type(%d), req->mailbox_type(%d)", mailbox_ugd->mailbox_type, req->mailbox_type);
+ if (mailbox_ugd->mailbox_type == req->mailbox_type) {
+ if (list_lock) {
+ debug_log("locked");
+ if (!evas_object_visible_get(mailbox_ugd->gl[vt]))
+ evas_object_show(mailbox_ugd->gl[vt]);
+
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "hide_noc", "elm");
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_list", "elm");
+
+ list_lock = false;
+ }
+
+ email_mail_list_item_t* mail_info = get_mail_info(*idx);
+ if (!mail_info) {
+ debug_warning("no email exits(%d)", *idx);
+ goto CLEANUP;
+ }
+ list_data *ld = make_list_data(mail_info, NULL, mailbox_ugd);
+ if(!ld) {
+ debug_warning("make_list_data() failed.");
+ goto CLEANUP;
}
- /* add sent email in Sentbox */
- debug_log("mailbox_type(%d), req->mailbox_type(%d)", mailbox_ugd->mailbox_type, req->mailbox_type);
- if (mailbox_ugd->mailbox_type == req->mailbox_type) {
- if (list_lock) {
- debug_log("locked");
- if (!evas_object_visible_get(mailbox_ugd->gl[mailbox_ugd->view_type]))
- evas_object_show(mailbox_ugd->gl[mailbox_ugd->view_type]);
-
- edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "hide_noc", "elm");
- edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_list", "elm");
-
- list_lock = false;
- }
-
- email_mail_list_item_t* mail_info = get_mail_info(*idx);
- if (!mail_info) {
- debug_warning("no email exits(%d)", *idx);
- goto CLEANUP;
- }
- list_data *ld = make_list_data(mail_info, NULL, mailbox_ugd);
- if(!ld) {
- debug_warning("make_list_data() failed.");
- goto CLEANUP;
- }
-
- /* The group items might be inserted before to receive any normal mail item */
- mailbox_ugd->list_data[mailbox_ugd->view_type] =
- g_list_insert_sorted(mailbox_ugd->list_data[mailbox_ugd->view_type], ld, _compare_sort_rule_by_viewtype);
-
- if(mailbox_ugd->view_type != EMAIL_VIEW_DATE)
- email_maillist_insert_sorted(ld);
-
- if (mailbox_ugd->view_type != EMAIL_VIEW_RECIPIENT) {
- if (!group_title[ld->group_index][0])
- group_title[ld->group_index][0] = g_strdup(ld->group_title);
- if (!group_title[ld->group_index][1])
- group_title[ld->group_index][1] = g_strdup(ld->group_date);
- debug_log("group_title: %s", group_title[ld->group_index][0]);
- }
-
- _insert_mail_to_mailist(mailbox_ugd, ld);
+ /* The group items might be inserted before to receive any normal mail item */
+ mailbox_ugd->list_data[vt] =
+ g_list_insert_sorted(mailbox_ugd->list_data[vt], ld, _compare_sort_rule_by_viewtype);
+
+ if(mailbox_ugd->view_type != EMAIL_VIEW_DATE)
+ email_maillist_insert_sorted(ld);
+
+ if (mailbox_ugd->view_type != EMAIL_VIEW_RECIPIENT) {
+ if (!group_title[ld->group_index][0])
+ group_title[ld->group_index][0] = g_strdup(ld->group_title);
+ if (!group_title[ld->group_index][1])
+ group_title[ld->group_index][1] = g_strdup(ld->group_date);
+ debug_log("group_title: %s", group_title[ld->group_index][0]);
}
+
+ _insert_mail_to_mailist(mailbox_ugd, ld);
}
}
- else {
- debug_log("Nothing to move: mode(%d), view(%d), acc(%d)", mailbox_ugd->mode, vt, mailbox_ugd->account_id);
- goto CLEANUP;
- }
}
/* is mailbox_ugd->account_id == account_id necessary?*/
else if(mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX && mailbox_ugd->account_id == req->account_id)
{
- if(vt != EMAIL_VIEW_EDIT && vt != EMAIL_VIEW_SEARCH)
- {
- G_LIST_FOREACH(mail_list, cur, idx) {
- ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[vt]);
- if(ld) {
- //mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
- delete_ret_t *ret = MEM_ALLOC(ret, 1);
- if(!ret) return;
- *ret = (delete_ret_t) {ld, *idx};
- CHECK_THREAD_BUSY();
- ecore_thread_feedback(thd, ret);
- debug_log("Mail(%d) found in this view(%d)", *idx, vt);
+ G_LIST_FOREACH(mail_list, cur, idx) {
+ ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[vt]);
+ if(ld) {
+ //mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
+ delete_ret_t *ret = MEM_ALLOC(ret, 1);
+ if(!ret) return;
+ *ret = (delete_ret_t) {ld, *idx};
+ CHECK_THREAD_BUSY();
+ ecore_thread_feedback(thd, ret);
+ debug_log("Mail(%d) found in this view(%d)", *idx, vt);
+ }
+
+ /* add sent email in Sentbox */
+ debug_log("mailbox_id(%d), dst_mailbox_id(%d)", mailbox_ugd->mailbox_id, dst_mailbox_id);
+ if (mailbox_ugd->mailbox_id == dst_mailbox_id) {
+ if (list_lock) {
+ debug_log("locked");
+ if (!evas_object_visible_get(mailbox_ugd->gl[vt]))
+ evas_object_show(mailbox_ugd->gl[vt]);
+
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "hide_noc", "elm");
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_list", "elm");
+
+ list_lock = false;
}
- /* add sent email in Sentbox */
- debug_log("mailbox_id(%d), dst_mailbox_id(%d)", mailbox_ugd->mailbox_id, dst_mailbox_id);
- if (mailbox_ugd->mailbox_id == dst_mailbox_id) {
- if (list_lock) {
- debug_log("locked");
- if (!evas_object_visible_get(mailbox_ugd->gl[mailbox_ugd->view_type]))
- evas_object_show(mailbox_ugd->gl[mailbox_ugd->view_type]);
-
- edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "hide_noc", "elm");
- edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_list", "elm");
-
- list_lock = false;
- }
-
- email_mail_list_item_t* mail_info = get_mail_info(*idx);
- if (!mail_info) {
- debug_warning("no email exits(%d)", *idx);
- goto CLEANUP;
- }
- list_data *ld = make_list_data(mail_info, NULL, mailbox_ugd);
- if(!ld) {
- debug_warning("make_list_data() failed.");
- goto CLEANUP;
- }
-
- /* The group items might be inserted before to receive any normal mail item */
- mailbox_ugd->list_data[mailbox_ugd->view_type] =
- g_list_insert_sorted(mailbox_ugd->list_data[mailbox_ugd->view_type], ld, _compare_sort_rule_by_viewtype);
-
- if(mailbox_ugd->view_type != EMAIL_VIEW_DATE)
- email_maillist_insert_sorted(ld);
-
- if (mailbox_ugd->view_type != EMAIL_VIEW_RECIPIENT) {
- if (!group_title[ld->group_index][0])
- group_title[ld->group_index][0] = g_strdup(ld->group_title);
- if (!group_title[ld->group_index][1])
- group_title[ld->group_index][1] = g_strdup(ld->group_date);
- debug_log("group_title: %s", group_title[ld->group_index][0]);
- }
-
- _insert_mail_to_mailist(mailbox_ugd, ld);
+ email_mail_list_item_t* mail_info = get_mail_info(*idx);
+ if (!mail_info) {
+ debug_warning("no email exits(%d)", *idx);
+ goto CLEANUP;
}
+ list_data *ld = make_list_data(mail_info, NULL, mailbox_ugd);
+ if(!ld) {
+ debug_warning("make_list_data() failed.");
+ goto CLEANUP;
+ }
+
+ /* The group items might be inserted before to receive any normal mail item */
+ mailbox_ugd->list_data[vt] =
+ g_list_insert_sorted(mailbox_ugd->list_data[vt], ld, _compare_sort_rule_by_viewtype);
+
+ if(mailbox_ugd->view_type != EMAIL_VIEW_DATE)
+ email_maillist_insert_sorted(ld);
+
+ if (mailbox_ugd->view_type != EMAIL_VIEW_RECIPIENT) {
+ if (!group_title[ld->group_index][0])
+ group_title[ld->group_index][0] = g_strdup(ld->group_title);
+ if (!group_title[ld->group_index][1])
+ group_title[ld->group_index][1] = g_strdup(ld->group_date);
+ debug_log("group_title: %s", group_title[ld->group_index][0]);
+ }
+
+ _insert_mail_to_mailist(mailbox_ugd, ld);
}
}
- else {
- debug_log("Nothing to move: mode(%d), view(%d), acc(%d)", mailbox_ugd->mode, vt, mailbox_ugd->account_id);
- goto CLEANUP;
- }
}
else {
debug_log("Nothing to move: mode(%d), view(%d), acc(%d)", mailbox_ugd->mode, vt, mailbox_ugd->account_id);
@@ -3787,3 +3792,29 @@ void reset_get_more_progress_callback_status(EmailMailboxUGD *mailbox_ugd)
}
}
+void mailbox_update_edit_list_view(EmailMailboxUGD * mailbox_ugd, list_data * ld)
+{
+ debug_enter();
+ if(ld == NULL || ld->item == NULL) {
+ debug_warning("ld == NULL or ld->item == NULL");
+ return;
+ }
+
+ edit_list = eina_list_remove(edit_list, ld);
+
+ int cnt = eina_list_count(edit_list);
+ debug_log("list count = %d", cnt);
+
+ if(cnt <= 0)
+ {
+ debug_log("Exit edit mode");
+
+ /* update controlbar to mailbox menu */
+ b_editmode = false;
+// elm_toolbar_item_selected_set(mailbox_ugd->edit_cancel_button, EINA_TRUE);
+ _edit_back_cb(mailbox_ugd, NULL, NULL);
+ elm_object_disabled_set(mailbox_ugd->folder_button, EINA_FALSE);
+ }
+ email_maillist_select_info(mailbox_ugd);
+}
+
diff --git a/mailbox/src/email-mailbox-noti-mgr.c b/mailbox/src/email-mailbox-noti-mgr.c
index 44866a0..0f7ded7 100755
--- a/mailbox/src/email-mailbox-noti-mgr.c
+++ b/mailbox/src/email-mailbox-noti-mgr.c
@@ -245,20 +245,30 @@ void _delete_mail_item_cb(void *data, Ecore_Thread *thd, void* msg_data)
EmailMailboxUGD *mailbox_ugd = req->mailbox_ugd;
EmailMailboxViewType vt = mailbox_ugd->view_type;
- if(!_find_mailinfo_by_mailid(ret->mail_id, mailbox_ugd->list_data[vt]))
- goto CLEANUP;
-
if(req->current_view != vt) {
debug_warning("mismatched view_type: current_view(%d), mailbox_ugd_view(%d)", req->current_view, vt);
goto CLEANUP;
}
+
+ if(vt == EMAIL_VIEW_EDIT) {
+ vt = mailbox_ugd->previous_view;
+ }
+ debug_log("view_type : %d, previous_view : %d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
+
+ if(!_find_mailinfo_by_mailid(ret->mail_id, mailbox_ugd->list_data[vt]))
+ goto CLEANUP;
+
+ if(req->current_view == EMAIL_VIEW_EDIT) {
+ debug_log("edit list update first");
+ mailbox_update_edit_list_view(mailbox_ugd, ld);
+ }
mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
if(!g_list_length(mailbox_ugd->list_data[vt]))
{
if (!list_lock) {
- if (evas_object_visible_get(mailbox_ugd->gl[mailbox_ugd->view_type]))
- evas_object_hide(mailbox_ugd->gl[mailbox_ugd->view_type]);
+ if (evas_object_visible_get(mailbox_ugd->gl[vt]))
+ evas_object_hide(mailbox_ugd->gl[vt]);
}
Evas_Object *no_content = elm_object_part_content_get(mailbox_ugd->search_layout, "noc");
@@ -299,10 +309,14 @@ void _move_mail_item_cb(void *data, Ecore_Thread *thd, void* msg_data)
goto CLEANUP;
}
+ if(vt == EMAIL_VIEW_EDIT) {
+ vt = mailbox_ugd->previous_view;
+ }
+ debug_log("view_type : %d, previous_view : %d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
+
if(!_find_mailinfo_by_mailid(ret->mail_id, mailbox_ugd->list_data[vt]))
goto CLEANUP;
-
if(mailbox_ugd->mode != EMAIL_MAILBOX_MODE_MAILBOX
&& req->mailbox_type == EMAIL_MAILBOX_TYPE_SENTBOX)
{
@@ -310,14 +324,18 @@ void _move_mail_item_cb(void *data, Ecore_Thread *thd, void* msg_data)
}
else
{
+ if(req->current_view == EMAIL_VIEW_EDIT) {
+ debug_log("edit list update first");
+ mailbox_update_edit_list_view(mailbox_ugd, ld);
+ }
mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
}
if(!g_list_length(mailbox_ugd->list_data[vt]))
{
if (!list_lock) {
- if (evas_object_visible_get(mailbox_ugd->gl[mailbox_ugd->view_type]))
- evas_object_hide(mailbox_ugd->gl[mailbox_ugd->view_type]);
+ if (evas_object_visible_get(mailbox_ugd->gl[vt]))
+ evas_object_hide(mailbox_ugd->gl[vt]);
}
Evas_Object *no_content = elm_object_part_content_get(mailbox_ugd->search_layout, "noc");
@@ -759,7 +777,12 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
case EMAIL_MAIL_ATTRIBUTE_FLAGS_SEEN_FIELD:
G_LIST_FOREACH(mail_list, cur, idx) {
debug_log("idx: [%d]", *idx);
- list_data *ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[view_type]);
+ list_data *ld = NULL;
+ if(view_type == EMAIL_VIEW_EDIT) {
+ ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[mailbox_ugd->previous_view]);
+ } else {
+ ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[view_type]);
+ }
if(ld) {
if (view_type == EMAIL_VIEW_UNREAD) {
mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
@@ -774,7 +797,12 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
case EMAIL_MAIL_ATTRIBUTE_FLAGS_FLAGGED_FIELD:
G_LIST_FOREACH(mail_list, cur, idx) {
debug_log("idx: [%d]", *idx);
- list_data *ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[view_type]);
+ list_data *ld = NULL;
+ if(view_type == EMAIL_VIEW_EDIT) {
+ ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[mailbox_ugd->previous_view]);
+ } else {
+ ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[view_type]);
+ }
if(ld) {
if (view_type == EMAIL_VIEW_IMPORTANT) {
mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
@@ -1016,35 +1044,41 @@ static void _mailbox_remove_deleted_flag_mail(int mail_id, void *data)
debug_log("Invalid parameter(mail_id)");
return;
}
+
+ if(view_type == EMAIL_VIEW_EDIT) {
+ view_type = mailbox_ugd->previous_view;
+ }
+
list_data *ld = _find_mailinfo_by_mailid(mail_id, mailbox_ugd->list_data[view_type]);
if(ld) {
- if(view_type != EMAIL_VIEW_EDIT && view_type != EMAIL_VIEW_SEARCH)
- {
- if ((mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL && mailbox_ugd->mailbox_type == ld->mailbox_type)
- || (mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX && ld->mailbox_id == mailbox_ugd->mailbox_id)) {
- debug_log("Remove mail from list mail_id : %d", ld->mail_id);
- mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
- /* to be checked
- if(!g_list_length(mailbox_ugd->list_data[view_type]))
- {
- debug_log("list_lock : %d", list_lock);
- if (!list_lock) {
- if (evas_object_visible_get(mailbox_ugd->gl[view_type]))
- evas_object_hide(mailbox_ugd->gl[view_type]);
- }
+ if ((mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL && mailbox_ugd->mailbox_type == ld->mailbox_type)
+ || (mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX && ld->mailbox_id == mailbox_ugd->mailbox_id)) {
+ debug_log("Remove mail from list mail_id : %d", ld->mail_id);
- Evas_Object *no_content = elm_object_part_content_get(mailbox_ugd->search_layout, "noc");
- elm_layout_theme_set(no_content, "layout", "nocontents", "text");
- elm_object_part_text_set(no_content, "elm.text", dgettext("sys_string", "IDS_COM_BODY_NO_CONTENTS"));
- edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "hide_list", "elm");
- edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_noc", "elm");
- if (mailbox_ugd->delete_all_button != NULL) {
- elm_object_item_disabled_set(mailbox_ugd->delete_all_button, EINA_TRUE);
- }
- list_lock = true;
- }*/
+ if(mailbox_ugd->view_type == EMAIL_VIEW_EDIT) {
+ debug_log("edit list update first");
+ mailbox_update_edit_list_view(mailbox_ugd, ld);
+ }
+
+ mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
+ if(!g_list_length(mailbox_ugd->list_data[view_type]))
+ {
+ debug_log("list_lock : %d", list_lock);
+ if (!list_lock) {
+ if (evas_object_visible_get(mailbox_ugd->gl[view_type]))
+ evas_object_hide(mailbox_ugd->gl[view_type]);
+ }
+
+ Evas_Object *no_content = elm_object_part_content_get(mailbox_ugd->search_layout, "noc");
+ elm_layout_theme_set(no_content, "layout", "nocontents", "text");
+ elm_object_part_text_set(no_content, "elm.text", dgettext("sys_string", "IDS_COM_BODY_NO_CONTENTS"));
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "hide_list", "elm");
+ edje_object_signal_emit(_EDJ(mailbox_ugd->search_layout), "show_noc", "elm");
+ if (mailbox_ugd->delete_all_button != NULL) {
+ elm_object_item_disabled_set(mailbox_ugd->delete_all_button, EINA_TRUE);
+ }
+ list_lock = true;
}
}
}
-
}