summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordavid8.kim <david8.kim@samsung.com>2013-02-28 13:51:25 +0900
committerdavid8.kim <david8.kim@samsung.com>2013-02-28 13:51:25 +0900
commit88901bbe93afccfd7904505a0c7ee2d5c9c8fa9b (patch)
tree6b1ce9c599c9798fd473353be23bc27c3782470b
parentbd934036b557432255fe76e74efdb658c0827621 (diff)
downloademail-88901bbe93afccfd7904505a0c7ee2d5c9c8fa9b.tar.gz
email-88901bbe93afccfd7904505a0c7ee2d5c9c8fa9b.tar.bz2
email-88901bbe93afccfd7904505a0c7ee2d5c9c8fa9b.zip
fix a bugs on changing favourites, send email, ctxpopup on retation mode
-rwxr-xr-xmailbox/include/email-mailbox-noti-mgr.h1
-rwxr-xr-xmailbox/src/email-mailbox-list.c96
-rwxr-xr-xmailbox/src/email-mailbox-noti-mgr.c23
-rwxr-xr-xpackaging/org.tizen.email.spec2
4 files changed, 114 insertions, 8 deletions
diff --git a/mailbox/include/email-mailbox-noti-mgr.h b/mailbox/include/email-mailbox-noti-mgr.h
index cea2da3..8641de7 100755
--- a/mailbox/include/email-mailbox-noti-mgr.h
+++ b/mailbox/include/email-mailbox-noti-mgr.h
@@ -21,6 +21,7 @@
void _dbus_receiver_setup(EmailMailboxUGD *mailbox_ugd);
void _remove_dbus_receiver(EmailMailboxUGD *mailbox_ugd);
void _release_noti_Q_event(EmailMailboxUGD *mailbox_ugd);
+void email_maillist_insert_sorted(list_data *ld);
void _move_mail_item_cb(void *data, Ecore_Thread *thd, void* msg_data);
void _move_finish_cb(void* data, Ecore_Thread *thd);
void _delete_mail_item_cb(void *data, Ecore_Thread *thd, void* msg_data);
diff --git a/mailbox/src/email-mailbox-list.c b/mailbox/src/email-mailbox-list.c
index f3bf197..d436012 100755
--- a/mailbox/src/email-mailbox-list.c
+++ b/mailbox/src/email-mailbox-list.c
@@ -1216,6 +1216,11 @@ void email_maillist_select_info(EmailMailboxUGD *mailbox_ugd)
list = edit_list;
cnt = eina_list_count(list);
+ if (mailbox_ugd->ctxpopup) {
+ evas_object_del(mailbox_ugd->ctxpopup);
+ mailbox_ugd->ctxpopup = NULL;
+ }
+
if(mailbox_ugd->selectioninfo_layout) {
elm_object_signal_emit(mailbox_ugd->sub_layout[mailbox_ugd->previous_view], "hide_selection_info", "elm");
}
@@ -1348,6 +1353,11 @@ static void _list_item_clicked(void *data, Evas_Object *obj, void *event_info)
return;
}
+ if (ld->mailbox_ugd->ctxpopup) {
+ evas_object_del(ld->mailbox_ugd->ctxpopup);
+ ld->mailbox_ugd->ctxpopup = NULL;
+ }
+
if (b_editmode) {
ld->mailbox_ugd->view_type = EMAIL_VIEW_EDIT;
}
@@ -3218,6 +3228,49 @@ void _worker_get_move_mail_list_cb(void* data, Ecore_Thread *thd)
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[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);
+ }
}
}
else {
@@ -3241,6 +3294,49 @@ void _worker_get_move_mail_list_cb(void* data, Ecore_Thread *thd)
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[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);
+ }
}
}
else {
diff --git a/mailbox/src/email-mailbox-noti-mgr.c b/mailbox/src/email-mailbox-noti-mgr.c
index ea27f8a..118baed 100755
--- a/mailbox/src/email-mailbox-noti-mgr.c
+++ b/mailbox/src/email-mailbox-noti-mgr.c
@@ -38,7 +38,6 @@ extern char *group_title[EMAIL_GROUP_MAX][2];
DBusHandlerResult _on_dbus_receive(DBusConnection *connection, DBusMessage *message, void *user_data);
static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message);
static Eina_Bool email_check_account_list(int account_id);
-static void email_maillist_insert_sorted(list_data *ld);
static void add_seed_mail_cb(void *data, Ecore_Thread *thd, void* msg_data);
static gint _find_insert_position(gconstpointer a, gconstpointer b);
static gint _find_next_group_position(gconstpointer a, gconstpointer b);
@@ -116,7 +115,7 @@ void _delete_finish_cb(void* data, Ecore_Thread *thd)
debug_leave();
}
-static void email_maillist_insert_sorted(list_data *ld)
+void email_maillist_insert_sorted(list_data *ld)
{
debug_log("");
EmailMailboxUGD *mailbox_ugd = ld->mailbox_ugd;
@@ -733,8 +732,13 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
debug_log("idx: [%d]", *idx);
list_data *ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[view_type]);
if(ld) {
- ld->is_seen = value;
- elm_genlist_item_update(ld->item);
+ if (view_type == EMAIL_VIEW_UNREAD) {
+ mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
+ _mailbox_list_add_item(mailbox_ugd, *idx);
+ } else {
+ ld->is_seen = value;
+ elm_genlist_item_update(ld->item);
+ }
}
}
break;
@@ -743,9 +747,14 @@ static void _edbus_event_mailbox_receive(void *local_data, DBusMessage *message)
debug_log("idx: [%d]", *idx);
list_data *ld = _find_mailinfo_by_mailid(*idx, mailbox_ugd->list_data[view_type]);
if(ld) {
- ld->followup_flag = value;
- ld->imp_sel = value;
- elm_genlist_item_update(ld->item);
+ if (view_type == EMAIL_VIEW_IMPORTANT) {
+ mailbox_delete_mail_item_from_list(mailbox_ugd, ld);
+ _mailbox_list_add_item(mailbox_ugd, *idx);
+ } else {
+ ld->followup_flag = value;
+ ld->imp_sel = value;
+ elm_genlist_item_update(ld->item);
+ }
}
}
break;
diff --git a/packaging/org.tizen.email.spec b/packaging/org.tizen.email.spec
index da6f244..0ce1f42 100755
--- a/packaging/org.tizen.email.spec
+++ b/packaging/org.tizen.email.spec
@@ -1,6 +1,6 @@
Name: org.tizen.email
Summary: Native email application
-Version: 0.0.30
+Version: 0.0.31
Release: 1
Group: devel
License: Flora