fix build break
[apps/core/preloaded/email.git] / composer / src / email-composer.c
index e0889d4..f78eab3 100755 (executable)
@@ -47,6 +47,7 @@ static void _win_profile_changed_cb(void *data, Evas_Object *obj, void *event);
 static void _composer_delete_evas_objects(EmailComposerUGD *ugd);
 static void _composer_delete_all_popup(EmailComposerUGD *ugd);
 static void _composer_free_email_info(EmailComposerUGD *ugd);
+static Eina_Bool _composer_launch_email_app_cb(void *data);
 static void _composer_popup_warning(EmailComposerUGD *ugd, char *header, char *content);
 static void _composer_ug_destroy_cb(void *data, Evas_Object *obj, void *event_info);
 
@@ -217,6 +218,16 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h data, void *
                                return ugd->main_layout;
                        }
 
+                       if (ugd->account_info->account != NULL) {
+                               if (ugd->account_info->account) {
+                                       email_option_t option;
+                                       memcpy(&option, &(ugd->account_info->account->options), sizeof(email_option_t));
+                                       debug_log("read report : [%d], delivery report : [%d]", option.req_read_receipt, option.req_delivery_receipt);
+                                       ugd->tracking_option[0] = option.req_read_receipt;
+                                       ugd->tracking_option[1] = option.req_delivery_receipt;
+                               }
+                       }
+
                        ugd->account_info->account_type = ugd->account_info->account->incoming_server_type;
                        ugd->account_info->account_name = _composer_get_email_addr_from_account_id(ugd, ugd->account_info->account_id);
                }
@@ -266,6 +277,8 @@ static void on_start(ui_gadget_h ug, service_h data, void *priv)
                        case COMPOSER_ERROR_NO_ACCOUNT:
                                debug_log("Failed to get default account");
                                _composer_popup_warning(ugd, dgettext("sys_string", "IDS_COM_POP_WARNING"), _("IDS_EMAIL_POP_THERE_IS_NO_ACCOUNT_CREATE_A_NEW_ACCOUNT_FIRST"));
+                               if (!ugd->launch_timer)
+                                       ugd->launch_timer = ecore_timer_add(2.0f, _composer_launch_email_app_cb, ugd);
                                elm_object_style_set(ugd->bg, "transparent");
                                break;
 
@@ -805,11 +818,11 @@ void create_composer_frame(EmailComposerUGD *ugd)
        if (ugd->composer_type == RUN_COMPOSER_REPLY || ugd->composer_type == RUN_COMPOSER_REPLY_ALL)
                snprintf(title_str, sizeof(title_str), "%s", _("IDS_EMAIL_HEADER_REPLY_ABB"));
        else if (ugd->composer_type == RUN_COMPOSER_FORWARD)
-               snprintf(title_str, sizeof(title_str), "%s", N_("Forward"));
+               snprintf(title_str, sizeof(title_str), "%s", _("IDS_EMAIL_OPT_FORWARD"));
        else if (ugd->composer_type == RUN_COMPOSER_EDIT)
                snprintf(title_str, sizeof(title_str), "%s", dgettext("sys_string", "IDS_COM_HEADER_EDIT"));
        else
-               snprintf(title_str, sizeof(title_str), "%s", N_("New email"));
+               snprintf(title_str, sizeof(title_str), "%s", _("IDS_EMAIL_BODY_NEW_EMAIL"));
        ugd->navi_item = elm_naviframe_item_push(ugd->navi_bar, title_str, NULL, NULL, outer_layout, "2line");
 
        // Right : cancel button
@@ -865,6 +878,7 @@ void create_composer_frame(EmailComposerUGD *ugd)
        elm_object_item_part_content_set(ugd->navi_item, "optionheader", ugd->cbar);
        elm_object_item_part_content_set(ugd->navi_item, "optionheader2", ugd->cbar2);
        elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
+       elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
 
        _composer_register_scroller_callback(ugd);
 
@@ -914,6 +928,7 @@ static void _composer_init_data(void *data)
        ugd->bringin_timer = NULL;
        ugd->mbe_unfocus_timer = NULL;
        ugd->focus_timer = NULL;
+       ugd->launch_timer = NULL;
        ugd->ps_timer = NULL;
        ugd->sc_timer = NULL;
 
@@ -1105,6 +1120,12 @@ static void _composer_delete_evas_objects(EmailComposerUGD *ugd)
                ugd->send_timer = NULL;
        }
 
+       if (ugd->launch_timer) {
+               debug_log("delete launch_timer");
+               ecore_timer_del(ugd->launch_timer);
+               ugd->launch_timer = NULL;
+       }
+
        _composer_delete_all_popup(ugd);
 
        if (ugd->ps_list) {
@@ -1237,6 +1258,41 @@ static void _composer_free_email_info(EmailComposerUGD *ugd)
        }
 }
 
+static Eina_Bool _composer_launch_email_app_cb(void *data)
+{
+       debug_log("");
+
+       EmailComposerUGD *ugd = (EmailComposerUGD *)data;
+
+       int ret;
+       service_h service = NULL;
+       ret = service_create(&service);
+       debug_log("service_create: %d", ret);
+       if (!service) {
+               debug_log("service create failed");
+       }
+       ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, "9");
+       debug_log("service_add_extra_data: %d", ret);
+       ret = service_set_package(service, PKGNAME);
+       debug_log("service_set_package: %d", ret);
+       ret = service_send_launch_request(service, NULL, NULL);
+       debug_log("service_send_launch_request: %d", ret);
+       ret = service_destroy(service);
+       debug_log("service_destroy: %d", ret);
+
+       if (ugd->launch_timer) {
+               debug_log("delete launch_timer");
+               ecore_timer_del(ugd->launch_timer);
+               ugd->launch_timer = NULL;
+       }
+       /*if (ugd->idler_resize_body) {
+               ecore_idler_del(ugd->idler_resize_body);
+               ugd->idler_resize_body = NULL;
+       }*/
+
+       return ECORE_CALLBACK_CANCEL;
+}
+
 static void _composer_popup_warning(EmailComposerUGD *ugd, char *header, char *content)
 {
        debug_log("");
@@ -1466,11 +1522,9 @@ static int _composer_pre_parse_bundle(EmailComposerUGD *ugd, service_h data)
                case RUN_COMPOSER_FORWARD:
                        if (argv[1])
                                ugd->account_info->account_id = atoi(argv[1]);
-                       debug_log("");
 
                        if (argv[2])
                                ugd->mailbox_info->mailbox_id = atoi(argv[2]);
-                       debug_log("");
 
                        if (argv[3])
                                ugd->nExistingMailID = atoi(argv[3]);