void _dbus_receiver_setup(EmailAccountUGD *ug_data);
void _remove_dbus_receiver(EmailAccountUGD *ug_data);
+void refresh_account_ug(EmailAccountUGD *ug_data);
#endif /* __email_account_folder_H__ */
#define THEME_PATH EDJDIR"/email-account-theme.edj"
#define CONTROLBAR_ICON_COMPOSE IMGDIR"/M02_controlbar_icon_compose.png"
-#define CONTROLBAR_ICON_UPDATE IMGDIR"/M02_controlbar_icon_update.png"
+#define CONTROLBAR_ICON_UPDATE IMGDIR"/00_icon_refresh.png"
#define CONTROLBAR_ICON_ADD IMGDIR"/M02_controlbar_icon_add_folder.png"
#define CONTROLBAR_ICON_RENAME IMGDIR"/M02_controlbar_icon_edit.png"
#define CONTROLBAR_ICON_MOVE IMGDIR"/M02_controlbar_icon_move.png"
#define CONTROLBAR_ICON_DELETE IMGDIR"/M02_controlbar_icon_delete.png"
-#define ACCOUNT_ICON_GMAIL IMGDIR"/M02_email_list_icon_gmail.png"
-#define ACCOUNT_ICON_HOTMAIL IMGDIR"/M02_email_list_icon_hotmail.png"
-#define ACCOUNT_ICON_YAHOO IMGDIR"/M02_email_list_icon_YahooMail.png"
-#define ACCOUNT_ICON_AOL IMGDIR"/M02_email_list_icon_AOL.png"
-#define ACCOUNT_ICON_OTHERS IMGDIR"/icon_email.png"
-
#define ACCOUNT_ICON_ADDACCOUNT IMGDIR"/M02_email_list_icon_addaccount.png"
#define ACCOUNT_ICON_ALLACCOUNT IMGDIR"/M02_email_list_icon_allaccount.png"
Elm_Object_Item *navibar_item;
Evas_Object *navi_title_ly;
Evas_Object *sp_icon;
- Evas_Object *title_arrow;
- Evas_Object *r_button;
- Evas_Object *ctr_bar;
email_account_list *alist;
gint account_count;
Evas_Object *update_button;
+ Evas_Object *sync_progress;
+ Evas_Object *ctxpopup;
Evas_Object *gl;
gint n_account_list;
- gint end_key_event;
Elm_Object_Item *item[2];
- Evas_Object *control_bar;
+ Evas_Object *toolbar_more_btn;
+ Evas_Object *toolbar_btn;
int all_read_count;
int all_unread_count;
int folder_id;
int ug_mode;
int mailbox_type;
+ gboolean b_foldersync;
+ gboolean no_refresh;
int folder_mode;
int emf_handle;
Elm_Object_Item *it;
Evas_Object *entry;
Evas_Object *popup;
- Evas_Object *conformant;
Elm_Object_Item *move_from_item;
Evas_Object *select_info;
static void _delete_controlbar(EmailAccountUGD * ug_data);
static void _delete_selection_info(EmailAccountUGD * ug_data);
static Evas_Object *create_control_option(EmailAccountUGD * ug_data);
-static Evas_Object *create_edit_control_option(EmailAccountUGD * ug_data);
+static void create_edit_control_option(EmailAccountUGD * ug_data);
+static Evas_Object *_create_toolbar_btn(Evas_Object *parent, const char *text, Evas_Smart_Cb func, void *data);
+static Evas_Object *_create_toolbar_more_btn(Evas_Object *parent, Evas_Smart_Cb func, void *data);
+static void _move_ctxpopup(Evas_Object *ctxpopup, Evas_Object *win);
+static void _more_toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info);
+static void _dismissed_cb(void *data, Evas_Object *obj, void *event_info);
+static void _unset_controlbar_content(EmailAccountUGD * ug_data);
static void _refresh_account_list(void *data);
static gboolean _check_duplicated_node(GNode *node, gpointer data);
static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
static char *_gl_label_get_for_subitem(void *data, Evas_Object *obj, const char *part);
+static Evas_Object *_gl_icon_get_for_subitem(void *data, Evas_Object *obj, const char *part);
+static Evas_Object *_gl_icon_get_for_leafitem(void *data, Evas_Object *obj, const char *part);
+static void _folder_icon_clicked_cb(void *data, Evas_Object *obj, void *event_info);
static void _gl_del(void *data, Evas_Object *obj);
static char *_gl_label_get(void *data, Evas_Object *obj, const char *part);
extern bool g_isRotate;
+#define FOLDER_ICON_PLUS_FOLDER_LIST IMGDIR"/folder_plus.png"
+#define FOLDER_ICON_MINUS_FOLDER_LIST IMGDIR"/folder_minus.png"
+#define FOLDER_ICON_FOLDER_LIST IMGDIR"/folder.png"
+
+
static struct _menu_item folder_menu_its[] = {
{ "IDS_EMAIL_BODY_INBOX", ACC_MAILBOX_TYPE_INBOX, _gl_label_get_for_all_acc_inbox },
{ "IDS_EMAIL_BODY_FAVOURITES", ACC_MAILBOX_TYPE_FLAGGED, _gl_label_get_for_all_acc_favorite },
}
elm_layout_theme_set(ug_data->ly, "layout", "application", "default");
evas_object_size_hint_weight_set(ug_data->ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ug_data->win, ug_data->ly);
evas_object_show(ug_data->ly);
elm_object_part_content_set(ug_data->ly, "elm.swallow.bg", ug_data->bg);
#else
ug_data->navibar_item = elm_naviframe_item_push(ug_data->navi_bar,
NULL, b_btn, NULL, ug_data->sub_ly, NULL);
- elm_object_item_text_set(ug_data->navibar_item, dgettext("sys_string", "IDS_COM_OPT_FOLDERS"));
+ elm_object_item_text_set(ug_data->navibar_item, _("IDS_EMAIL_HEADER_FOLDERS"));
//Title Right Button for update
ug_data->update_button = elm_button_add(ug_data->navi_bar);
- elm_object_style_set(ug_data->update_button, "naviframe/title/default");
+ elm_object_style_set(ug_data->update_button, "naviframe/title_icon");
Evas_Object *update_icon = elm_icon_add(ug_data->update_button);
elm_icon_file_set(update_icon, CONTROLBAR_ICON_UPDATE, NULL);
elm_icon_resizable_set(update_icon, 1, 1);
evas_object_smart_callback_add(ug_data->update_button, "clicked", _update_all_account_cb, ug_data);
elm_object_item_part_content_set(ug_data->navibar_item, "title_right_btn", ug_data->update_button);
+ //sync progress on Title Right
+ ug_data->sync_progress = elm_progressbar_add(ug_data->navi_bar);
+ elm_object_style_set(ug_data->sync_progress, "list_process");
+ evas_object_size_hint_align_set(ug_data->sync_progress, EVAS_HINT_FILL, 0.5);
+ evas_object_size_hint_weight_set(ug_data->sync_progress, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_progressbar_pulse(ug_data->sync_progress, EINA_TRUE);
+
#endif
/* contents */
elm_object_part_content_set(ug_data->sub_ly, "elm.swallow.content", ug_data->gl);
/* control bar */
- if(ug_data->account_id == 0)
- {
- Evas_Object *cbar;
- cbar = elm_toolbar_add(ug_data->navi_bar);
- elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(cbar, "naviframe");
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", cbar);
- ug_data->control_bar = cbar;
- }
- else
- {
+ if(ug_data->account_id != 0) {
_create_controlbar(ug_data);
}
_delete_selection_info(ug_data);
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
-
_delete_controlbar(ug_data);
switch (ug_data->folder_mode) {
case ACC_FOLDER_NONE:
- ug_data->control_bar = create_control_option(ug_data);
+ create_control_option(ug_data);
break;
case ACC_FOLDER_CREATE:
case ACC_FOLDER_RENAME:
case ACC_FOLDER_DELETE:
case ACC_FOLDER_MOVE_TO:
case ACC_FOLDER_MOVE_FROM:
- ug_data->control_bar = create_edit_control_option(ug_data);
+ create_edit_control_option(ug_data);
break;
default:
break;
static void _delete_controlbar(EmailAccountUGD * ug_data)
{
debug_log("");
- if (ug_data->control_bar) {
- evas_object_del(ug_data->control_bar);
- ug_data->control_bar = NULL;
+
+ if (ug_data->toolbar_more_btn) {
+ debug_log("ug_data->toolbar_more_btn : %p", ug_data->toolbar_more_btn);
+ elm_object_item_part_content_unset(ug_data->navibar_item, "toolbar_more_btn");
+ evas_object_del(ug_data->toolbar_more_btn);
+ ug_data->toolbar_more_btn = NULL;
+ }
+ if (ug_data->toolbar_btn) {
+ elm_object_item_part_content_unset(ug_data->navibar_item, "toolbar_button1");
+ evas_object_del(ug_data->toolbar_btn);
+ ug_data->toolbar_btn = NULL;
}
}
static Evas_Object *create_control_option(EmailAccountUGD * ug_data)
{
debug_log("");
- Evas_Object *cbar;
+ Evas_Object *more_btn, *btn;
- cbar = elm_toolbar_add(ug_data->navi_bar);
- elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(cbar, "naviframe");
+ more_btn = _create_toolbar_more_btn(ug_data->navi_bar, _more_toolbar_clicked_cb, ug_data);
+ elm_object_item_part_content_set(ug_data->navibar_item, "toolbar_more_btn", more_btn);
+ ug_data->toolbar_more_btn = more_btn;
- elm_toolbar_item_append(cbar, CONTROLBAR_ICON_ADD, _("IDS_EMAIL_SK_CREATE_FOLDER"), _folder_create_cb, ug_data);
- elm_toolbar_item_append(cbar, CONTROLBAR_ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), _folder_delete_cb, ug_data);
- elm_toolbar_item_append(cbar, CONTROLBAR_ICON_MOVE, _("IDS_EMAIL_SK_MOVE"), _folder_move_cb, ug_data);
- elm_toolbar_item_append(cbar, CONTROLBAR_ICON_RENAME, dgettext("sys_string", "IDS_COM_SK_RENAME"), _folder_rename_cb, ug_data);
+ btn = _create_toolbar_btn(ug_data->navi_bar, _("IDS_EMAIL_SK_CREATE_FOLDER"), _folder_create_cb, ug_data);
+ elm_object_item_part_content_set(ug_data->navibar_item, "toolbar_button1", btn);
+ ug_data->toolbar_btn = btn;
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", cbar);
+ return NULL;
+}
- return cbar;
+static void create_edit_control_option(EmailAccountUGD * ug_data)
+{
+ debug_log("");
+
+ _delete_controlbar(ug_data);
}
-static Evas_Object *create_edit_control_option(EmailAccountUGD * ug_data)
+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 void _more_toolbar_clicked_cb(void *data, Evas_Object *obj, void *event_info)
{
debug_log("");
- Evas_Object *cbar;
+ EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
+
+ ug_data->ctxpopup = elm_ctxpopup_add(ug_data->navi_bar);
+ evas_object_smart_callback_add(ug_data->ctxpopup, "dismissed", _dismissed_cb, ug_data);
- cbar = elm_toolbar_add(ug_data->navi_bar);
- elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
- elm_object_style_set(cbar, "naviframe");
+ elm_ctxpopup_item_append(ug_data->ctxpopup, dgettext("sys_string", "IDS_COM_SK_DELETE"), NULL, _folder_delete_cb, ug_data);
+ elm_ctxpopup_item_append(ug_data->ctxpopup, _("IDS_EMAIL_SK_MOVE"), NULL, _folder_move_cb, ug_data);
+ elm_ctxpopup_item_append(ug_data->ctxpopup, dgettext("sys_string", "IDS_COM_SK_RENAME"), NULL, _folder_rename_cb, ug_data);
-// elm_toolbar_item_append(cbar, CONTROLBAR_ICON_MOVE, _("IDS_EMAIL_SK_MOVE"), _folder_move_cb, ug_data);
-// elm_toolbar_item_append(cbar, CONTROLBAR_ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), _popup_delfolder_cb, ug_data);
+ _move_ctxpopup(ug_data->ctxpopup, obj);
+ evas_object_show(ug_data->ctxpopup);
+}
+
+static void _move_ctxpopup(Evas_Object *ctxpopup, Evas_Object *win)
+{
+ Evas_Coord x, y, w, h;
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", cbar);
+ evas_object_geometry_get(win, &x, &y, &w, &h);
+ evas_object_move(ctxpopup, x + (w / 2), y);
- return cbar;
}
+static void _dismissed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
+ evas_object_del(ug_data->ctxpopup);
+ ug_data->ctxpopup = NULL;
+}
+static void _unset_controlbar_content(EmailAccountUGD * ug_data)
+{
+ debug_log("");
+ if (ug_data->toolbar_more_btn) {
+ elm_object_item_part_content_unset(ug_data->navibar_item, "toolbar_more_btn");
+ evas_object_hide(ug_data->toolbar_more_btn);
+ }
+ if (ug_data->toolbar_btn) {
+ elm_object_item_part_content_unset(ug_data->navibar_item, "toolbar_button1");
+ evas_object_hide(ug_data->toolbar_btn);
+ }
+}
void _create_folder_view(EmailAccountUGD *ug_data)
{
debug_log("");
return;
}
- itc_item.item_style = "dialogue/2text.2icon/expandable";
+ //itc_item.item_style = "dialogue/2text.2icon/expandable";
+ itc_item.item_style = "dialogue/2text.1icon/expandable";
itc_item.func.text_get = _gl_label_get;
itc_item.func.content_get = _gl_icon_get;
itc_item.func.state_get = _gl_state_get;
return g_strdup(tmp);
}
+static Evas_Object *_gl_icon_get_for_subitem(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return NULL;
+ }
+
+ Item_Data *item_data = (Item_Data *)data;
+ email_account_list *alist = item_data->alist;
+
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
+ {
+ Evas_Object *icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, FOLDER_ICON_PLUS_FOLDER_LIST, NULL);
+ evas_object_smart_callback_add(icon, "clicked", _folder_icon_clicked_cb, data);
+ evas_object_propagate_events_set(icon, EINA_FALSE);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ return icon;
+ }
+ else if (!strcmp(part, "elm.swallow.colorbar"))
+ {
+ account_user_data_t *user_data = (account_user_data_t *)alist->account_info->user_data;
+ unsigned int val = user_data->index_color;
+ int r = (val & 0xff000000) >> 24;
+ int g = (val & 0x00ff0000) >> 16;
+ int b = (val & 0x0000ff00) >> 8;
+ int a = val & 0x000000ff;
+
+ Evas_Object *color_bar = evas_object_rectangle_add(evas_object_evas_get(obj));
+ evas_object_size_hint_fill_set(color_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_color_set(color_bar, r, g, b, a);
+
+ return color_bar;
+ }
+ else
+ {
+ debug_log("part(%s) is invalid", part);
+ }
+
+ return NULL;
+}
+static Evas_Object *_gl_icon_get_for_leafitem(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return NULL;
+ }
+
+ Item_Data *item_data = (Item_Data *)data;
+ email_account_list *alist = item_data->alist;
+
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.icon.1"))
+ {
+ Evas_Object *icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, FOLDER_ICON_FOLDER_LIST, NULL);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+
+ return icon;
+ }
+ else if (!strcmp(part, "elm.swallow.colorbar"))
+ {
+ account_user_data_t *user_data = (account_user_data_t *)alist->account_info->user_data;
+ unsigned int val = user_data->index_color;
+ int r = (val & 0xff000000) >> 24;
+ int g = (val & 0x00ff0000) >> 16;
+ int b = (val & 0x0000ff00) >> 8;
+ int a = val & 0x000000ff;
+
+ Evas_Object *color_bar = evas_object_rectangle_add(evas_object_evas_get(obj));
+ evas_object_size_hint_fill_set(color_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_color_set(color_bar, r, g, b, a);
+
+ return color_bar;
+ }
+ else
+ {
+ debug_log("part(%s) is invalid", part);
+ }
+
+ return NULL;
+}
static Evas_Object *_gl_icon_get(void *data, Evas_Object *obj, const char *part)
{
debug_log("");
{
Evas_Object *icon = elm_icon_add(obj);
- // setting/include/email-setting.h
- typedef enum {
- HOTMAIL =1,
- GMAIL,
- YAHOOMAIL,
- AOL,
- OTHERS
- } AccountInfo;
-
- account_user_data_t *user_data = (account_user_data_t *)alist->account_info->user_data;
- debug_log("is_preset_account:%d", user_data->is_preset_account);
+ elm_icon_file_set(icon, alist->account_info->logo_icon_path, NULL);
+ debug_log("logo_icon_path:%s", alist->account_info->logo_icon_path);
- switch (user_data->is_preset_account) {
- case GMAIL:
- elm_icon_file_set(icon, ACCOUNT_ICON_GMAIL, NULL);
- break;
- case HOTMAIL:
- elm_icon_file_set(icon, ACCOUNT_ICON_HOTMAIL, NULL);
- break;
- case YAHOOMAIL:
- elm_icon_file_set(icon, ACCOUNT_ICON_YAHOO, NULL);
- break;
- case AOL:
- elm_icon_file_set(icon, ACCOUNT_ICON_AOL, NULL);
- break;
- case OTHERS:
- default:
- elm_icon_file_set(icon, ACCOUNT_ICON_OTHERS, NULL);
- break;
- }
evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
return icon;
/*elm_genlist_item_selected_set(it, 0);*/
Evas_Object *gl = elm_object_item_widget_get(it);
- itc_subtree.item_style = "1text.1/expandable_n_depth";
+ //itc_subtree.item_style = "1text.1/expandable_n_depth";
+ itc_subtree.item_style = "1text.1icon.2";
itc_subtree.func.text_get = _gl_label_get_for_subitem;
- itc_subtree.func.content_get = _gl_icon_get;
+ itc_subtree.func.content_get = _gl_icon_get_for_subitem;
itc_subtree.func.state_get = _gl_state_get;
itc_subtree.func.del = _gl_del;
itc_subtree.decorate_all_item_style = NULL;
- itc_subtree2.item_style = "1text.2/expandable_n_depth";
+ //itc_subtree2.item_style = "1text.2/expandable_n_depth";
+ itc_subtree2.item_style = "1text.1icon.2";
itc_subtree2.func.text_get = _gl_label_get_for_subitem;
- itc_subtree2.func.content_get = _gl_icon_get;
+ itc_subtree2.func.content_get = _gl_icon_get_for_leafitem;
itc_subtree2.func.state_get = _gl_state_get;
itc_subtree2.func.del = _gl_del;
itc_subtree2.decorate_all_item_style = NULL;
}
}
}
+static void _folder_icon_clicked_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ Item_Data *item_data = (Item_Data *)data;
+ Eina_Bool expanded = EINA_FALSE;
+
+ if (item_data->it)
+ elm_genlist_item_selected_set(item_data->it, EINA_FALSE);
+ expanded = elm_genlist_item_expanded_get(item_data->it);
+ elm_genlist_item_expanded_set(item_data->it, !expanded);
+
+ if (expanded) {
+ elm_icon_file_set(obj, FOLDER_ICON_PLUS_FOLDER_LIST, NULL);
+ } else {
+ elm_icon_file_set(obj, FOLDER_ICON_MINUS_FOLDER_LIST, NULL);
+ }
+}
static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
{
debug_log("");
char id[NUM_STR_LEN] = {0,};
snprintf(id, sizeof(id), "%d", alist->account_info->account_id);
- char is_null[NUM_STR_LEN] = {0,};
- snprintf(is_null, sizeof(is_null), "%d", false);
-
char mailbox_id[NUM_STR_LEN] = {0,};
snprintf(mailbox_id, sizeof(mailbox_id), "%d", mlist->mailbox_id);
+ service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_NULL, is_null);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, alist->account_info->user_email_address);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_ALIAS, mlist->alias);
char id[NUM_STR_LEN] = {0,};
snprintf(id, sizeof(id), "%d", alist->account_info->account_id);
- char is_null[NUM_STR_LEN] = {0,};
- snprintf(is_null, sizeof(is_null), "%d", false);
-
char mailbox_id[NUM_STR_LEN] = {0,};
snprintf(mailbox_id, sizeof(mailbox_id), "%d", mlist->mailbox_id);
+ service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_NULL, is_null);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, alist->account_info->user_email_address);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_ALIAS, mlist->alias);
/* Change layout background color to default background color */
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,default", "elm");
-
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", ug_data->control_bar);
- evas_object_show(ug_data->control_bar);
-
_create_folder_view(ug_data);
elm_object_part_content_set(ug_data->sub_ly, "elm.swallow.content", ug_data->gl);
else // UG_MODE_FULLVIEW
{
if (!elm_genlist_decorate_mode_get(ug_data->gl)) {
- _refresh_folder_view(ug_data);
+
+ if (EMAIL_SERVER_TYPE_IMAP4 == GET_ACCOUNT_SERVER_TYPE(ug_data->account_id)) {
+ int handle;
+ int err_code = 0;
+ err_code = email_sync_imap_mailbox_list(ug_data->account_id, &handle);
+
+ if (err_code < 0) {
+ debug_log("email_sync_imap_mailbox_list failed");
+ _refresh_folder_view(ug_data);
+ }
+ else {
+ debug_log("email_sync_imap_mailbox_list succeed : handle[%d]\n", handle);
+ ug_data->b_foldersync = true; //Ignore the notification(ADD, DELETE, ..)
+ ug_data->emf_handle = handle;
+ ug_data->no_refresh = false; //Screen refresh is needed
+ Evas_Object * sync_button = elm_object_item_part_content_get(ug_data->navibar_item, "title_right_btn");
+ if (sync_button == ug_data->update_button)
+ {
+ debug_log("create sync progress");
+ elm_object_item_part_content_unset(ug_data->navibar_item, "title_right_btn");
+ evas_object_hide(ug_data->update_button);
+ elm_object_item_part_content_set(ug_data->navibar_item, "title_right_btn", ug_data->sync_progress);
+ evas_object_show(ug_data->sync_progress);
+ }
+ }
+
+ } else {
+ _refresh_folder_view(ug_data);
+ }
} else {
if(ACC_FOLDER_CREATE == ug_data->folder_mode)
{
char id[NUM_STR_LEN] = {0,};
snprintf(id, sizeof(id), "%d", 0);
- char is_null[NUM_STR_LEN] = {0,};
- snprintf(is_null, sizeof(is_null), "%d", true);
-
char ch_boxtype[NUM_STR_LEN] = {0,};
snprintf(ch_boxtype, sizeof(ch_boxtype), "%d", mailbox_type);
+ service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_NULL, is_null);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, ch_boxtype);
ug_send_result(ug_data->ug, service);
if (!elm_genlist_decorate_mode_get(genlist)) {
ug_data->folder_mode = ACC_FOLDER_CREATE;
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID && ug_data->b_foldersync) {
+ _stop_emf_job(ug_data, ug_data->emf_handle);
+ ug_data->no_refresh = true;
+ }
+
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,edit_mode", "elm");
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- evas_object_hide(ug_data->control_bar);
+ _unset_controlbar_content(ug_data);
/* Set reorder and edit mode */
elm_genlist_reorder_mode_set(genlist, EINA_TRUE);
/* Change layout background color to default background color */
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,default", "elm");
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", ug_data->control_bar);
- evas_object_show(ug_data->control_bar);
-
/* Unset edit mode */
elm_genlist_decorate_mode_set(genlist, EINA_FALSE);
elm_genlist_reorder_mode_set(genlist, EINA_FALSE);
elm_object_item_text_set(ug_data->navibar_item, _("IDS_EMAIL_HEADER_FOLDERS"));
elm_genlist_tree_effect_enabled_set(ug_data->gl, EINA_TRUE);
+ _create_controlbar(ug_data);
}
}
//int account_id = ug_data->account_id;
Evas_Object *genlist = ug_data->gl;
+ if (ug_data->ctxpopup) {
+ evas_object_del(ug_data->ctxpopup);
+ ug_data->ctxpopup = NULL;
+ }
+
+
if (!elm_genlist_decorate_mode_get(genlist)) {
ug_data->folder_mode = ACC_FOLDER_DELETE;
- edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,edit_mode", "elm");
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID && ug_data->b_foldersync) {
+ _stop_emf_job(ug_data, ug_data->emf_handle);
+ ug_data->no_refresh = true;
+ }
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- evas_object_hide(ug_data->control_bar);
+ edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,edit_mode", "elm");
+ _unset_controlbar_content(ug_data);
/* Set reorder and edit mode */
elm_genlist_reorder_mode_set(genlist, EINA_TRUE);
/* Change layout background color to default background color */
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,default", "elm");
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", ug_data->control_bar);
- evas_object_show(ug_data->control_bar);
-
/* Unset edit mode */
elm_genlist_decorate_mode_set(genlist, EINA_FALSE);
elm_genlist_reorder_mode_set(genlist, EINA_FALSE);
//int account_id = ug_data->account_id;
Evas_Object *genlist = ug_data->gl;
+ if (ug_data->ctxpopup) {
+ evas_object_del(ug_data->ctxpopup);
+ ug_data->ctxpopup = NULL;
+ }
+
if (!elm_genlist_decorate_mode_get(genlist)) {
ug_data->folder_mode = ACC_FOLDER_MOVE_FROM;
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID && ug_data->b_foldersync) {
+ _stop_emf_job(ug_data, ug_data->emf_handle);
+ ug_data->no_refresh = true;
+ }
+
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,edit_mode", "elm");
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- evas_object_hide(ug_data->control_bar);
+ _unset_controlbar_content(ug_data);
/* Set reorder and edit mode */
elm_genlist_reorder_mode_set(genlist, EINA_TRUE);
/* Change layout background color to default background color */
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,default", "elm");
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", ug_data->control_bar);
- evas_object_show(ug_data->control_bar);
-
/* Unset edit mode */
elm_genlist_decorate_mode_set(genlist, EINA_FALSE);
elm_genlist_reorder_mode_set(genlist, EINA_FALSE);
//int account_id = ug_data->account_id;
Evas_Object *genlist = ug_data->gl;
+ if (ug_data->ctxpopup) {
+ evas_object_del(ug_data->ctxpopup);
+ ug_data->ctxpopup = NULL;
+ }
+
if (!elm_genlist_decorate_mode_get(genlist)) {
debug_log("");
ug_data->checked_count = 0;
// _refresh_folder_view(ug_data);
// genlist = ug_data->gl;
-
- debug_log("");
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID && ug_data->b_foldersync) {
+ _stop_emf_job(ug_data, ug_data->emf_handle);
+ ug_data->no_refresh = true;
+ }
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,edit_mode", "elm");
-
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- evas_object_hide(ug_data->control_bar);
-
/* Set reorder and edit mode */
elm_genlist_reorder_mode_set(genlist, EINA_TRUE);
elm_genlist_decorate_mode_set(genlist, EINA_TRUE);
elm_object_item_disabled_set(ug_data->root_item, EINA_TRUE);
//elm_object_part_text_set(ug_data->navi_title_ly, "txt_title", N_("Select rename folder"));
- elm_object_item_text_set(ug_data->navibar_item, N_("Select rename folder"));
+ elm_object_item_text_set(ug_data->navibar_item, _("IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"));
elm_genlist_tree_effect_enabled_set(ug_data->gl, EINA_FALSE);
/* Change layout background color to default background color */
edje_object_signal_emit(_EDJ(ug_data->ly), "elm,bg,show,default", "elm");
-
- elm_object_item_part_content_unset(ug_data->navibar_item, "controlbar");
- elm_object_item_part_content_set(ug_data->navibar_item, "controlbar", ug_data->control_bar);
- evas_object_show(ug_data->control_bar);
-
/* Unset edit mode */
elm_genlist_decorate_mode_set(genlist, EINA_FALSE);
elm_genlist_reorder_mode_set(genlist, EINA_FALSE);
ug_data ->it = it;
- if (ug_data->conformant) {
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if (ug_data->popup)
{
evas_object_del(ug_data->popup);
char arg3[MAX_STR_LEN] = { 0, };
int on_server = (EMAIL_SERVER_TYPE_POP3 == GET_ACCOUNT_SERVER_TYPE(alist->ug_data->account_id)?0:1);
- strcpy(arg1, elm_entry_markup_to_utf8(elm_object_text_get(alist->ug_data->entry)));
+ gchar* utf8_str = elm_entry_markup_to_utf8(elm_object_text_get(alist->ug_data->entry));
+ if (utf8_str) {
+ strcpy(arg1, utf8_str);
+ g_free(utf8_str);
+ utf8_str = NULL;
+ }
strcpy(arg2, email_util_strrtrim(arg1));
if(strlen(mlist->mailbox_name) > 0)
g_snprintf(arg3, sizeof(arg3), "%s/%s", email_util_strltrim(mlist->mailbox_name), arg2);
Evas_Object *popup;
Evas_Object *layout, *entry;
Evas_Object *btn1, *btn2;
- Evas_Object *content;
Elm_Object_Item *it = event_info;
Item_Data *tree_item_data = elm_object_item_data_get((const Elm_Object_Item *)it);
}
alist->ug_data->it = it;
- if (alist->ug_data->conformant) {
- evas_object_del(alist->ug_data->conformant);
- alist->ug_data->conformant = NULL;
- }
if (alist->ug_data->popup) {
evas_object_del(alist->ug_data->popup);
alist->ug_data->popup = NULL;
}
- alist->ug_data->conformant = elm_conformant_add(alist->ug_data->win);
- elm_win_conformant_set(alist->ug_data->win, EINA_TRUE);
- elm_win_resize_object_add(alist->ug_data->win, alist->ug_data->conformant);
- evas_object_size_hint_weight_set(alist->ug_data->conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(alist->ug_data->conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(alist->ug_data->conformant);
-
- content = elm_layout_add(alist->ug_data->conformant);
- elm_object_content_set(alist->ug_data->conformant, content);
- popup = elm_popup_add(content);
+ //conformant removed
+ popup = elm_popup_add(alist->ug_data->ly);
// elm_object_style_set(popup, "customstyle");
// evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
int handle;
int on_server = (EMAIL_SERVER_TYPE_POP3 == GET_ACCOUNT_SERVER_TYPE(alist->ug_data->account_id)?0:1);
- strcpy(arg1, elm_entry_markup_to_utf8(elm_object_text_get(alist->ug_data->entry)));
+ gchar* utf8_str = elm_entry_markup_to_utf8(elm_object_text_get(alist->ug_data->entry));
+ if (utf8_str) {
+ strcpy(arg1, utf8_str);
+ g_free(utf8_str);
+ utf8_str = NULL;
+ }
strcpy(arg2, email_util_strrtrim(arg1));
parent_path = email_util_get_parent_folder(mlist->mailbox_name);
Evas_Object *popup;
Evas_Object *layout, *entry;
Evas_Object *btn1, *btn2;
- Evas_Object *content;
Elm_Object_Item *it = event_info;
Item_Data *tree_item_data = elm_object_item_data_get((const Elm_Object_Item *)it);
}
alist->ug_data->it = it;
- if (alist->ug_data->conformant) {
- evas_object_del(alist->ug_data->conformant);
- alist->ug_data->conformant = NULL;
- }
if (alist->ug_data->popup) {
evas_object_del(alist->ug_data->popup);
alist->ug_data->popup = NULL;
}
- alist->ug_data->conformant = elm_conformant_add(alist->ug_data->win);
- elm_win_conformant_set(alist->ug_data->win, EINA_TRUE);
- elm_win_resize_object_add(alist->ug_data->win, alist->ug_data->conformant);
- evas_object_size_hint_weight_set(alist->ug_data->conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(alist->ug_data->conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(alist->ug_data->conformant);
-
- content = elm_layout_add(alist->ug_data->conformant);
- elm_object_content_set(alist->ug_data->conformant, content);
- popup = elm_popup_add(content);
+ // conformant removed
+ popup = elm_popup_add(alist->ug_data->ly);
// elm_object_style_set(popup, "customstyle");
// evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
else {
debug_log("email_rename_mailbox succeed[%d]", handle);
alist->ug_data->emf_handle = handle;
- if(alist->ug_data->emf_handle == 0)
- {
- _popup_success_cb(alist->ug_data, NULL, NULL);
- }
- else
- {
- _popup_progress_cb(alist->ug_data, obj, event_info);
- }
+ _popup_progress_cb(alist->ug_data, obj, event_info);
}
}
debug_log("ugd is NULL");
return;
}
- if (alist->ug_data->conformant){
- evas_object_del(alist->ug_data->conformant);
- alist->ug_data->conformant = NULL;
- }
if (alist->ug_data->popup)
{
evas_object_del(alist->ug_data->popup);
Evas_Object *notify = elm_popup_add(alist->ug_data->win);
evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_object_text_set(notify, arg1);
+ elm_object_text_set(notify, popup_text);
Evas_Object *btn1 = elm_button_add(notify);
elm_object_style_set(btn1, "popup_button/default");
alist->ug_data->popup = notify;
evas_object_show(notify);
+ FREE(popup_text);
+ g_free(to_string);
+ g_free(from_string);
}
static void _back_button_cb(void *data, Evas_Object *obj, void *event_info)
EmailAccountUGD *ug_data = (EmailAccountUGD *) data;
- if (ug_data->conformant) {
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
EmailAccountUGD *ug_data = (EmailAccountUGD *) data;
- if (ug_data->conformant) {
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
int ret = 1;
- if (ug_data->conformant){
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
if (ret) {
debug_log("fail to status_message_post() : %d\n", ret);
}
- _finish_folder_view(data, obj, event_info);
#endif
}
EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
int ret = 1;
- if (ug_data->conformant){
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
// Evas_Object * layout, *label;
EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
- if (ug_data->conformant){
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
- if (ug_data->conformant){
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
elm_object_style_set(btn, buf);
}*/
+void refresh_account_ug(EmailAccountUGD *ug_data)
+{
+ debug_log("");
+ if (!ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ if(ug_data->ug_mode == ACC_UG_ACCOUNT_VIEW) {
+ debug_log("refresh account view");
+ Elm_Object_Item *it;
+ if(ug_data->gl) {
+ it = elm_genlist_first_item_get(ug_data->gl);
+ elm_genlist_item_update(it);
+ debug_log("update list");
+ while (it) {
+ it = elm_genlist_item_next_get(it);
+ elm_genlist_item_update(it);
+ debug_log("update list");
+ }
+ }
+ } else if (ug_data->ug_mode == ACC_UG_FOLDER_VIEW) {
+ debug_log("refresh folder view, folder_mode : %d", ug_data->folder_mode);
+
+ if(ug_data->ctxpopup) {
+ evas_object_del(ug_data->ctxpopup);
+ ug_data->ctxpopup = NULL;
+ }
+ _create_controlbar(ug_data);
+
+ switch (ug_data->folder_mode) {
+ case ACC_FOLDER_NONE:
+ elm_object_item_text_set(ug_data->navibar_item, _("IDS_EMAIL_HEADER_FOLDERS"));
+ break;
+ case ACC_FOLDER_CREATE:
+ case ACC_FOLDER_RENAME:
+ elm_object_item_text_set(ug_data->navibar_item, _("IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"));
+ break;
+ case ACC_FOLDER_DELETE:
+ elm_object_item_text_set(ug_data->navibar_item, N_("Select delete folder"));
+ break;
+ case ACC_FOLDER_MOVE_TO:
+ elm_object_item_text_set(ug_data->navibar_item, N_("Select location folder"));
+ break;
+ case ACC_FOLDER_MOVE_FROM:
+ elm_object_item_text_set(ug_data->navibar_item, N_("Select move folder"));
+ break;
+ default:
+ break;
+ }
+ }
+}
+
void _dbus_receiver_setup(EmailAccountUGD *ug_data)
{
debug_log("");
dbus_error_init(&error);
if (dbus_message_get_args(message, &error, DBUS_TYPE_INT32, &subtype,
- DBUS_TYPE_INT32, &data1, DBUS_TYPE_INT32, &data2,
- DBUS_TYPE_STRING, &data3, DBUS_TYPE_INT32, &data4, DBUS_TYPE_INVALID)) {
+ DBUS_TYPE_INT32, &data1, DBUS_TYPE_INT32, &data2,
+ DBUS_TYPE_STRING, &data3, DBUS_TYPE_INT32, &data4, DBUS_TYPE_INVALID)) {
debug_log("STORE_ENABLE: subtype: %d, data1: %d, data2: %d, data3: %s, data4: %d", subtype, data1, data2, data3, data4);
- int account_id = 0;
- char* mailbox_name = NULL;
-
- switch (subtype) {
-
- case NOTI_MAILBOX_ADD:
- account_id = data1;
- mailbox_name = data3;
- debug_log("NOTI_MAILBOX_ADD, account_id [%d]", account_id);
-
- debug_log("Native account folder added: emf_handle[%d]", ug_data->emf_handle);
- if(ug_data->emf_handle != EMAIL_HANDLE_INVALID)
- {
- _popup_success_cb(ug_data, NULL, NULL);
- }
- break;
-
- case NOTI_MAILBOX_DELETE:
- account_id = data1;
- mailbox_name = data3;
- debug_log("NOTI_MAILBOX_DELETE");
-
- debug_log("Native account folder deleted: emf_handle[%d]", ug_data->emf_handle);
- if(ug_data->emf_handle != EMAIL_HANDLE_INVALID)
- {
- _popup_success_cb(ug_data, NULL, NULL);
- }
- break;
-
- case NOTI_MAILBOX_UPDATE:
- account_id = data1;
- mailbox_name = data3;
- debug_log("NOTI_MAILBOX_UPDATE");
-
- debug_log("Native account folder moved: emf_handle[%d]", ug_data->emf_handle);
- if(ug_data->emf_handle != EMAIL_HANDLE_INVALID)
- {
- _popup_success_cb(ug_data, NULL, NULL);
+ if(ug_data->b_foldersync) {
+ debug_log("folder sync is progressing. ignore the mailbox storage changes");
+ } else {
+ int account_id = 0;
+ switch (subtype) {
+ //folder list updating is here in case of native account
+ case NOTI_MAILBOX_ADD:
+ account_id = data1;
+ debug_log("NOTI_MAILBOX_ADD, account_id [%d]", account_id);
+ debug_log("Native account folder added.");
+ _finish_folder_view(ug_data, NULL, NULL);
+ break;
+
+ case NOTI_MAILBOX_DELETE:
+ account_id = data1;
+ debug_log("NOTI_MAILBOX_DELETE");
+ _finish_folder_view(ug_data, NULL, NULL);
+ break;
+
+ case NOTI_MAILBOX_UPDATE:
+ account_id = data1;
+ debug_log("NOTI_MAILBOX_UPDATE");
+ _finish_folder_view(ug_data, NULL, NULL);
+ break;
+ case NOTI_MAILBOX_RENAME:
+ account_id = data1;
+ debug_log("NOTI_MAILBOX_RENAME");
+ _finish_folder_view(ug_data, NULL, NULL);
+ break;
+
+ case NOTI_MAILBOX_RENAME_FAIL:
+ account_id = data1;
+ debug_log("NOTI_MAILBOX_RENAME_FAIL");
+ _finish_folder_view(ug_data, NULL, NULL);
+ break;
+
+ default:
+ debug_log("Uninterested notification");
+ break;
}
- break;
-
- case NOTI_MAILBOX_RENAME:
- account_id = data1;
- //In case of native email-service, rename notification is handled here
- debug_log("NOTI_MAILBOX_RENAME");
- _popup_success_cb(ug_data, NULL, NULL);
-
- break;
-
- case NOTI_MAILBOX_RENAME_FAIL:
- account_id = data1;
- debug_log("NOTI_MAILBOX_RENAME_FAIL");
- _popup_fail_cb(ug_data, NULL, NULL);
-
- break;
-
- default:
- debug_log("Uninterested notification");
- break;
}
}
else {
int account_id = 0;
int email_handle = 0;
int err_msg = 0;
+ account_id = data1;
switch (subtype) {
- // EAS
- account_id = data1;
+ // popup handling is here.
email_handle = data3;
err_msg = data4;
static void _get_icu_formatter(void);
static void _close_icu_formatter(void);
static void _get_date_text_with_formatter(time_t time, char *formatted_str);
+static void _email_account_timezone_change_cb(keynode_t *key, void *data);
+static void _stop_emf_job(EmailAccountUGD *ug_data, int handle);
/* other cb */
static void _add_account_cb(void *data, Evas_Object *obj, void *event_info);
_get_icu_formatter();
+ email_register_timezone_changed_callback(_email_account_timezone_change_cb, ug_data);
+
if (mode == UG_MODE_FULLVIEW) // folder view
{
/* DBUS */
if (ug_data->ug_mode == ACC_UG_FOLDER_VIEW) // folder view
{
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID) {
+ _stop_emf_job(ug_data, ug_data->emf_handle);
+ }
/* DBUS */
_remove_dbus_receiver(ug_data);
_destroy_view(ug_data);
+ email_deregister_timezone_changed_callback(_email_account_timezone_change_cb);
+
email_engine_finalize();
_close_icu_formatter();
static void on_event(ui_gadget_h ug, enum ug_event event, service_h service, void *priv)
{
debug_log("");
+ EmailAccountUGD *ug_data = (EmailAccountUGD *)priv;
switch (event) {
case UG_EVENT_LOW_MEMORY:
case UG_EVENT_LANG_CHANGE:
/*bindtextdomain(PACKAGE, LOCALEDIR);
textdomain(PACKAGE);*/
+ refresh_account_ug(ug_data);
break;
case UG_EVENT_ROTATE_PORTRAIT:
debug_log("UG_EVENT_ROTATE_PORTRAIT");
return NULL;
}
elm_layout_theme_set(ug_data->ly, "layout", "application", "noindicator");
- //evas_object_size_hint_weight_set(ug_data->ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- //elm_win_resize_object_add(ug_data->win, ug_data->ly);
+ evas_object_size_hint_weight_set(ug_data->ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(ug_data->ly);
elm_object_part_content_set(ug_data->ly, "elm.swallow.bg", ug_data->bg);
elm_layout_theme_set(ug_data->ly, "layout", "application", "default");
evas_object_size_hint_weight_set(ug_data->ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- elm_win_resize_object_add(ug_data->win, ug_data->ly);
evas_object_show(ug_data->ly);
}
int err = 0;
email_account_list *alist = ug_data->alist;
- if (ug_data->conformant) {
- evas_object_del(ug_data->conformant);
- ug_data->conformant = NULL;
- }
if(ug_data->popup) {
evas_object_del(ug_data->popup);
ug_data->popup = NULL;
debug_log("alias: %s, last_sync_time: %d", mailbox->alias, mailbox->last_sync_time);
time_t req_time = time(NULL); //mailbox->last_sync_time;
_get_date_text_with_formatter(req_time, buf);
+ email_free_mailbox(&mailbox, 1);
}
return g_strdup(buf);
} else if (!strcmp(part, "elm.text.3")) {
{
Evas_Object *icon = elm_icon_add(obj);
- // setting/include/email-setting.h
- typedef enum {
- HOTMAIL = 1,
- GMAIL,
- YAHOOMAIL,
- AOL,
- OTHERS
- } AccountInfo;
+ elm_icon_file_set(icon, alist->account_info->logo_icon_path, NULL);
+ debug_log("logo_icon_path:%s", alist->account_info->logo_icon_path);
- account_user_data_t *user_data = (account_user_data_t *)alist->account_info->user_data;
- debug_log("is_preset_account:%d", user_data->is_preset_account);
-
- switch (user_data->is_preset_account) {
- case GMAIL:
- elm_icon_file_set(icon, ACCOUNT_ICON_GMAIL, NULL);
- break;
- case HOTMAIL:
- elm_icon_file_set(icon, ACCOUNT_ICON_HOTMAIL, NULL);
- break;
- case YAHOOMAIL:
- elm_icon_file_set(icon, ACCOUNT_ICON_YAHOO, NULL);
- break;
- case AOL:
- elm_icon_file_set(icon, ACCOUNT_ICON_AOL, NULL);
- break;
- case OTHERS:
- default:
- elm_icon_file_set(icon, ACCOUNT_ICON_OTHERS, NULL);
- break;
- }
evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
return icon;
char id[NUM_STR_LEN] = {0,};
snprintf(id, sizeof(id), "%d", account_id);
- char is_null[NUM_STR_LEN] = {0,};
- snprintf(is_null, sizeof(is_null), "%d", true);
-
+ service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_NULL, is_null);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_USER_EMAIL, alist->account_info->user_email_address);
ug_send_result(alist->ug_data->ug, service);
char id[NUM_STR_LEN] = {0,};
snprintf(id, sizeof(id), "%d", 0);
- char is_null[NUM_STR_LEN] = {0,};
- snprintf(is_null, sizeof(is_null), "%d", true);
-
char ch_boxtype[NUM_STR_LEN] = {0,};
snprintf(ch_boxtype, sizeof(ch_boxtype), "%d", mailbox_type);
+ service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ALL_ACCOUNT);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, id);
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_IS_NULL, is_null);
service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_TYPE, ch_boxtype);
ug_send_result(ug_data->ug, service);
debug_log("");
EmailAccountUGD *ug_data = (EmailAccountUGD *)data;
Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ int ret;
elm_genlist_item_selected_set(item, 0);
return;
}
- service_add_extra_data(service, EMAIL_BUNDLE_KEY_VIEW_TYPE, EMAIL_BUNDLE_VAL_VIEW_SELECT_ACCOUNT);
- ug_data->ug_setting = create_ug(UG_NAME_EMAIL_SETTING, service, ug_data);
- service_destroy(service);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_TYPE, EMAIL_BUNDLE_VAL_ADD_ACCOUNT);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ret = ug_send_result(ug_data->ug, service);
+ debug_log("ug_send_result: %d", ret);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
}
static void layout_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(win, base);
evas_object_show(base);
break;
if (!ug || !priv)
return;
- EmailAccountUGD *ug_data = (EmailAccountUGD *) priv;
-
- if (ug == ug_data->ug_setting) {
- ug_data->ug_setting = NULL;
-
- 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(ug);
- ug_destroy_me(ug_data->ug);
- g_free(val);
- return;
- }
- }
- }
-
-FINISH:
- ug_destroy(ug);
+// EmailAccountUGD *ug_data = (EmailAccountUGD *) priv;
}
static void destroy_cb(ui_gadget_h ug, void *priv)
debug_log("formatted time: %s", formatted_str);
}
+static void _email_account_timezone_change_cb(keynode_t *key, void *data)
+{
+ debug_log("");
+ EmailAccountUGD *ug_data;
+ ug_data = (EmailAccountUGD *)data;
+ Elm_Object_Item *it;
+
+ char *timezone_id = NULL;
+ UChar utimezone_id[512] = {0,};
+ UErrorCode status = U_ZERO_ERROR;
+
+ timezone_id = vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_ID);
+
+ if (!timezone_id)
+ return;
+
+ u_uastrcpy(utimezone_id, timezone_id);
+
+ ucal_setDefaultTimeZone(utimezone_id, &status);
+
+ if (U_FAILURE(status))
+ return;
+
+ _close_icu_formatter();
+ _get_icu_formatter();
+
+ if(ug_data->gl) {
+ it = elm_genlist_first_item_get(ug_data->gl);
+ elm_genlist_item_update(it);
+ while (it) {
+ it = elm_genlist_item_next_get(it);
+ elm_genlist_item_update(it);
+ }
+ }
+}
+static void _stop_emf_job(EmailAccountUGD *ug_data, int handle)
+{
+ debug_log("");
+ if (!ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ gint account_id = ug_data->account_id;
+
+ debug_log("stop job - handle (%d)", handle);
+ email_engine_stop_working(account_id, handle);
+
+ ug_data->emf_handle = EMAIL_HANDLE_INVALID;
+}
#if 0
static int _emf_account_init(EmailAccountUGD *ug_data)
{
#define DIR_DEFAULT_EMAIL_STORAGE "/opt/usr/data"
/* define bundle key */
+#define EMAIL_BUNDLE_KEY_ACCOUNT_TYPE "ACCOUNT_TYPE"
#define EMAIL_BUNDLE_KEY_ACCOUNT_ID "ACCOUNT_ID"
-#define EMAIL_BUNDLE_KEY_IS_NULL "IS_NULL"
#define EMAIL_BUNDLE_KEY_MAILBOX "MAILBOX_ID"
#define EMAIL_BUNDLE_KEY_MAILBOX_ALIAS "MAILBOX_ALIAS"
#define EMAIL_BUNDLE_KEY_USER_EMAIL "USER_EMAIL"
#define UG_NAME_CONTACT "contacts-tabui-efl"
/* define bundle value */
+#define EMAIL_BUNDLE_VAL_ALL_ACCOUNT "ALL_ACCOUNT"
+#define EMAIL_BUNDLE_VAL_SINGLE_ACCOUNT "SINGLE_ACCOUNT"
+#define EMAIL_BUNDLE_VAL_ADD_ACCOUNT "ADD_ACCOUNT"
+
#define EMAIL_BUNDLE_VAL_END_KEY "END_KEY_EVENT"
#define EMAIL_BUNDLE_VAL_NEXT_MSG "NEXT_MSG"
#define EMAIL_BUNDLE_VAL_PREV_MSG "PREV_MSG"
int email_open_icu_pattern_generator(void);
int email_close_icu_pattern_generator(void);
+void email_icu_mutex_init(void);
+void email_icu_mutex_lock(void);
+void email_icu_mutex_unlock(void);
+void email_icu_mutex_destroy(void);
+
+int email_register_timezone_changed_callback(void *func, void *data);
+int email_deregister_timezone_changed_callback(void *func);
+
gboolean email_drm_file_is_right(const gchar *path);
gboolean email_drm_file_forward_lock_check(const gchar *path);
#include <errno.h>
#include <drm_client.h>
#include <drm_client_types.h>
+#include <pthread.h>
#include "email-utils.h"
+static pthread_mutex_t icu_mutex = PTHREAD_MUTEX_INITIALIZER;
char *icu_locale = NULL;
static UDateTimePatternGenerator *icu_pattern_generator = NULL;
static UDateFormat *icu_formatter_hmm = NULL;
struct tm req_tm;
memcpy(&req_tm, dummy, sizeof(struct tm));
+ email_icu_mutex_lock();
+
if (is_today(&req_tm, &now_tm) || req_time > now_time /*future mail :)*/) {
*group_title = g_strdup(dgettext("sys_string", "IDS_COM_BODY_TODAY"));
*group_date = email_get_date_text_with_formatter(icu_formatter_EEEMMMd, (void *)&req_time);
groupIndex = EMAIL_GROUP_OLDER;
*group_date = NULL;
}
-
+ email_icu_mutex_unlock();
/*debug_log("-now : %d.%d (%d)", now_tm.tm_year + 1900, now_tm.tm_yday, now_time);
debug_log("-req : %d.%d (%d)", req_tm.tm_year + 1900, req_tm.tm_yday, req_time);
debug_log("(%s) (%s)", *group_title, *group_date);*/
/*debug_log("*now : %d.%d.%d", now_tm.tm_year + 1900, now_tm.tm_mon, now_tm.tm_mday);
debug_log("*req : %d.%d.%d", req_tm.tm_year + 1900, req_tm.tm_mon, req_tm.tm_mday);*/
+ email_icu_mutex_lock();
char *datetime = ({
char *_ret_str = NULL;
_ret_str = email_get_date_text_with_formatter(icu_formatter_MMMd, (void *)&req_time);
_ret_str;
});
+ email_icu_mutex_unlock();
return datetime;
}
UChar customSkeleton[64] = { 0, };
int skeletonLength = strlen(skeleton);
+ email_icu_mutex_lock();
u_uastrncpy(customSkeleton, skeleton, skeletonLength);
_generate_best_pattern(locale, customSkeleton, formattedString, time);
+ email_icu_mutex_unlock();
return g_strdup(formattedString);
}
u_austrncpy(formattedString, formatted, 128);
return g_strdup(formattedString);
}
+void email_icu_mutex_init(void)
+{
+ debug_log("");
+ pthread_mutex_init(&icu_mutex, NULL);
+
+}
+void email_icu_mutex_lock(void)
+{
+ debug_log("");
+ pthread_mutex_lock(&icu_mutex);
+
+}
+void email_icu_mutex_unlock(void)
+{
+ debug_log("");
+ pthread_mutex_unlock(&icu_mutex);
+
+}
+void email_icu_mutex_destroy(void)
+{
+ debug_log("");
+ pthread_mutex_destroy(&icu_mutex);
+}
int email_open_icu_pattern_generator(void)
{
debug_log("");
}
}
+int email_register_timezone_changed_callback(void *func, void *data)
+{
+ debug_log("");
+ if (vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, func, data) < 0) {
+ debug_log("vconf callback registration(VCONFKEY_SYSTEM_TIME_CHANGED) is failed");
+ return -1;
+ }
+
+ return 0;
+}
+
+int email_deregister_timezone_changed_callback(void *func)
+{
+ debug_log("");
+ if (vconf_ignore_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED, func) < 0) {
+ debug_log("vconf callback removal(VCONFKEY_SYSTEM_TIME_CHANGED) is failed");
+ return -1;
+ }
+ return 0;
+}
/* EOF */
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);
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_ */
#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"
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;
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;
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;
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;
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;
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;
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);
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__ */
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);
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)
{
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 *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++) {
}
+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;
}
}
-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)
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");
#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)
{
_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) {
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;
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)
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)
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;
}
}
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 &&
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;
_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;
}
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;
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;
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();
}
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 */
}
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;
}
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)
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 {
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);
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);
{
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);
} 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);
{
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;
}
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"))
{
}
}
#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;
}
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");
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");
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;
} 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;
}
/* 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;
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);
{
evas_object_smart_callback_add(gl, "edge,bottom", _get_more_clicked_cb, mailbox_ugd);
+ b_enable_get_more = true;
}
evas_object_show(gl);
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)
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)
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) {
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;
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 */
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);
}
_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("");
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);
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};
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;
+ }
+ }
+
+}
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;
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);
}
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;
{
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);
//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", "");
{
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);
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)
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*/
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;
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;
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;
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;
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;
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);
/* 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);
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;
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;
}
mailbox_ugd->base = NULL;
}
+ email_register_timezone_changed_callback(_email_mailbox_timezone_change_cb, mailbox_ugd);
+
+
return mailbox_ugd->layout_main;
}
/*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();
case UG_EVENT_LOW_BATTERY:
break;
case UG_EVENT_LANG_CHANGE:
+ _refresh_mailbox_fullview(mailbox_ugd);
break;
case UG_EVENT_ROTATE_PORTRAIT:
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)) {
{
email_maillist_select_info(mailbox_ugd);
}
+
+ elm_object_signal_emit(mailbox_ugd->panes, "elm,panes,unpair", "");
}
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");
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);
}
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)
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("");
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;
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:
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);
}
}
+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;
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);
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);
}
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("");
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)
{
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);
}
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)
{
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);
//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);
//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);
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);
}
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);
}
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)
{
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);
+ }
}
}
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);
+}
+
description
{
state: "default" 0.0;
- min: 0 69;
+ min: 0 106;
fixed: 1 1;
align: 0.0 0.0;
visible: 1;
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;
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;
part {
name: "seperator1";
- type: IMAGE;
+ type: SWALLOW;
scale: 1;
description {
state: "default" 0.0;
to_x: "right_btn";
to_y: "bottom_padding";
}
- image.normal: "00_winset_title_line.png";
+ //image.normal: "00_winset_title_line.png";
}
}
part {
name: "seperator2";
- type: IMAGE;
+ type: SWALLOW;
scale: 1;
description {
state: "default" 0.0;
to_x: "left_btn";
to_y: "bottom_padding";
}
- image.normal: "00_winset_title_line.png";
+ //image.normal: "00_winset_title_line.png";
}
}
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;
}
}
}
+ 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";
+ }
+ }
+ }
+ }
+ }
}
static void aul_destroy_cb(ui_gadget_h ug, void *priv);
ui_gadget_h create_ug(char *ug_name, service_h bd, void *data);
static int _email_main_rotation_cb(app_device_orientation_e m, void *data);
+static void _email_timezone_change_cb(keynode_t *key, void *data);
static void layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
UG_INIT_EFL(ad->win_main, UG_OPT_INDICATOR_ENABLE);
+ email_icu_mutex_init();
/* icu */
email_open_icu_pattern_generator();
+ //Register timezone changed callback
+ email_register_timezone_changed_callback(_email_timezone_change_cb, NULL);
+
return true;
}
set_app_terminated();
+ //email_close_icu_pattern_generator();
+ email_deregister_timezone_changed_callback(_email_timezone_change_cb);
+
+ email_icu_mutex_destroy();
+
email_engine_finalize_force();
int ret = e_dbus_shutdown();
debug_log("");
elm_exit();
}
+static void _email_timezone_change_cb(keynode_t *key, void *data)
+{
+ debug_log("");
+
+ char *timezone_id = NULL;
+ UChar utimezone_id[512] = {0,};
+ UErrorCode status = U_ZERO_ERROR;
+
+ timezone_id = vconf_get_str(VCONFKEY_SETAPPL_TIMEZONE_ID);
+
+ if (!timezone_id)
+ return;
+
+ u_uastrcpy(utimezone_id, timezone_id);
+
+ ucal_setDefaultTimeZone(utimezone_id, &status);
+
+ if (U_FAILURE(status))
+ return;
+
+ email_icu_mutex_lock();
+
+ email_close_icu_pattern_generator();
+ email_open_icu_pattern_generator();
+
+ email_icu_mutex_unlock();
+
+ debug_leave();
+}
/* EOF */