SET(ICONDIR "/opt/share/icons/default/small")
SET(EDJDIR "${RESDIR}/edje")
SET(IMGDIR "${RESDIR}/images")
+SET(JSDIR "${RESDIR}/js")
SET(UGDIR "/opt/ug/lib")
ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
ADD_DEFINITIONS("-DICONDIR=\"${ICONDIR}\"")
ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
ADD_DEFINITIONS("-DIMGDIR=\"${IMGDIR}\"")
+ADD_DEFINITIONS("-DJSDIR=\"${JSDIR}\"")
# Add your submodule directory name
-ADD_SUBDIRECTORY(mailbox)
-ADD_SUBDIRECTORY(block)
ADD_SUBDIRECTORY(common)
ADD_SUBDIRECTORY(setting)
ADD_SUBDIRECTORY(composer)
+ADD_SUBDIRECTORY(viewer)
+ADD_SUBDIRECTORY(mailbox)
+ADD_SUBDIRECTORY(block)
ADD_SUBDIRECTORY(account)
ADD_SUBDIRECTORY(main)
ADD_SUBDIRECTORY(po)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${UGDIR})\r
INSTALL(FILES ${CMAKE_ACCOUNT_BINARY_DIR}/email-account-theme.edj DESTINATION ${EDJDIR})\r
INSTALL(FILES ${CMAKE_ACCOUNT_BINARY_DIR}/email-effect-layout.edj DESTINATION ${EDJDIR})\r
-#INSTALL(DIRECTORY ${CMAKE_ACCOUNT_SOURCE_DIR}/images DESTINATION ${RESDIR} FILES_MATCHING PATTERN "*.png")\r
\r
-# i18n\r
-#ADD_SUBDIRECTORY(po)\r
#define CONTROLBAR_ICON_MOVE IMGDIR"/M02_controlbar_icon_move.png"
#define CONTROLBAR_ICON_DELETE IMGDIR"/M02_controlbar_icon_delete.png"
-#define ACCOUNT_ICON_EXCHANGE IMGDIR"/M02_email_list_icon_exchange.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"
// setting/include/email-setting.h
typedef enum {
- ACTIVESYNC = 1,
- HOTMAIL,
+ HOTMAIL =1,
GMAIL,
YAHOOMAIL,
AOL,
case AOL:
elm_icon_file_set(icon, ACCOUNT_ICON_AOL, NULL);
break;
- case ACTIVESYNC:
- elm_icon_file_set(icon, ACCOUNT_ICON_EXCHANGE, NULL);
- break;
case OTHERS:
default:
elm_icon_file_set(icon, ACCOUNT_ICON_OTHERS, NULL);
mailbox_name = data3;
debug_log("NOTI_MAILBOX_ADD, account_id [%d]", account_id);
- if(EMAIL_SERVER_TYPE_ACTIVE_SYNC != GET_ACCOUNT_SERVER_TYPE(account_id))
+ debug_log("Native account folder added: emf_handle[%d]", ug_data->emf_handle);
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID)
{
- 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);
- }
- }
- else
- {
- debug_log("EAS account folder added.");
+ _popup_success_cb(ug_data, NULL, NULL);
}
break;
mailbox_name = data3;
debug_log("NOTI_MAILBOX_DELETE");
- if(EMAIL_SERVER_TYPE_ACTIVE_SYNC != GET_ACCOUNT_SERVER_TYPE(account_id))
+ debug_log("Native account folder deleted: emf_handle[%d]", ug_data->emf_handle);
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID)
{
- 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);
- }
- }
- else
- {
- debug_log("EAS account folder deleted");
+ _popup_success_cb(ug_data, NULL, NULL);
}
break;
mailbox_name = data3;
debug_log("NOTI_MAILBOX_UPDATE");
- if(EMAIL_SERVER_TYPE_ACTIVE_SYNC != GET_ACCOUNT_SERVER_TYPE(account_id))
- {
- 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);
- }
- }
- else
+ debug_log("Native account folder moved: emf_handle[%d]", ug_data->emf_handle);
+ if(ug_data->emf_handle != EMAIL_HANDLE_INVALID)
{
- debug_log("EAS account folder moved");
+ _popup_success_cb(ug_data, NULL, NULL);
}
break;
// setting/include/email-setting.h
typedef enum {
- ACTIVESYNC = 1,
- HOTMAIL,
+ HOTMAIL = 1,
GMAIL,
YAHOOMAIL,
AOL,
case AOL:
elm_icon_file_set(icon, ACCOUNT_ICON_AOL, NULL);
break;
- case ACTIVESYNC:
- elm_icon_file_set(icon, ACCOUNT_ICON_EXCHANGE, NULL);
- break;
case OTHERS:
default:
elm_icon_file_set(icon, ACCOUNT_ICON_OTHERS, NULL);
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${UGDIR})
INSTALL(FILES ${CMAKE_MAILBLOCK_BINARY_DIR}/email-block-theme.edj DESTINATION ${EDJDIR})
-# i18n
-#ADD_SUBDIRECTORY(po)
-
SET(SRCS-common
./src/email-debug.c
./src/email-engine.c
+ ./src/email-html-converter.c
./src/email-utils.c
)
#define MAX_URL_LEN 1024
#define MAX_RECPT_LEN (MAX_STR_LEN * 8 + 1)
+#define DIR_DEFAULT_MEDIA_PHONE "/opt/media"
+
/* define bundle key */
#define EMAIL_BUNDLE_KEY_ACCOUNT_ID "ACCOUNT_ID"
#define EMAIL_BUNDLE_KEY_IS_NULL "IS_NULL"
#define EMAIL_BUNDLE_KEY_VIEW_TYPE "VIEW_TYPE"
#define EMAIL_BUNDLE_KEY_RUN_TYPE "RUN_TYPE"
#define EMAIL_BUNDLE_KEY_MAIL_ID "MAIL_ID"
-#define EMAIL_BUNDLE_KEY_LIVEMAGAZINE "bLiveMagazine"
#define EMAIL_BUNDLE_KEY_INTERNAL "bInternal"
#define EMAIL_BUNDLE_KEY_FIRST_LANDSCAPE "bFirstLandscape"
#define EMAIL_BUNDLE_KEY_MSG "MSG"
#define EMAIL_BUNDLE_KEY_MAILBOX_TYPE "MAILBOX_TYPE"
#define EMAIL_BUNDLE_KEY_CONTACT_TYPE "type"
+#define EMAIL_BUNDLE_KEY_CALENDAR_EDIT_ACCOUNT_ID "account_id"
+#define EMAIL_BUNDLE_KEY_CALENDAR_EDIT_MAIL_ID "mail_id"
+#define EMAIL_BUNDLE_KEY_CALENDAR_EDIT_SRC_BOX "src_box"
+#define EMAIL_BUNDLE_KEY_CALENDAR_EDIT_INDEX "index"
+#define EMAIL_BUNDLE_KEY_CALENDAR_EDIT_NOTE "note"
+#define EMAIL_BUNDLE_KEY_VIDEO_PLAYER_LAUNCH_APP "launching_application"
/* define ug name */
#define UG_NAME_EMAIL_MAILBOX "email-mailbox-efl"
#define UG_NAME_EMAIL_VIEWER "email-viewer-efl"
+#define UG_NAME_EMAIL_BLOCK "email-block-efl"
#define UG_NAME_EMAIL_COMPOSER "email-composer-efl"
#define UG_NAME_EMAIL_SETTING "email-setting-efl"
#define UG_NAME_EMAIL_ACCOUNT "email-account-efl"
#define UG_NAME_EMAIL_DOCUMENT "email-docsearch-efl"
-#define UG_NAME_CONTACT "contacts-tabui-efl"/*"phoneui-efl"*/
+#define UG_NAME_CONTACT "contacts-tabui-efl"
+#define UG_NAME_CALENDAR_EDIT "calendar-edit-efl"
/* define bundle value */
+#define EMAIL_BUNDLE_VAL_CALENDAR_EDIT_INDEX "0"
+#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"
#define EMAIL_BUNDLE_VAL_UNREAD "UNREAD"
RUN_COMPOSER_REPLY_ALL, /*< Specific reply all type. this type is used to replay email to all */
RUN_COMPOSER_FORWARD, /*< Specific forward type. this type is used to forward email */
RUN_COMPOSER_EXTERNAL, /*< Specific external type. this type is used to create new email from external app except email app */
+ RUN_COMPOSER_REPLY_INTERNAL,
RUN_VIEWER,
RUN_MAILBOX_THREAD,
RUN_SETTING_ACCOUNT_ADD,
EMAIL_SORT_UNREAD,
EMAIL_SORT_IMPORTANT,
EMAIL_SORT_PRIORITY,
- EMAIL_SORT_MEETING_REQUEST,
EMAIL_SORT_ATTACHMENTS,
EMAIL_SORT_MAX,
} EmailSortType;
EMAIL_GET_MAIL_NORMAL = 0,
} EmailGetMailType;
+typedef enum {
+ EMAIL_EXT_SAVE_ERR_NONE = 0,
+ EMAIL_EXT_SAVE_ERR_ALREADY_EXIST,
+ EMAIL_EXT_SAVE_ERR_UNKNOWN
+} EmailExtSaveErrType;
+
typedef struct {
gchar *name;
gchar *alias;
gboolean email_engine_sync_folder(gint account_id, int mailbox_id, unsigned *handle);
void email_engine_stop_working(gint account_id, unsigned handle);
+gboolean email_engine_check_seen_mail(gint account_id, gint mail_id);
int email_engine_check_body_download(int mail_id);
+gboolean email_engine_body_download(gint account_id, gint mail_id, unsigned *handle);
+gboolean email_engine_attachment_download(gint account_id, gint mail_id, gint index, unsigned *handle);
+
gboolean email_engine_delete_mail(gint account_id, int mailbox_id, gint mail_id, int sync);
gboolean email_engine_delete_all_mail(gint account_id, int mailbox_id, int sync);
+gboolean email_engine_move_mail(gint account_id, int mailbox_id, gint mail_id);
gboolean email_engine_move_all_mail(gint account_id, int old_mailbox_id, int new_mailbox_id);
gchar *email_engine_get_attachment_path(gint attach_id); /* g_free(). */
gboolean email_engine_get_account_info(gint account_id, EmailAccountInfo **account_info);
void email_engine_free_account_info(EmailAccountInfo **account_info);
+GList *email_engine_get_ca_mailbox_list_using_glist(int account_id);
void email_engine_free_ca_mailbox_list_using_glist(GList **mailbox_list);
int email_engine_get_max_account_id(void);
int email_engine_get_count_account(void);
-gboolean email_engine_get_eas_acc_exist_only(void);
G_END_DECLS
#endif /* _EMAIL_ENGINE_H_ */
--- /dev/null
+/*
+ Email Application
+
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd All Rights Reserved
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+#ifndef _EMAIL_HTML_CONVERTER_H_
+#define _EMAIL_HTML_CONVERTER_H_
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+/* g_free(). */
+gchar *email_html_converter(const gchar *plain_text, const gchar *charset);
+
+G_END_DECLS
+#endif /* _EMAIL_HTML_CONVERTER_H_ */
+
+/* EOF */
#include <unicode/udatpg.h>
#include <unicode/ustring.h>
+#define MAX_DEFAULT_DIR_PATH 256
+
G_BEGIN_DECLS
/*
char *email_get_date_text_with_formatter(UDateFormat *formatter, void *time);
int email_get_group_title_str(const time_t time_val, gchar **group_title, gchar **group_date);
+int email_attachments_save_file(const gchar *path, gchar *newpath, gboolean(*copy_file_cb) (float percentage));
+
int email_open_icu_pattern_generator(void);
int email_close_icu_pattern_generator(void);
int get_app_terminated();
void set_app_paused();
void reset_app_paused();
-void reset_eas_validation_started();
-int get_eas_validation_started();
+int get_app_paused();
char* email_util_strrtrim(char* s);
char* email_util_strltrim(char* s);
char* email_util_get_parent_folder(char *s);
debug_log("email_service_begin");
- /*err = ipcEmailProxy_Initialize(0);*/
err = email_service_begin();
if (err != EMAIL_ERROR_NONE) {
debug_critical("fail to email_service_begin - err(%d)", err);
debug_critical("Error code(%d)", err);
return FALSE;
}
- debug_log("Create Succeed");
+ debug_log("Succeed in adding account");
*account_id = _account->account_id;
debug_log("account id is %d", _account->account_id);
return FALSE;
}
- debug_log("Create Succeed");
+ debug_log("Succeed in adding account with validation");
*account_id = _account->account_id;
debug_log("account id is %d", _account->account_id);
err = email_update_account(account_id, _account);
if (err == EMAIL_ERROR_NONE) {
- debug_log("email_update_account successful");
+ debug_log("Suceeded in email_update_account");
return TRUE;
} else {
debug_critical("Failed to update account Err(%d)", err);
err = email_update_account_with_validation(account_id, _account);
if (err == EMAIL_ERROR_NONE) {
- debug_log("email_update_account_with_validation successful");
+ debug_log("Suceeded in email_update_account_with_validation");
return TRUE;
} else {
debug_critical("Failed to update account with validation Err(%d)", err);
debug_critical("Fail to free account list Err(%d)", err);
return FALSE;
} else {
- debug_log("Success to free account list");
+ debug_log("Succeed in freeing account list");
return TRUE;
}
}
int err = 0;
err = email_sync_header(account_id, mailbox_id, &email_handle);
- debug_critical("email_handle: %d", email_handle);
+ debug_log("email_handle: %d", email_handle);
if (err != EMAIL_ERROR_NONE) {
debug_critical("fail to sync current folder - err (%d)", err);
}
}
+gboolean email_engine_check_seen_mail(gint account_id, gint mail_id)
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(account_id > ACCOUNT_MIN, FALSE);
+ RETURN_VAL_IF_FAIL(mail_id > 0, FALSE);
+
+ int res = 0;
+ int err = 0;
+ email_mail_data_t *mail_info = NULL;
+
+ if ((err = email_get_mail_data(mail_id, &mail_info)) != EMAIL_ERROR_NONE) {
+ debug_log("fail to get mail data - err (%d)", err);
+ return 0;
+ }
+
+ if (mail_info == NULL) {
+ debug_critical("mail_info is @niL");
+ return 0;
+ }
+
+ res = mail_info->flags_seen_field;
+ debug_log("flags_seen_field: %d", res);
+
+ err = email_free_mail_data(&mail_info, 1);
+
+ if (err != EMAIL_ERROR_NONE) {
+ debug_critical("fail to free mail info - err (%d)", err);
+ }
+
+ return res;
+}
int email_engine_check_body_download(int mail_id)
{
return res;
}
+gboolean email_engine_body_download(gint account_id, gint mail_id, unsigned *handle)
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(account_id > ACCOUNT_MIN, FALSE);
+ RETURN_VAL_IF_FAIL(mail_id > 0, FALSE);
+
+ int err = 0;
+ unsigned email_handle = 0;
+ gboolean res = FALSE;
+
+ err = email_download_body(mail_id, 0, &email_handle);
+
+ if (err != EMAIL_ERROR_NONE) {
+ debug_warning("fail to download body - err (%d)", err);
+ goto error;
+ }
+
+ if (handle != NULL) {
+ debug_log("email_handle for body download: %d", email_handle);
+ *handle = email_handle;
+ }
+
+ res = TRUE;
+
+ error:
+ return res;
+}
+
+gboolean email_engine_attachment_download(gint account_id, gint mail_id, gint index, unsigned *handle)
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(account_id > ACCOUNT_MIN, FALSE);
+ RETURN_VAL_IF_FAIL(mail_id > 0, FALSE);
+ RETURN_VAL_IF_FAIL(index > 0, FALSE);
+
+ int err = 0;
+ unsigned email_handle = 0;
+ gboolean res = FALSE;
+
+ err = email_download_attachment(mail_id, index, &email_handle);
+
+ if (err != EMAIL_ERROR_NONE) {
+ debug_warning("fail to download attachment - err (%d)", err);
+ goto error;
+ }
+
+ if (handle != NULL) {
+ debug_log("email_handle for attachment download: %d", email_handle);
+ *handle = email_handle;
+ }
+
+ res = TRUE;
+
+ error:
+ return res;
+}
+
gboolean email_engine_delete_mail(gint account_id, int mailbox_id, gint mail_id, int sync)
{
debug_log("");
{
debug_log("");
RETURN_VAL_IF_FAIL(account_id > ACCOUNT_MIN, FALSE);
- /*
- RETURN_VAL_IF_FAIL(STR_VALID(folder_name), FALSE);
- */
int err = 0;
gboolean res = TRUE; /* MUST BE initialized TRUE. */
return res;
}
+gboolean email_engine_move_mail(gint account_id, int mailbox_id, gint mail_id)
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(account_id > ACCOUNT_MIN, FALSE);
+ RETURN_VAL_IF_FAIL(mail_id > 0, FALSE);
+
+ debug_log("account_id: %d", account_id);
+ debug_log("mail_id: %d", mail_id);
+
+ int err = 0;
+ gboolean res = TRUE; /* MUST BE initialized TRUE. */
+
+ RETURN_VAL_IF_FAIL(mailbox_id > 0, FALSE);
+
+ int mail_ids[1] = { 0 };
+ mail_ids[0] = mail_id;
+
+ err = email_move_mail_to_mailbox(mail_ids, 1, mailbox_id);
+
+ if (err != EMAIL_ERROR_NONE) {
+ debug_warning("failed to move message - err (%d)", err);
+ res = FALSE;
+ }
+
+ return res;
+}
+
gboolean email_engine_move_all_mail(gint account_id, int old_mailbox_id, int new_mailbox_id)
{
debug_log("");
info = NULL;
}
+GList *email_engine_get_ca_mailbox_list_using_glist(int account_id)
+{
+ debug_log("");
+ int i, count = 0;
+ email_mailbox_t *mailbox_list = NULL;
+ GList *ret = NULL;
+ int err = 0;
+ /*
+ debug_log("account_id: %d", account_id);
+ debug_log("&mailbox_list: 0x%x", &mailbox_list);
+ */
+
+ err = email_get_mailbox_list_ex(account_id, -1, 1, &mailbox_list, &count);
+ if (err != EMAIL_ERROR_NONE) {
+ debug_critical("email_get_mailbox_list return error");
+ goto finally;
+ }
+ /*
+ debug_log("Executing email_get_mailbox_list is ended.");
+ debug_log("count: %d", count);
+ */
+
+ for (i = 0; i < count; i++) {
+ EmailMailboxNameAndAlias *nameandalias = calloc(1, sizeof(EmailMailboxNameAndAlias));
+ if (mailbox_list[i].mailbox_name == NULL) {
+ debug_critical("mailbox_list[%d].name is null", i);
+ free(nameandalias);
+ continue;
+ } else {
+ /* debug_log("mailbox_list[].name is %s", mailbox_list[i].mailbox_name); */
+ }
+ nameandalias->name = g_strdup(mailbox_list[i].mailbox_name);
+ nameandalias->mailbox_id = mailbox_list[i].mailbox_id;
+
+ if (mailbox_list[i].alias == NULL) {
+ debug_critical("alias is NULL");
+ nameandalias->alias = nameandalias->name;
+ } else {
+ /* debug_log("mailbox_list[].alias is %s", mailbox_list[i].alias); */
+ nameandalias->alias = g_strdup(mailbox_list[i].alias);
+ }
+
+ nameandalias->mailbox_type = mailbox_list[i].mailbox_type;
+ nameandalias->unread_count = mailbox_list[i].unread_count;
+ nameandalias->total_mail_count_on_local = mailbox_list[i].total_mail_count_on_local;
+ nameandalias->total_mail_count_on_server = mailbox_list[i].total_mail_count_on_server;
+
+ ret = g_list_append(ret, (gpointer)nameandalias);
+
+ /* debug_log("mailbox name: %s", mailbox_list[i].mailbox_name); */
+ }
+
+ finally:
+
+ email_free_mailbox(&mailbox_list, count);
+ return ret;
+}
+
void email_engine_free_ca_mailbox_list_using_glist(GList **mailbox_list)
{
debug_log("");
return count;
}
-gboolean email_engine_get_eas_acc_exist_only(void)
-{
- debug_enter();
-
- email_account_t *account_list = NULL;
- int account_count = 0;
- int err = 0;
- int i = 0;
- gboolean b_activeSyncOnly = TRUE;
-
- /* If one account only. Set as the account. */
- err = email_engine_get_account_list(&account_count, &account_list);
- if (err == 0) {
- debug_critical("fail to get account list - err(%d)", err);
- return b_activeSyncOnly;
- }
-
- for (i = 0; i < account_count; ++i) {
- if (account_list[i].incoming_server_type != EMAIL_SERVER_TYPE_ACTIVE_SYNC) {
- b_activeSyncOnly = FALSE;
- break;
- }
- }
-
- err = email_engine_free_account_list(&account_list, account_count);
- if (err == 0) {
- debug_critical("fail to free account list - err(%d)", err);
- }
- else
- {
- account_list = NULL;
- account_count = 0;
- }
-
- debug_log("current b_activeSyncOnly: %d", b_activeSyncOnly);
- return b_activeSyncOnly;
-}
/* EOF */
--- /dev/null
+/*
+ Email Application
+
+Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd All Rights Reserved
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#include <glib.h>
+#include <glib/gprintf.h>
+
+#include "email-common-types.h"
+#include "email-debug.h"
+#include "email-utils.h"
+#include "email-html-converter.h"
+
+#define _USE_HTML_DUMP_ 0
+
+static const gchar *_get_html_tag(const gchar char_val)
+{
+ const gchar *tag = NULL;
+
+ switch (char_val) {
+ case '\n':
+ tag = "<br>";
+ break;
+ case '\r':
+ tag = ""; /* skip. */
+ break;
+ case '<':
+ tag = "<";
+ break;
+ case '>':
+ tag = ">";
+ break;
+ default:
+ break;
+ }
+ return tag;
+}
+
+/* g_free(). */
+static gchar *_get_parse_plain_text(const gchar *text, gint size)
+{
+ RETURN_VAL_IF_FAIL(STR_VALID(text), NULL);
+ RETURN_VAL_IF_FAIL(size > 0, NULL);
+
+ gchar *html = NULL;
+ gchar *buff = NULL;
+ gchar *temp = NULL;
+ guint i = 0;
+ guint old_offset = 0, offset = 0;
+
+ for (i = 0; i < size; ++i) {
+
+ /* Get html tag. */
+ const gchar *tag = _get_html_tag(text[i]);
+
+ /* If need, convert text to html format. */
+ if (tag) {
+
+ temp = html;
+
+ if (i > old_offset) {
+ offset = i - old_offset;
+ buff = g_strndup(&text[old_offset], offset);
+ if (temp) {
+ html = g_strconcat(temp, buff, tag, NULL);
+ } else {
+ html = g_strconcat(buff, tag, NULL);
+ }
+ if (buff) {
+ g_free(buff);
+ buff = NULL;
+ }
+ } else {
+ if (temp) {
+ html = g_strconcat(temp, tag, NULL);
+ } else {
+ html = g_strconcat(tag, NULL);
+ }
+ }
+
+ if (temp) {
+ g_free(temp);
+ temp = NULL;
+ }
+
+ old_offset = i + 1;
+ }
+ }
+
+ /* If not terminated. */
+ if (old_offset < size) {
+ if (html) {
+ temp = html;
+ buff = g_strndup(&text[old_offset], size - old_offset);
+ html = g_strconcat(temp, buff, NULL);
+ if (buff) {
+ g_free(buff);
+ }
+ g_free(temp);
+ }
+ }
+
+ return html ? html : g_strndup(text, size);
+}
+
+static void _dump_buff(const gchar *buff)
+{
+ RETURN_IF_FAIL(STR_VALID(buff));
+
+#if _USE_HTML_DUMP_ == 1
+ tzset(); /* MUST BE. */
+ time_t now = time(NULL);
+ struct tm *t = localtime(&now);
+
+ gchar buff_path[MAX_STR_LEN] = "\0";
+
+ g_sprintf(buff_path, "%s/%04d.%02d.%02d[%02dH.%02dM].html", DIR_SRV_PREFIX, t->tm_year + 1900, t->tm_mon, t->tm_mday, t->tm_hour, t->tm_min);
+
+ debug_log("path [%s]", buff_path);
+
+ email_save_file(buff_path, buff, STR_LEN((gchar *)buff));
+#endif /* _USE_HTML_DUMP_ */
+}
+
+/* Exported API.
+ */
+gchar *email_html_converter(const gchar *plain_text, const gchar *charset)
+{
+ /*debug_time();*/
+ char meta_charset[MAX_STR_LEN] = { 0, };
+ g_snprintf(meta_charset, sizeof(meta_charset), "<html><head><meta name=\"viewport\" content=\"width=device-width, "
+ "initial-scale=0.8, maximum-scale=2.0, minimum-scale=0.5, user-scalable=yes, target-densitydpi=medium-dpi\"/>"
+ "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=%s\">", charset);
+ debug_log("meta charset:%s", meta_charset);
+
+ /*const char *text_css = "<STYLE type=\"text/css\"> \
+body {background-color: #1a1a1a; \
+color: #ffffff; \
+font-size: 32px; \
+margin-left: 18px; \
+margin-right: 18px; \
+margin-top: 8px; \
+margin-bottom: 8px;} \
+p {font-size: 32px;} \
+table {font-size: 32px;} \
+a:link {color: white} \
+a:visited {color: red} \
+a:active {color: red; background: #1a1a1a} \
+</STYLE></head><body>";*/
+
+ const char *text_css = "<STYLE type=\"text/css\"> \
+body {font-size: 16px; \
+margin-left: 18px; \
+margin-right: 18px; \
+margin-top: 8px; \
+margin-bottom: 8px;} \
+p {font-size: 16px;} \
+table {font-size: 16px;} \
+</STYLE></head><body>";
+
+ const gchar *html_etag = "</body></html>";
+ gchar *html_stag = NULL;
+ gchar *html = NULL;
+
+ html_stag = g_strconcat(meta_charset, text_css, NULL);
+
+ if (STR_INVALID(plain_text)) {
+ debug_log("empty file detected");
+ html = g_strconcat(html_stag, html_etag, NULL);
+ g_free(html_stag);
+ return html;
+ }
+
+ /*
+ debug_log("plain-text [%s]", plain_text);
+ */
+
+ gchar *text = NULL;
+ gchar *buff = NULL;
+
+ if (STR_INVALID(html)) {
+ debug_log("not found cut-link - convert plain/text to html");
+ text = _get_parse_plain_text(plain_text, STR_LEN((gchar *)plain_text));
+ buff = g_strconcat(html_stag, text, NULL);
+ if (text)
+ g_free(text);
+ html = g_strconcat(buff, html_etag, NULL);
+ g_free(buff);
+ }
+ /*debug_time();*/
+
+ _dump_buff(html);
+
+ if (html_stag)
+ g_free(html_stag);
+
+ return html;
+}
+
+/* EOF */
EMAIL_GROUP_READ,
EMAIL_GROUP_FAVORITES,
EMAIL_GROUP_ATTACHMENTS,
- EMAIL_GROUP_MEETING_REQUEST,
EMAIL_GROUP_OTHER,
EMAIL_GROUP_PRIORITY_HIGH,
EMAIL_GROUP_PRIORITY_NORMAL,
};
+static gboolean _copy_actual_file(const char *src_full_path, const char *dest_full_path, gboolean(*copy_file_cb) (float percentage));
static void _generate_best_pattern(const char *locale, UChar * customSkeleton, char *formattedString, void *time);
static int _open_icu_pattern_n_formatter(const char *locale, char *skeleton, UDateFormat **formatter);
static int _close_icu_pattern_n_formatter(UDateFormat *formatter);
g_strfreev(token_list); /* MUST BE. */
- /*token_list = g_strsplit_set(file_name, ".", -1);
- RETURN_VAL_IF_FAIL(token_list != NULL, NULL);
- gchar *file_name_without_ext = g_strdup(token_list[0]);
- g_strfreev(token_list);*/
-
int len = 0;
if (file_name)
len = strlen(file_name);
g_strfreev(token_list); /* MUST BE. */
- /*token_list = g_strsplit_set(file_name, ".", -1);
- RETURN_VAL_IF_FAIL(token_list != NULL, NULL);
- gchar *file_name_without_ext = g_strdup(token_list[0]);
- g_strfreev(token_list);*/
-
int len = 0;
if (file_name)
len = strlen(file_name);
g_free(file_name);
}
+gchar *email_parse_get_filepath_from_path(const gchar *path)
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(STR_VALID(path), NULL);
+
+ gchar *file_path = NULL;
+ gint i = 0;
+ gint size = STR_LEN((gchar *)path);
+
+ for (i = (size - 1); i >= 0; --i) {
+ if (path[i] == '/') {
+ file_path = g_strndup(path, i + 1);
+ break;
+ }
+ }
+
+ debug_log("file path (%s)", file_path);
+
+ return file_path;
+}
+
void email_save_file(const gchar *path, const gchar *buf, gsize len)
{
debug_log("");
return ret;
}
+gchar *email_cut_text_by_byte_len(const gchar *text, gint len)
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(STR_VALID(text), NULL);
+ RETURN_VAL_IF_FAIL(len > 0, NULL);
+
+ gint char_len2 = g_utf8_strlen(text, len);
+ gchar *offset = g_utf8_offset_to_pointer(text, char_len2);
+
+ gchar *ret_text = (gchar *)g_malloc0(offset - text + 1);
+
+ STR_NCPY(ret_text, (gchar *)text, offset - text);
+
+ return ret_text;
+}
+
static int is_yesterday(struct tm *req_tm, struct tm *now_tm)
{
if (now_tm->tm_yday == 0) { /* It is the first day of year */
*group_date = NULL;
}
else if((req_tm.tm_year == now_tm.tm_year) && (req_tm.tm_mon == now_tm.tm_mon)) {
- //*group_title = g_strdup(dgettext("sys_string", "IDS_COM_BODY_EARLIER_THISMONTH"));
*group_title = g_strdup(N_("Earlier this Month"));
groupIndex = EMAIL_GROUP_EARLIER_THISMONTH;
*group_date = NULL;
}
else if(is_lastmonth(&req_tm, &now_tm)) {
- //*group_title = g_strdup(dgettext("sys_string", "IDS_COM_BODY_LAST_MONTH"));
- *group_title = g_strdup(N_("Last Month"));
+ *group_title = g_strdup(_("IDS_EMAIL_BODY_LAST_MONTH"));
groupIndex = EMAIL_GROUP_LASTMONTH;
*group_date = NULL;
}
*group_date = NULL;
}
- /* debug_log("-now : %d.%d (%d)", now_tm.tm_year + 1900, now_tm.tm_yday, now_time);
+ /*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("(%s) (%s)", *group_title, *group_date);*/
return groupIndex;
}
struct tm req_tm;
memcpy(&req_tm, dummy, sizeof(struct tm));
-/* 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); */
+ /*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);*/
char *datetime = ({
char *_ret_str = NULL;
udat_close(formatter);
}
+void _create_download_folder()
+{
+ debug_log("");
+
+ if (!email_check_dir_exist(DIR_DEFAULT_MEDIA_PHONE"/Downloads")) {
+ int nErr = -1;
+ nErr = mkdir(DIR_DEFAULT_MEDIA_PHONE"/Downloads", 0755);
+ debug_log("errno: %d", nErr);
+ if (nErr == -1)
+ debug_log("Downloads folder creation failed");
+ } else
+ debug_log("Downloads folder already exists.");
+}
+
+int email_attachments_save_file(const gchar *path, gchar *newpath, gboolean(*copy_file_cb) (float percentage))
+{
+ debug_log("");
+ RETURN_VAL_IF_FAIL(STR_VALID(path), EMAIL_EXT_SAVE_ERR_UNKNOWN);
+
+ gchar new_path[MAX_DEFAULT_DIR_PATH] = { 0, };
+ gchar tmp_path[MAX_DEFAULT_DIR_PATH] = { 0, };
+ gchar new_filename[MAX_DEFAULT_DIR_PATH] = { 0, };
+ gchar prefix[MAX_DEFAULT_DIR_PATH] = { 0, };
+ gboolean saved = FALSE;
+ gint err = 0;
+ gint max_length = MAX_DEFAULT_DIR_PATH;
+
+ snprintf(prefix, sizeof(prefix), "%s", DIR_DEFAULT_MEDIA_PHONE"/Downloads");
+
+ debug_log("prefix:%s", prefix);
+
+ memset(new_path, 0, sizeof(MAX_DEFAULT_DIR_PATH));
+ memset(tmp_path, 0, sizeof(MAX_DEFAULT_DIR_PATH));
+
+ if (STR_LEN(tmp_path) == 0) {
+ g_sprintf(tmp_path, "%s", path);
+ }
+
+ gchar *file_name = NULL;
+ gchar *file_ext = NULL;
+ gchar *file_path = email_parse_get_filepath_from_path(tmp_path);
+ email_parse_get_filename_n_ext_from_path(tmp_path, &file_name, &file_ext);
+
+ debug_log("file_name:%s", file_name);
+ debug_log("file_ext:%s", file_ext);
+
+ if (file_ext == NULL)
+ file_ext = "";
+
+ if (STR_VALID(file_name) && file_ext != NULL) {
+ debug_log("");
+ if (STR_LEN(file_name) + STR_LEN(file_ext) > max_length - STR_LEN(prefix)) {
+ gint available_len = max_length - STR_LEN(prefix);
+
+ if (STR_VALID(file_ext)) {
+ available_len -= STR_LEN(file_ext);
+ }
+
+ gchar *new_name = email_cut_text_by_byte_len(file_name, available_len);
+
+ if (STR_VALID(new_name)) {
+ g_sprintf(new_path, "%s/%s%s", prefix, new_name, file_ext);
+ g_sprintf(new_filename, "%s%s", new_name, file_ext);
+ g_free(new_name); /* MUST BE. */
+ }
+ } else {
+ g_sprintf(new_path, "%s/%s%s", prefix, file_name, file_ext);
+ }
+ }
+
+ if (STR_VALID(file_path)) {
+ g_free(file_path); /* MUST BE. */
+ }
+
+ if (STR_VALID(file_name)) {
+ g_free(file_name); /* MUST BE. */
+ }
+
+ if (STR_VALID(file_ext)) {
+ g_free(file_ext); /* MUST BE. */
+ }
+
+ debug_log("new_path:%s", new_path);
+
+ /* Move for DRM file */
+
+ _create_download_folder();
+
+ /* Copy for non-DRM */
+ if (access(new_path, F_OK) != -1) {
+ debug_log("file existed");
+ err = EMAIL_EXT_SAVE_ERR_ALREADY_EXIST;
+ } else {
+ saved = _copy_actual_file(path, new_path, copy_file_cb);
+ debug_log("saved(%d), err(%d), errno(%d)", saved, err, errno);
+
+ if (saved)
+ err = EMAIL_EXT_SAVE_ERR_NONE;
+ else
+ err = EMAIL_EXT_SAVE_ERR_UNKNOWN;
+ }
+
+ snprintf(newpath, MAX_STR_LEN, "%s", new_path);
+
+ return err;
+}
+
+static gboolean _copy_actual_file(const char *src_full_path, const char *dest_full_path, gboolean(*copy_file_cb) (float percentage))
+{
+ debug_log("");
+ FILE *fs = NULL;
+ FILE *fd = NULL;
+ char buff[4096] = { 0, };
+ int n = 0;
+ gboolean result = FALSE;
+ gboolean stop_copying = FALSE;
+ int m = 0;
+ int cnt = 0;
+ struct stat statbuf = { 0 };
+ int ret = 0;
+ int total_size = 0;
+ int copied_size = 0;
+ gboolean remove_dest = FALSE;
+ clock_t begin;
+ clock_t finish; /* consumed time to copy whole file */
+ double totaltime;
+ float percentage = 0.0;
+
+ fs = fopen(src_full_path, "rb");
+ if (fs == NULL) {
+ int err = errno;
+ debug_log("fopen error(%d)", err);
+ return FALSE;
+ }
+
+ ret = fstat(fileno(fs), &statbuf);
+ if (ret != 0) {
+ debug_log("fstat error");
+ fclose(fs);
+ return FALSE;
+ }
+
+ total_size = (int)statbuf.st_size;
+
+ fseek(fs, 0, SEEK_SET);
+
+ fd = fopen(dest_full_path, "wb");
+
+ remove_dest = TRUE;
+
+ if (fd == NULL) {
+ int err = errno;
+ debug_log("fopen error(%d)", err);
+ fclose(fs);
+ return FALSE;
+ }
+
+ fseek(fd, 0, SEEK_SET);
+
+ copied_size = 0;
+
+ begin = clock();
+
+ while (1) {
+ result = feof(fs);
+ if (!result) {
+ n = fread(buff, sizeof(char), sizeof(buff), fs);
+ if (n > 0) {
+ m = fwrite(buff, sizeof(char), n, fd);
+ if (m <= 0) {
+ debug_log("fwrite = %d", m);
+ result = FALSE;
+ goto CATCH;
+ }
+
+ cnt++;
+ copied_size += m;
+
+ if (cnt > 100) {
+ percentage = ((float)(total_size - copied_size) / (float)total_size) * 100.0;
+ if (copy_file_cb)
+ stop_copying = copy_file_cb(percentage);
+
+ if (stop_copying) {
+ result = FALSE;
+ remove_dest = TRUE;
+ goto CATCH;
+ }
+
+ cnt = 0;
+ }
+ } else {
+ result = TRUE;
+ goto CATCH;
+ }
+ } else {
+ result = TRUE;
+ goto CATCH;
+ }
+ }
+
+ CATCH:
+ fflush(fd);
+ fsync(fileno(fd));
+ fclose(fd);
+ fclose(fs);
+
+ if (remove_dest && result == FALSE) {
+ remove(dest_full_path);
+ sync();
+ }
+
+ if (result) {
+ finish = clock();
+ totaltime = (double)(finish - begin) / CLOCKS_PER_SEC;
+ debug_log("takes %f s to copy %s", totaltime, src_full_path);
+ }
+
+ return result;
+}
+
gboolean email_drm_file_is_right(const gchar *path)
{
RETURN_VAL_IF_FAIL(STR_VALID(path), FALSE);
static int termination_flag = 0;
static int pause_flag = 0;
-static int eas_validation_started_flag = 0;
void set_app_terminated()
{
pause_flag = 0;
}
-void reset_eas_validation_started()
-{
- eas_validation_started_flag = 0;
-}
-
-int get_eas_validation_started()
+int get_app_paused()
{
- return eas_validation_started_flag;
+ return pause_flag;
}
char* email_util_strrtrim(char* s)
INCLUDE(FindPkgConfig)
pkg_check_modules(pkgs-composer REQUIRED ecore ecore-file glib-2.0 gobject-2.0 edbus
- appcore-common elementary capi-appfw-application
- sysman dlog email-service contacts-service syspopup-caller
+ appcore-common elementary capi-appfw-application status
+ sysman dlog email-service contacts-service
efreet-mime ewebkit2 ui-gadget-1 bundle mm-fileinfo mmutil-jpeg libmedia-utils ethumb ecore-x)
FOREACH(flag ${pkgs-composer_CFLAGS})
ADD_DEFINITIONS("-D_TEMPORARY_FIX_FOR_ROTATION_")
ADD_DEFINITIONS("-D_POPUP_WITH_LIST")
ADD_DEFINITIONS("-D_ALWAYS_CC_MYSELF")
-ADD_DEFINITIONS("-D_CC_BCC")
##ADD_DEFINITIONS("-D_LAUNCH_APP")
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${UGDIR})
INSTALL(FILES ${CMAKE_COMPOSER_BINARY_DIR}/email-composer-view.edj DESTINATION ${EDJDIR})
INSTALL(FILES ${CMAKE_COMPOSER_SOURCE_DIR}/ug-email-composer-efl.xml DESTINATION /opt/share/packages)
-INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/images DESTINATION ${RESDIR} FILES_MATCHING PATTERN "*.png")
-INSTALL(FILES ${CMAKE_COMPOSER_SOURCE_DIR}/theme/_email_default.html DESTINATION ${DATADIR})
-
-# i18n
-#ADD_SUBDIRECTORY(po)
Evas_Object *_composer_from_gl_content_get(void *data, Evas_Object *obj, const char *part);
void _composer_cbar_cc_clicked(void *data, Evas_Object *obj, void *event_info);
-#ifndef _CC_BCC
-void _composer_cbar_bcc_clicked(void *data, Evas_Object *obj, void *event_info);
-#endif
+
+void _composer_cbar_add_me_clicked(void *data, Evas_Object *obj, void *event_info);
+void _composer_cbar_save_as_draft_clicked(void *data, Evas_Object *obj, void *event_info);
+void _composer_cbar_priority_clicked(void *data, Evas_Object *obj, void *event_info);
+void _composer_cbar_tracking_clicked(void *data, Evas_Object *obj, void *event_info);
+
void _composer_cbar_send_clicked(void *data, Evas_Object *obj, void *event_info);
void _composer_script_executed_cb(Evas_Object *o, const char *result, void *data);
#define MAX_RECIPIENT_ADDRESS_LEN 234
#define MAX_RECIPIENT_COUNT 100
-#define MAX_RECIPIENT_ADDRESSES_LEN (MAX_RECIPIENT_ADDRESS_LEN*MAX_RECIPIENT_COUNT)
+#define MAX_RECIPIENT_ADDRESSES_LEN (MAX_RECIPIENT_ADDRESS_LEN * MAX_RECIPIENT_COUNT)
#define MAX_SUBJECT_LEN 1024
#define MAX_BODY_SIZE 32763
#define MAX_ATTACHMENT_ITEM 100
-#define MAX_ATTACHMENT_SIZE 10*1024*1024
+#define MAX_ATTACHMENT_SIZE 10 * 1024 * 1024
#define MAX_ATTACHMENT_FILE_LEN 1024
#define CONV_THUMB_WIDTH 250
void _composer_print_hit_test_result(Ewk_Hit_Test *hit_test);
void _composer_coords_ewk_to_evas(Evas_Object *view, int ewkX, int ewkY, int *evasX, int *evasY);
void _composer_coords_evas_to_ewk(Evas_Object *view, int evasX, int evasY, int *ewkX, int *ewkY);
+void _composer_set_option_tray_menu(int num, EmailComposerUGD *ugd);
+void _composer_unset_option_tray_menu(int num, EmailComposerUGD *ugd);
+
#endif /* __DEF_email_composer_util_H__ */
#define _ENABLE_ENDKEY_ 0
#define MAX_RECENT_ITEM 100
-#define MB_SVC_FILE_PATH_LEN_MAX 255
#define TEMP_BUFFER_SIZE 1024
#define MAX_WEBVIEW_HEIGHT 88
Evas *evas;
Evas_Object *bg;
- /*Elm_Theme *th;*/
+ Elm_Theme *th;
/* New notify - TODO: unify the popup usage */
Evas_Object *composer_noti;
bool bSendBtnDisabled;
bool cc_added;
bool bcc_added;
+ bool me_added;
int indicator_height;
bool is_main_scroller_scrolling;
int option_header_opened;
-#ifndef _CC_BCC
- Elm_Object_Item *controlbar_item[2];
-#else
- Elm_Object_Item *controlbar_item[1];
-#endif
+ Evas_Object *dummy_btn;
+ Evas_Object *add_me_btn;
+ Evas_Object *save_as_draft_btn;
+
+ int priority_option;
+ Evas_Object *priority_btn;
+ Evas_Object *priority_rdg;
+ Evas_Object *priority_rd[3];
+
+ Evas_Object *tracking_btn;
+ Eina_Bool tracking_option[2];
+
+ Evas_Object *cbar;
+ Evas_Object *cbar2;
+ Elm_Object_Item *controlbar_item[6];
+
Evas_Object *cc_btn;
Evas_Object *bcc_btn;
COMPOSER_RECIPIENT_TYPE_MAX,
} COMPOSER_RECIPIENT_TYPE_E;
+enum {
+ EMAIL_COMPOSER_ADD_ME_BTN,
+ EMAIL_COMPOSER_ADD_CC_BCC_BTN,
+ EMAIL_COMPOSER_SAVE_AS_DRAFT_BTN,
+ EMAIL_COMPOSER_PRIORITY_BTN,
+ EMAIL_COMPOSER_TRACKING_BTN,
+ EMAIL_COMPOSER_DUMMY_BTN,
+ EMAIL_COMPOSER_BTN_MAX
+};
+
/****************************************************/
/* Function Declaration */
/****************************************************/
*/
#include <string.h>
+#include <status.h>
#include "email-composer.h"
#include "email-composer-util.h"
#include "email-composer-predictive-search.h"
#include "email-composer-js.h"
+#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"
+
static EmailComposerUGD *g_ugd = NULL;
bool edit_mode = false;
static Elm_Genlist_Item_Class itc;
static Elm_Genlist_Item_Class from_itc;
+static Elm_Genlist_Item_Class priority_itc;
+static Elm_Genlist_Item_Class tracking_itc;
static void _composer_mbe_popup_change_addr_selected_cb(void *data, Evas_Object *obj, void *event_info);
static void _composer_from_change_response_cb(void *data, Evas_Object *obj, void *event_info);
static void _composer_from_gl_sel(void *data, Evas_Object *obj, void *event_info);
static Eina_Bool _composer_cc_mbe_set_focus(void *data);
-#ifndef _CC_BCC
-static Eina_Bool _composer_bcc_mbe_set_focus(void *data);
-#endif
static void *_composer_contact_search_by_email(EmailComposerUGD *ugd, const char *search_word);
static void _composer_delete_contacts_list(EMAIL_CONTACT_LIST_INFO_S *contacts_list_item);
static void _composer_get_html_content_for_draft_cb(Evas_Object *o, const char *result, void *data);
debug_log("More Button Clicked");
- if (ugd->option_header_opened)
+ if (ugd->option_header_opened) {
+ if (ugd->isRotated == true) {
+ _composer_resize_body_webview(ugd, 316);
+ } else {
+ _composer_resize_body_webview(ugd, ugd->ime_height);
+ }
elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
- else
- elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,open", "");
+ } else {
+ if (ugd->isRotated == true) {
+ _composer_resize_body_webview(ugd, 316 + 122);
+ } else {
+ _composer_resize_body_webview(ugd, ugd->ime_height + 122);
+ }
+ elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,open", "");
+ }
ugd->option_header_opened = !ugd->option_header_opened;
+ elm_layout_sizing_eval(ugd->c_layout);
+
_composer_mbe_set_focus(ugd);
}
if (!ugd->cc_added) {
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
-
ugd->b_cc_bcc = false;
}
if (!ugd->bcc_added) {
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
-
ugd->b_cc_bcc = false;
}
if (index > 5)
index = 5;
Evas_Object *box = elm_box_add(ugd->change_addr_noti);
- evas_object_size_hint_min_set(box, 610 * elm_scale_get(), 113 * index * elm_scale_get());
+ evas_object_size_hint_min_set(box, 610 * elm_scale_get(), 114 * index * elm_scale_get());
evas_object_show(genlist);
elm_box_pack_end(box, genlist);
elm_object_content_set(ugd->change_addr_noti, box);
#endif
elm_object_focus_allow_set(ugd->composer_noti, EINA_FALSE);
- from_itc.item_style = "1text.1icon.2";
+ from_itc.item_style = "email.2text.3icon.3";
from_itc.func.text_get = _composer_from_gl_text_get;
from_itc.func.content_get = _composer_from_gl_content_get;
from_itc.func.state_get = NULL;
elm_genlist_clear(ugd->account_gen_list);
ugd->account_gen_list = elm_genlist_add(ugd->composer_noti);
+ elm_object_theme_set(ugd->account_gen_list, ugd->th);
evas_object_size_hint_weight_set(ugd->account_gen_list, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ugd->account_gen_list, EVAS_HINT_FILL, EVAS_HINT_FILL);
if (acc_index > 5)
acc_index = 5;
Evas_Object *box = elm_box_add(ugd->composer_noti);
- evas_object_size_hint_min_set(box, 610 * elm_scale_get(), 113 * acc_index * elm_scale_get());
+ evas_object_size_hint_min_set(box, 610 * elm_scale_get(), 122 * acc_index * elm_scale_get());
evas_object_show(ugd->account_gen_list);
elm_box_pack_end(box, ugd->account_gen_list);
elm_object_content_set(ugd->composer_noti, box);
int index = (int)data;
debug_log("label index = %d", index);
- debug_log("email_addr = %s", g_ugd->account_info->account_list[index].user_email_address);
- if (!g_strcmp0(part, "elm.text")) {
+ if (!strncmp(part, "elm.text.1", 10)) {
+ debug_log("email_addr = %s", g_ugd->account_info->account_list[index].account_name);
+ return g_strdup(g_ugd->account_info->account_list[index].account_name);
+ } else if (!strncmp(part, "elm.text.2", 10)) {
+ debug_log("email_addr = %s", g_ugd->account_info->account_list[index].user_email_address);
return g_strdup(g_ugd->account_info->account_list[index].user_email_address);
+ } else {
+ debug_log("part is invalid");
}
return NULL;
debug_log("account_id = %d", g_ugd->account_info->account_list[count].account_id);
debug_log("default account_id = %d", g_ugd->account_info->account_id);
- if (!strncmp(part, "elm.icon", 8)) {
+ if (!strncmp(part, "elm.icon.1", 10)) {
g_ugd->account_info->account_rd[count] = elm_radio_add(obj);
elm_radio_state_value_set(g_ugd->account_info->account_rd[count], count);
evas_object_smart_callback_add(g_ugd->account_info->account_rd[count], "changed", _composer_from_radio_cb, g_ugd);
return g_ugd->account_info->account_rd[count];
+ } else if (!strncmp(part, "elm.icon.2", 10)) {
+ 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 *ud = (account_user_data_t *)g_ugd->account_info->account_list[count].user_data;
+ debug_log("is_preset_account:%d", ud->is_preset_account);
+
+ switch (ud->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;
+ } else if (!strncmp(part, "elm.swallow.colorbar", 20)) {
+ account_user_data_t *ud = (account_user_data_t *)g_ugd->account_info->account_list[count].user_data;
+ unsigned int val = ud->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 is invalid");
}
return NULL;
ugd->account_info->account_name = g_strdup(ugd->account_info->account_list[set_val].user_email_address);
debug_log("account_id = %d", ugd->account_info->account_id);
- if (!email_engine_get_account_full_data(ugd->account_info->account_id, &(ugd->account_info->account)))
- debug_log("Failed to Get account full data");
debug_log("priority = %d", (*ugd->account_info->account).options.priority);
edje_object_signal_emit(_EDJ(ugd->c_layout), "hide.cc", "*");
email_composer_delete_cc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "hide.bcc", "*");
email_composer_delete_bcc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, _("IDS_EMAIL_OPT_ADD_CC_BCC"));
-#endif
if (ugd->b_cc_ps_open == true) {
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.to", "*");
ugd->b_cc_bcc = false;
+ elm_layout_sizing_eval(ugd->c_layout);
+
if (!_composer_check_popup_exist(ugd)) {
ugd->idler_set_focus = ecore_idler_add(_composer_mbe_set_focus, ugd);
}
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
+
+ elm_layout_sizing_eval(ugd->c_layout);
ugd->idler_set_focus = ecore_idler_add(_composer_cc_mbe_set_focus, ugd);
}
+}
- if (ugd->isRotated == true)
- elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
+void _composer_cbar_add_me_clicked(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ EmailComposerUGD *ugd = (EmailComposerUGD *)data;
+
+ if (ugd->me_added == false) {
+ EmailRecpInfo *from_ri = NULL;
+ Elm_Object_Item *from_item = NULL;
+ from_item = elm_multibuttonentry_first_item_get(ugd->from_mbe);
+
+ if (from_item) {
+ from_ri = elm_object_item_data_get(from_item);
+
+ debug_log("from_ri = %s", from_ri->email_list[0].email_addr);
+ }
+ Elm_Object_Item *to_item = NULL;
+ to_item = elm_multibuttonentry_first_item_get(ugd->to_mbe);
+
+ while (to_item) {
+ EmailRecpInfo *to_ri = NULL;
+ int index = 0;
+
+ to_ri = (EmailRecpInfo *) elm_object_item_data_get(to_item);
+
+ index = to_ri->selected_email_idx;
+
+ debug_log("to_ri email_addr = %s", to_ri->email_list[index].email_addr);
+
+ if (g_strcmp0(to_ri->email_list[index].email_addr, from_ri->email_list[0].email_addr) == 0) {
+ elm_object_item_del(to_item);
+ break;
+ }
+
+ to_item = elm_multibuttonentry_item_next_get(to_item);
+ }
+
+ EmailRecpInfo *new_to_ri = (EmailRecpInfo *) calloc(1, sizeof(EmailRecpInfo));
+
+ new_to_ri->selected_email_idx = 0;
+ new_to_ri->display_name = ugd->account_info->account->user_display_name;
+ snprintf(new_to_ri->email_list[0].email_addr, MAX_RECIPIENT_ADDRESS_LEN, "%s", ugd->account_info->account->user_email_address);
+ new_to_ri->email_cnt = 1;
+ new_to_ri->is_contact_info = false;
+ new_to_ri->is_always_bcc = false;
+ new_to_ri->is_from_addr = true;
+
+ to_item = elm_multibuttonentry_first_item_get(ugd->to_mbe);
+ elm_multibuttonentry_item_insert_before(ugd->to_mbe, to_item, g_strdup(new_to_ri->display_name), NULL, new_to_ri);
+
+ elm_object_text_set(ugd->add_me_btn, N_("Remove me"));
+
+ ugd->me_added = true;
+ } else {
+ Elm_Object_Item *to_item = NULL;
+ to_item = elm_multibuttonentry_first_item_get(ugd->to_mbe);
+ if (to_item) {
+ elm_object_item_del(to_item);
+ ugd->me_added = false;
+ elm_object_text_set(ugd->add_me_btn, N_("Add me"));
+ }
+ }
+
+ if (ugd->selected_entry == ugd->to_mbe_entry) {
+ elm_object_focus_set(ugd->to_mbe, EINA_TRUE);
+ }
}
-#ifndef _CC_BCC
-void _composer_cbar_bcc_clicked(void *data, Evas_Object *obj, void *event_info)
+static void _composer_cbar_save_as_draft_cb(Evas_Object *o, const char *result, void *data)
{
debug_log("");
-
EmailComposerUGD *ugd = (EmailComposerUGD *)data;
- if (ugd->bcc_added) {
- if (ugd->b_cc_bcc) {
- debug_log("b_cc_bcc is ON");
- return;
+ if (NULL != ugd->latest_html_content) {
+ g_free(ugd->latest_html_content);
+ ugd->latest_html_content = NULL;
+ }
+
+ ugd->latest_html_content = g_strdup(result);
+ debug_log("ugd->latest_html_content => %s", ugd->latest_html_content);
+
+ if (EINA_FALSE == ewk_view_plain_text_get(ugd->body_ewkview, _composer_plain_text_get_cb, (void *)ugd)) {
+ debug_log("ewk_view_plain_text_get Failed");
+ }
+
+ if (EINA_FALSE == ewk_view_script_execute(ugd->body_ewkview, COMPOSER_JS_GET_IMAGE_LIST, _composer_get_image_list_cb, (void *)ugd)) {
+ debug_log("COMPOSER_JS_GET_IMAGE_LIST error.");
+ }
+
+ if (ugd->timeout_noti) {
+ debug_log("delete timeout_noti");
+ evas_object_del(ugd->timeout_noti);
+ ugd->timeout_noti = NULL;
+ }
+
+ if (ugd->composer_noti) {
+ debug_log("delete composer_noti");
+ evas_object_del(ugd->composer_noti);
+ ugd->composer_noti = NULL;
+ }
+
+ if (ugd->ps_list) {
+ debug_log("ps stop");
+ _composer_ps_stop(ugd);
+ ugd->sc_timer = ecore_timer_add(0.5, _composer_ps_scroll_pop, ugd);
+ }
+
+ if (ugd->selected_entry == ugd->body_ewkview) {
+ evas_object_focus_set(ugd->body_ewkview, EINA_FALSE);
+ } else {
+ Ecore_IMF_Context *imf_context = NULL;
+ imf_context = elm_entry_imf_context_get(ugd->selected_entry);
+ if (imf_context)
+ ecore_imf_context_input_panel_hide(imf_context);
+ }
+
+ if (_composer_check_mail_is_modified(ugd)) {
+ debug_log("mail is changed.");
+ ugd->save_drafts = 1;
+ } else {
+ debug_log("mail is NOT changed.");
+ ugd->save_drafts = 0;
+
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", _("IDS_EMAIL_OPT_COMPOSE_EMAIL"));
+ /*_show_select_info(ug_data, str);*/
+ int ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+ return;
+ }
+
+ debug_log("account_type: %d", ugd->account_info->account_type);
+
+ int ret = _composer_add_mailbox_folder(ugd, EMAIL_MAILBOX_TYPE_DRAFT);
+
+ if (ret < COMPOSER_ERROR_NONE) {
+ debug_log("Failed save in Drafts(%d)", ret);
+
+ if (ugd->popup_list) {
+ debug_log("popup count = %d", eina_list_count(ugd->popup_list));
+ debug_log("obj: %p", o);
+ debug_log("composer_noti: %p", ugd->composer_noti);
+
+ ugd->popup_list = eina_list_remove(ugd->popup_list, ugd->composer_noti/*obj*/);
}
- edje_object_signal_emit(_EDJ(ugd->c_layout), "hide.bcc", "*");
- email_composer_delete_bcc_field(ugd);
+ evas_object_del(ugd->composer_noti);
+ ugd->composer_noti = NULL;
- if (ugd->b_bcc_ps_open == true) {
- edje_object_signal_emit(_EDJ(ugd->c_layout), "show.to", "*");
+ ugd->idler_save_draft = ecore_idler_add(_composer_show_fail_to_save, ugd);
+ } else {
+ debug_log("Success save in Drafts");
+
+ debug_log("composer_type:%d", ugd->composer_type);
+ if (ugd->composer_type == RUN_COMPOSER_EDIT) {
+ //After a new draft mail is added, the old draft mail is deleted and synced to server
+ debug_log("Account id [%d] mailbox id [%d] mail id [%d]", ugd->account_info->account->account_id, ugd->mailbox_info->mailbox_id, ugd->nExistingMailID);
- if (ugd->cc_added) {
- edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
+ if (!email_engine_delete_mail(ugd->account_info->account->account_id, ugd->mailbox_info->mailbox_id, ugd->nExistingMailID, EMAIL_DELETE_LOCAL_AND_SERVER)) {
+ debug_log("Deleting email is failed.");
}
+ }
+
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", _("IDS_EMAIL_POP_SAVED_IN_DRAFTS"));
+ /*_show_select_info(ug_data, str);*/
+ int ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+ }
+}
- ugd->b_bcc_ps_open = false;
+void _composer_cbar_save_as_draft_clicked(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailComposerUGD *ugd = (EmailComposerUGD *)data;
+
+ if (EINA_FALSE == ewk_view_script_execute(ugd->body_ewkview, COMPOSER_JS_GET_HTML_CONTENT, _composer_cbar_save_as_draft_cb, (void *)ugd))
+ debug_log("COMPOSER_JS_GET_HTML_CONTENT failed.");
+}
+
+static void _composer_priority_radio_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailComposerUGD *ugd = (EmailComposerUGD *)data;
+ int i;
+
+ for (i = 0; i < 3; i++) {
+ if (obj == ugd->priority_rd[i]) {
+ elm_radio_value_set(ugd->priority_rdg, i);
}
+ }
+}
- ugd->b_cc_bcc = false;
+static char *_composer_priority_gl_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ int index = (int)data;
- if (!_composer_check_popup_exist(ugd)) {
- ugd->idler_set_focus = ecore_idler_add(_composer_mbe_set_focus, ugd);
+ debug_log("\n text index = %d", index);
+
+ if (!g_strcmp0(part, "elm.text")) {
+ if (index == 0)
+ return strdup(_("IDS_EMAIL_BODY_HIGH_M_PRIORITY"));
+ else if (index == 1)
+ return strdup(_("IDS_EMAIL_BODY_NORMAL_M_EMAILPRIORITY"));
+ else if (index == 2)
+ return strdup(_("IDS_EMAIL_BODY_LOW_M_EMAILPRIORITY"));
+ }
+ return NULL;
+}
+
+static Evas_Object *_composer_priority_gl_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ int index = (int)data;
+
+ debug_log("\n content index = %d", index);
+
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+ g_ugd->priority_rd[index] = elm_radio_add(obj);
+ elm_radio_state_value_set(g_ugd->priority_rd[index], index);
+
+ if (index == 0) {
+ g_ugd->priority_rdg = g_ugd->priority_rd[index];
+ } else {
+ elm_radio_group_add(g_ugd->priority_rd[index], g_ugd->priority_rdg);
+ }
+
+ if (g_ugd->priority_option == EMAIL_MAIL_PRIORITY_HIGH) {
+ elm_radio_value_set(g_ugd->priority_rdg, 0);
+ } else if ( g_ugd->priority_option == EMAIL_MAIL_PRIORITY_NORMAL) {
+ elm_radio_value_set(g_ugd->priority_rdg, 1);
+ } else if ( g_ugd->priority_option == EMAIL_MAIL_PRIORITY_LOW) {
+ elm_radio_value_set(g_ugd->priority_rdg, 2);
+ } else {
+ debug_log("\n g_ugd->priority_option4 = %d", g_ugd->priority_option);
}
+
+ evas_object_smart_callback_add(g_ugd->priority_rd[index], "changed", _composer_priority_radio_cb, g_ugd);
+
+ return g_ugd->priority_rd[index];
+ }
+
+ return NULL;
+}
+
+static Eina_Bool _composer_priority_gl_state_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ return EINA_FALSE;
+}
+
+static void _composer_priority_gl_del(void *data, Evas_Object *obj)
+{
+ debug_log("");
+ return;
+}
+
+static void _composer_priority_gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ int index = (int)data;
+
+ elm_radio_value_set(g_ugd->priority_rdg, index);
+
+ if (index == 0) {
+ g_ugd->priority_option = EMAIL_MAIL_PRIORITY_HIGH;
+ } else if (index == 1) {
+ g_ugd->priority_option = EMAIL_MAIL_PRIORITY_NORMAL;
+ } else if (index == 2) {
+ g_ugd->priority_option = EMAIL_MAIL_PRIORITY_LOW;
} else {
- if (ugd->b_cc_bcc) {
- debug_log("b_cc_bcc is ON");
- return;
+ debug_log("\n g_ugd->priority_option = %d", g_ugd->priority_option);
+ }
+ debug_log("\n _composer_priority_gl_sel : priority_option = %d", g_ugd->priority_option);
+}
+
+void _composer_cbar_priority_clicked(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailComposerUGD *ugd = (EmailComposerUGD *)data;
+ Elm_Object_Item *gen_item[2];
+ int index;
+
+ g_ugd = ugd;
+
+ Evas_Object *popup;
+
+ if (ugd->composer_noti) {
+ evas_object_del(ugd->composer_noti);
+ ugd->composer_noti = NULL;
+ }
+ popup = _composer_create_noti(ugd, false, _("IDS_EMAIL_BODY_PRIORITY"), NULL, 1,
+ dgettext("sys_string", "IDS_COM_POP_CLOSE"), NULL, 0.0, _composer_noti_response_cb);
+
+ ugd->composer_noti = popup;
+
+ if (ugd->clipboard_on) {
+ ugd->clipboard_on = false;
+ }
+
+ if (ugd->cc_added) {
+ if (ugd->b_cc_ps_open == true) {
+ edje_object_signal_emit(_EDJ(ugd->c_layout), "show.to", "*");
+ ugd->b_cc_ps_open = false;
}
+ }
- if (ugd->clipboard_on) {
- ugd->clipboard_on = false;
+ if (ugd->b_bcc_ps_open == true) {
+ edje_object_signal_emit(_EDJ(ugd->c_layout), "show.to", "*");
+
+ if (ugd->cc_added) {
+ edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
}
- edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
- email_composer_create_bcc_field(ugd);
+ ugd->b_bcc_ps_open = false;
+ }
- ugd->idler_set_focus = ecore_idler_add(_composer_bcc_mbe_set_focus, ugd);
+#ifdef _POPUP_WITH_LIST
+ elm_object_style_set(ugd->composer_noti, "min_menustyle");
+#else
+ elm_object_style_set(ugd->composer_noti, "menustyle");
+#endif
+ elm_object_focus_allow_set(ugd->composer_noti, EINA_FALSE);
+
+ priority_itc.item_style = "1text.1icon.2";
+ priority_itc.func.text_get = _composer_priority_gl_text_get;
+ priority_itc.func.content_get = _composer_priority_gl_content_get;
+ priority_itc.func.state_get = _composer_priority_gl_state_get;
+ priority_itc.func.del = _composer_priority_gl_del;
+
+ Evas_Object *priority_genlist;
+ priority_genlist = elm_genlist_add(ugd->composer_noti);
+
+ evas_object_size_hint_weight_set(priority_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(priority_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ for (index = 0; index < 3; index++) {
+ gen_item[index] = elm_genlist_item_append(priority_genlist, &priority_itc, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, _composer_priority_gl_sel, (void *)index);
}
- if (ugd->isRotated == true)
- elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
+// elm_genlist_effect_set(security_genlist, EINA_FALSE);
+ elm_genlist_tree_effect_enabled_set(priority_genlist, EINA_FALSE);
+
+#ifdef _POPUP_WITH_LIST
+ Evas_Object *box = elm_box_add(ugd->composer_noti);
+ evas_object_size_hint_min_set(box, 610 * elm_scale_get(), 114 * index * elm_scale_get());
+ evas_object_show(priority_genlist);
+ elm_box_pack_end(box, priority_genlist);
+ elm_object_content_set(ugd->composer_noti, box);
+#else
+ elm_object_content_set(ugd->composer_noti, priority_genlist);
+#endif
+
+}
+
+static char *_composer_tracking_gl_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ int index = (int)data;
+
+ debug_log("\n text index = %d", index);
+
+ if (!g_strcmp0(part, "elm.text")) {
+ if (index == 0)
+ return strdup(N_("Read report"));
+ else if (index == 1)
+ return strdup(N_("Delivery report"));
+ }
+ return NULL;
+}
+
+static Evas_Object *_composer_tracking_gl_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ int index = (int)data;
+
+ debug_log("\n content index = %d", index);
+
+ if (!strcmp(part, "elm.icon") || !strcmp(part, "elm.swallow.icon")) {
+ Evas_Object *check = elm_check_add(obj);
+
+ if (index == 0 && g_ugd->tracking_option[0] == 1) {
+ debug_log("Read report");
+ elm_check_state_set(check, EINA_TRUE);
+ } else if (index == 1 && g_ugd->tracking_option[1] == 1) {
+ debug_log("Delivery report");
+ elm_check_state_set(check, EINA_TRUE);
+ } else {
+ debug_log("NONE");
+ elm_check_state_set(check, EINA_FALSE);
+ }
+
+ evas_object_size_hint_weight_set(check, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(check, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ return check;
+ }
+
+ return NULL;
+}
+
+static Eina_Bool _composer_tracking_gl_state_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ return EINA_FALSE;
+}
+
+static void _composer_tracking_gl_del(void *data, Evas_Object *obj)
+{
+ debug_log("");
+ return;
+}
+
+static void _composer_tracking_gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ int index;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+
+ debug_log("\nsel index = %d", (int)data);
+
+ if (item != NULL) {
+ index = (int)elm_object_item_data_get(item);
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ debug_log("tracking_option[%d]:%d, !tracking_option[%d]:%d", index, g_ugd->tracking_option[index], index, !g_ugd->tracking_option[index]);
+ g_ugd->tracking_option[index] = !g_ugd->tracking_option[index];
+ elm_genlist_item_update(item);
+ }
}
+
+void _composer_cbar_tracking_clicked(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailComposerUGD *ugd = (EmailComposerUGD *)data;
+ Elm_Object_Item *gen_item[2];
+ int index;
+
+ g_ugd = ugd;
+
+ Evas_Object *popup;
+
+ if (ugd->composer_noti) {
+ evas_object_del(ugd->composer_noti);
+ ugd->composer_noti = NULL;
+ }
+ popup = _composer_create_noti(ugd, false, N_("Tracking"), NULL, 1,
+ dgettext("sys_string", "IDS_COM_POP_CLOSE"), NULL, 0.0, _composer_noti_response_cb);
+
+ ugd->composer_noti = popup;
+
+ if (ugd->clipboard_on) {
+ ugd->clipboard_on = false;
+ }
+
+ if (ugd->cc_added) {
+ if (ugd->b_cc_ps_open == true) {
+ edje_object_signal_emit(_EDJ(ugd->c_layout), "show.to", "*");
+ ugd->b_cc_ps_open = false;
+ }
+ }
+
+ if (ugd->b_bcc_ps_open == true) {
+ edje_object_signal_emit(_EDJ(ugd->c_layout), "show.to", "*");
+
+ if (ugd->cc_added) {
+ edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
+ }
+
+ ugd->b_bcc_ps_open = false;
+ }
+
+#ifdef _POPUP_WITH_LIST
+ elm_object_style_set(ugd->composer_noti, "min_menustyle");
+#else
+ elm_object_style_set(ugd->composer_noti, "menustyle");
#endif
+ elm_object_focus_allow_set(ugd->composer_noti, EINA_FALSE);
+
+ tracking_itc.item_style = "1text.1icon.2";
+ tracking_itc.func.text_get = _composer_tracking_gl_text_get;
+ tracking_itc.func.content_get = _composer_tracking_gl_content_get;
+ tracking_itc.func.state_get = _composer_tracking_gl_state_get;
+ tracking_itc.func.del = _composer_tracking_gl_del;
+
+ Evas_Object *tracking_genlist;
+ tracking_genlist = elm_genlist_add(ugd->composer_noti);
+
+ evas_object_size_hint_weight_set(tracking_genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(tracking_genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+ for (index = 0; index < 2; index++) {
+ gen_item[index] = elm_genlist_item_append(tracking_genlist, &tracking_itc, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, _composer_tracking_gl_sel, (void *)index);
+ }
+
+// elm_genlist_effect_set(security_genlist, EINA_FALSE);
+ elm_genlist_tree_effect_enabled_set(tracking_genlist, EINA_FALSE);
+
+#ifdef _POPUP_WITH_LIST
+ Evas_Object *box = elm_box_add(ugd->composer_noti);
+ evas_object_size_hint_min_set(box, 610 * elm_scale_get(), 114 * index * elm_scale_get());
+ evas_object_show(tracking_genlist);
+ elm_box_pack_end(box, tracking_genlist);
+ elm_object_content_set(ugd->composer_noti, box);
+#else
+ elm_object_content_set(ugd->composer_noti, tracking_genlist);
+#endif
+}
void _composer_cbar_send_clicked(void *data, Evas_Object *obj, void *event_info)
{
return EINA_FALSE;
}
-#ifndef _CC_BCC
-static Eina_Bool _composer_bcc_mbe_set_focus(void *data)
-{
- debug_log("");
-
- EmailComposerUGD *ugd = (EmailComposerUGD *)data;
-
- if (ugd->idler_set_focus) {
- ecore_idler_del(ugd->idler_set_focus);
- ugd->idler_set_focus = NULL;
- }
-
- elm_object_focus_set(ugd->bcc_mbe, EINA_TRUE);
-
- ugd->b_cc_bcc = false;
-
- return EINA_FALSE;
-}
-#endif
-
void _composer_script_executed_cb(Evas_Object *o, const char *result, void *data)
{
debug_log("");
//ewk_setting_auto_load_images_set(ewkSetting, EINA_TRUE);
ewk_setting_editable_link_behavior_set(ewkSetting, EWK_EDITABLE_LINK_BEHAVIOR_NEVER_LIVE);
- _composer_resize_body_webview(ugd, ugd->ime_height);
+ if (ugd->isRotated == true) {
+ _composer_resize_body_webview(ugd, 316);
+ } else {
+ _composer_resize_body_webview(ugd, ugd->ime_height);
+ }
if (ugd->selected_entry == ugd->body_ewkview) {
// focus to the body field when reply the email.
debug_log("");
EmailComposerUGD *ugd = (EmailComposerUGD *)data;
- _composer_resize_body_webview(ugd, ugd->ime_height);
+ if (ugd->isRotated == true) {
+ _composer_resize_body_webview(ugd, 316);
+ } else {
+ _composer_resize_body_webview(ugd, ugd->ime_height);
+ }
}
static void _composer_webkit_resized_cb(void *data, Evas_Object *obj, void *event_info)
Evas_Object *list;
list = elm_genlist_add(parent);
- /*elm_object_theme_set(list, ugd->th);*/
+ elm_object_theme_set(list, ugd->th);
evas_object_size_hint_align_set(list, EVAS_HINT_FILL, 0.0);
elm_genlist_homogeneous_set(list, EINA_TRUE);
elm_object_focus_allow_set(list, EINA_FALSE);
- ugd->ps_itc_2.item_style = "2text.8"; /*"email/predictive/2text.8";*/
+ ugd->ps_itc_2.item_style = "email.2text.1icon"; /*"email/predictive/2text.8";*/
ugd->ps_itc_2.func.text_get = composer_ps_text_get;
- ugd->ps_itc_2.func.content_get = NULL;
+ ugd->ps_itc_2.func.content_get = composer_ps_icon_get;
ugd->ps_itc_2.func.state_get = NULL;
ugd->ps_itc_2.func.del = NULL;
- ugd->ps_itc_1.item_style = "1text.2"; /*"email/predictive/1text.2";*/
+ ugd->ps_itc_1.item_style = "email.1text.1icon"; /*"email/predictive/1text.2";*/
ugd->ps_itc_1.func.text_get = composer_ps_text_get;
- ugd->ps_itc_1.func.content_get = NULL;
+ ugd->ps_itc_1.func.content_get = composer_ps_icon_get;
ugd->ps_itc_1.func.state_get = NULL;
ugd->ps_itc_1.func.del = NULL;
while (CTS_SUCCESS == contacts_svc_iter_next(iter)) {
CTSvalue *contact = NULL;
CTSvalue *email = NULL;
- const char *first, *last, *img_path, *email_addr;
+ const char *first, *last;
+ const char *img_path, *email_addr;
char *display = NULL;
contact = contacts_svc_iter_get_info(iter);
Evas_Object *composer_ps_icon_get(void *data, Evas_Object *obj, const char *part)
{
+ debug_log("");
+
EMAIL_CONTACT_LIST_INFO_S *contacts_list_item = (EMAIL_CONTACT_LIST_INFO_S *) data;
Evas_Object *ic = elm_icon_add(obj);
- if (g_strcmp0(part, "swl.img") == 0) {
+ if (!strncmp(part, "elm.icon", 8)) {
if (contacts_list_item->image_path) {
+ debug_log("contacts_list_item->image_path : %s", contacts_list_item->image_path);
elm_icon_file_set(ic, contacts_list_item->image_path, NULL);
} else {
- char buf[64] = { 0, };
+ char buf[MAX_PATH_LEN] = { 0, };
snprintf(buf, sizeof(buf), "%s/00_list_photo_default.png", COMPOSER_ICON_DIR);
+ debug_log("buf : %s", buf);
elm_icon_file_set(ic, buf, NULL);
}
- }
- elm_icon_resizable_set(ic, 1, 1);
- evas_object_image_smooth_scale_set(ic, 1);
- evas_object_show(ic);
+ evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(ic, 1, 1);
+ evas_object_image_smooth_scale_set(ic, 1);
+ evas_object_show(ic);
+
+ return ic;
+ }
- return ic;
+ return NULL;
}
void composer_ps_delete_contacts_list(Eina_List *predict_list)
{
debug_log("");
- email_account_t *account = NULL;
- if (!email_engine_get_account_full_data(ugd->account_info->account_id, &account))
- debug_log("Failed to Get account full data");
-
if (ugd->composer_type == RUN_COMPOSER_EDIT || ugd->composer_type == RUN_COMPOSER_REPLY || ugd->composer_type == RUN_COMPOSER_REPLY_ALL || ugd->composer_type == RUN_COMPOSER_FORWARD) {
- debug_log("acc id = %d, %d, %d", ugd->account_info->account_id, account->account_id, ugd->existing_mail_info->mail_data->account_id);
- debug_log("priority = %d, %d", (*account).options.priority, ugd->existing_mail_info->mail_data->priority);
+ debug_log("acc id = %d, %d", ugd->account_info->account_id, ugd->existing_mail_info->mail_data->account_id);
+ debug_log("priority = %d, %d", (*ugd->account_info->account).options.priority, ugd->existing_mail_info->mail_data->priority);
debug_log("mailbox = %s, %s", ugd->mailbox_info->mail_box->mailbox_name, ugd->existing_mail_info->mail_data->server_mailbox_name);
ugd->new_mail_info->mail_data->account_id = ugd->existing_mail_info->mail_data->account_id;
- ugd->new_mail_info->mail_data->priority = ugd->existing_mail_info->mail_data->priority;
+ //ugd->new_mail_info->mail_data->priority = ugd->existing_mail_info->mail_data->priority;
} else { //RUN_COMPOSER_NEW || RUN_COMPOSER_EXTERNAL
- debug_log("acc id = %d, %d", ugd->account_info->account_id, account->account_id);
- debug_log("priority = %d", (*account).options.priority);
+ debug_log("acc id = %d", ugd->account_info->account_id);
+ debug_log("priority = %d", (*ugd->account_info->account).options.priority);
debug_log("mailbox = %s", ugd->mailbox_info->mail_box->mailbox_name);
ugd->new_mail_info->mail_data->account_id = ugd->account_info->account_id;
- ugd->new_mail_info->mail_data->priority = (*account).options.priority;
+ //ugd->new_mail_info->mail_data->priority = (*account).options.priority;
}
+ ugd->new_mail_info->mail_data->report_status = EMAIL_MAIL_REPORT_NONE;
+/*
+ if (ugd->tracking_option[0] == 1) {
+ ugd->new_mail_info->mail_data->report_status |= EMAIL_MAIL_REQUEST_MDN;
+ }
+ if (ugd->tracking_option[1] == 1) {
+ ugd->new_mail_info->mail_data->report_status |= EMAIL_MAIL_REQUEST_DSN;
+ }
+ debug_log("ugd->new_mail_info->mail_data->report_status = %d", ugd->new_mail_info->mail_data->report_status);
+*/
+ ugd->new_mail_info->mail_data->priority = ugd->priority_option;
+
ugd->new_mail_info->mail_data->server_mailbox_name = strdup(ugd->mailbox_info->mail_box->mailbox_name);
ugd->new_mail_info->mail_data->mailbox_id = ugd->mailbox_info->mail_box->mailbox_id;
- debug_log("user_name = %s", account->user_display_name);
- debug_log("email_addr = %s", account->user_email_address);
+ debug_log("user_name = %s", ugd->account_info->account->user_display_name);
+ debug_log("email_addr = %s", ugd->account_info->account->user_email_address);
char uc[MAX_ACCOUNT_NAME_LEN + 20];
- snprintf(uc, sizeof(uc), "\"%s\"<%s>", account->user_display_name, account->user_email_address);
+ snprintf(uc, sizeof(uc), "\"%s\"<%s>", ugd->account_info->account->user_display_name, ugd->account_info->account->user_email_address);
ugd->new_mail_info->mail_data->full_address_from = g_strdup(uc);
debug_log("from = %s", uc);
- if (account) {
- debug_log("email_free_account is called");
- email_free_account(&account, 1);
- account = NULL;
- }
-
if (elm_object_item_text_get(elm_multibuttonentry_first_item_get(ugd->to_mbe)) != NULL) {
debug_log("to mbe");
if (_composer_make_recipient_char_to_list(ugd, ugd->to_mbe, &(ugd->new_mail_info->mail_data->full_address_to)) < COMPOSER_ERROR_NONE)
if (ugd->composer_type == RUN_COMPOSER_EDIT) {
//After a new draft mail is added, the old draft mail is deleted and synced to server
- debug_log("Account id [%d] mailbox id [%s] mail id [%d]", ugd->account_info->account->account_id, ugd->mailbox_info->mailbox_id, ugd->nExistingMailID);
+ debug_log("Account id [%d] mailbox id [%d] mail id [%d]", ugd->account_info->account->account_id, ugd->mailbox_info->mailbox_id, ugd->nExistingMailID);
if (!email_engine_delete_mail(ugd->account_info->account->account_id, ugd->mailbox_info->mailbox_id, ugd->nExistingMailID, EMAIL_DELETE_LOCAL_AND_SERVER)) {
debug_log("Deleting email is failed.");
_composer_add_subject(ugd);
_composer_add_body(ugd);
- if (ugd->composer_type != RUN_COMPOSER_EDIT)
- {
+ if (ugd->composer_type != RUN_COMPOSER_EDIT) {
_composer_add_origin_msg(ugd);
}
(ugd->composer_type == RUN_COMPOSER_EDIT || ugd->composer_type == RUN_COMPOSER_REPLY || ugd->composer_type == RUN_COMPOSER_REPLY_ALL || ugd->composer_type == RUN_COMPOSER_FORWARD)) {
_composer_add_softlink_to_inline_images(ugd);
- char *plain_charset = email_parse_get_filename_from_path(ugd->existing_mail_info->mail_data->file_path_plain);
+ char *plain_charset = NULL;
+ if (ugd->existing_mail_info->mail_data && ugd->existing_mail_info->mail_data->file_path_plain)
+ plain_charset = email_parse_get_filename_from_path(ugd->existing_mail_info->mail_data->file_path_plain);
debug_log("plain_charset : %s", plain_charset);
if (plain_charset) {
}
}
- if (EINA_TRUE == ugd->has_body_html)
- {
+ if (EINA_TRUE == ugd->has_body_html) {
debug_log("");
char file_path[100] = { 0, };
progressbar = elm_progressbar_add(popup);
- if (ugd->account_info->account_type == EMAIL_SERVER_TYPE_ACTIVE_SYNC) {
- elm_object_style_set(progressbar, "pending_list");
- elm_progressbar_pulse(progressbar, EINA_TRUE);
- } else {
- elm_object_style_set(progressbar, "list_progress");
- }
+ elm_object_style_set(progressbar, "list_progress");
evas_object_size_hint_align_set(progressbar, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(progressbar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
if (ugd->cc_mbe == NULL) {
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
-
ugd->b_cc_bcc = false;
}
debug_log("");
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
-
ugd->b_cc_bcc = false;
}
}
if (ugd->bcc_mbe == NULL) {
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
-
ugd->b_cc_bcc = false;
}
debug_log("");
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.bcc", "*");
email_composer_create_bcc_field(ugd);
-
-#ifdef _CC_BCC
edje_object_signal_emit(_EDJ(ugd->c_layout), "show.cc", "*");
email_composer_create_cc_field(ugd);
-
elm_object_text_set(ugd->cc_btn, N_("Remove Cc/Bcc"));
-#endif
-
ugd->b_cc_bcc = false;
}
}
if (ugd->existing_mail_info->mail_data && ugd->existing_mail_info->mail_data->body_download_status) {
if (ugd->composer_type == RUN_COMPOSER_EDIT) {
- if (ugd->has_body_html)
- {
+ if (ugd->has_body_html) {
debug_log("html composer_type: EDIT");
char *html_text_for_body = NULL;
debug_log("\nHTML-TEXT:\n%s", html_text_for_body);
free(temp_body_plain);
}
+
+ char szMetaViewportInfo[TEMP_BUFFER_SIZE + 1] = { 0x00, };
+ strncpy(szMetaViewportInfo, HTML_META_INFORMATION, TEMP_BUFFER_SIZE);
+ char *full_text = NULL;
+ full_text = g_strconcat(szMetaViewportInfo, html_text_for_body, NULL);
+ debug_log("html_text_for_body: %s", html_text_for_body);
+
if (html_text_for_body) {
- email_composer_save_file(ugd->saved_html_path, html_text_for_body, STR_LEN(html_text_for_body));
+ email_composer_save_file(ugd->saved_html_path, full_text, STR_LEN(full_text));
g_free(html_text_for_body);
} else {
html_text_for_body = (char *)email_get_buff_from_file(DATADIR"/_email_default.html", 0);
- email_composer_save_file(ugd->saved_html_path, html_text_for_body, STR_LEN(html_text_for_body));
+ email_composer_save_file(ugd->saved_html_path, full_text, STR_LEN(full_text));
g_free(html_text_for_body);
}
+
+ debug_log("full text:\n%s", full_text);
}
}
}
char *temp;
char *token;
- if (((ugd->composer_type == RUN_COMPOSER_REPLY || ugd->composer_type == RUN_COMPOSER_REPLY_ALL) && ugd->account_info->account->options.reply_with_body) || ugd->composer_type == RUN_COMPOSER_FORWARD)
- {
+ if (((ugd->composer_type == RUN_COMPOSER_REPLY || ugd->composer_type == RUN_COMPOSER_REPLY_ALL) && ugd->account_info->account->options.reply_with_body) || ugd->composer_type == RUN_COMPOSER_FORWARD) {
if (ugd->existing_mail_info->mail_data->full_address_to) {
temp = COMPOSER_STRDUP(ugd->existing_mail_info->mail_data->full_address_to);
token = strtok(temp, ";");
}
// elm_multibuttonentry_item_unselect_all(mbe);
+ elm_object_tree_focus_allow_set(ugd->c_layout, EINA_TRUE);
if (ugd->popup_list) {
debug_log("popup count = %d", eina_list_count(ugd->popup_list));
evas_object_geometry_get(ugd->webkit_ly, &x, &y, &w, &h);
debug_log(" === resize webkit_ly x:%d, y:%d, w:%d, h:%d", x, y, w, h);
- debug_log("nHeight:%d, COMPOSER_NAVI_HEIGHT:%d, indicator_height:%d", nHeight, COMPOSER_NAVI_HEIGHT, ugd->indicator_height);
-
- evas_object_size_hint_min_set(ugd->webkit_ly, 0, nHeight - COMPOSER_NAVI_HEIGHT - ugd->indicator_height - ime_height);
+ if (ugd->isRotated == false) {
+ debug_log("nHeight:%d, COMPOSER_NAVI_HEIGHT:%d, indicator_height:%d", nHeight, COMPOSER_NAVI_HEIGHT, ugd->indicator_height);
+ evas_object_size_hint_min_set(ugd->webkit_ly, 0, nHeight - COMPOSER_NAVI_HEIGHT - ugd->indicator_height - ime_height);
+ } else {
+ evas_object_size_hint_min_set(ugd->webkit_ly, 0, nWidth - COMPOSER_NAVI_HEIGHT - ime_height);
+ }
}
void _composer_input_panel_state_changed_cb(void *data, Ecore_IMF_Context *ctx, int value)
*ewkY = evasY + scrollY - viewY;
}
+void _composer_set_option_tray_menu(int num, EmailComposerUGD *ugd)
+{
+ debug_log("");
+
+ Evas_Object *btn = NULL;
+
+ switch (num) {
+ case EMAIL_COMPOSER_ADD_ME_BTN : // Add me btn
+ btn = elm_button_add(ugd->cbar);
+ elm_object_style_set(btn, "naviframe_control/default");
+ 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);
+ ugd->controlbar_item[EMAIL_COMPOSER_ADD_ME_BTN] = elm_toolbar_item_append(ugd->cbar, NULL, NULL, NULL, NULL);
+ elm_object_item_part_content_set(ugd->controlbar_item[EMAIL_COMPOSER_ADD_ME_BTN], "object", btn);
+ elm_object_text_set(btn, N_("Add me"));
+ ugd->add_me_btn = btn;
+ evas_object_smart_callback_add(ugd->add_me_btn, "clicked", _composer_cbar_add_me_clicked, ugd);
+ break;
+ case EMAIL_COMPOSER_ADD_CC_BCC_BTN : // Add Cc/Bcc btn
+ btn = elm_button_add(ugd->cbar);
+ elm_object_style_set(btn, "naviframe_control/default");
+ 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);
+ ugd->controlbar_item[EMAIL_COMPOSER_ADD_CC_BCC_BTN] = elm_toolbar_item_append(ugd->cbar, NULL, NULL, NULL, NULL);
+ elm_object_item_part_content_set(ugd->controlbar_item[EMAIL_COMPOSER_ADD_CC_BCC_BTN], "object", btn);
+ if (ugd->cc_added) {
+ elm_object_text_set(btn, N_("Remove Cc/Bcc"));
+ } else {
+ elm_object_text_set(btn, _("IDS_EMAIL_OPT_ADD_CC_BCC"));
+ }
+ ugd->cc_btn = btn;
+ evas_object_smart_callback_add(ugd->cc_btn, "clicked", _composer_cbar_cc_clicked, ugd);
+ break;
+ case EMAIL_COMPOSER_SAVE_AS_DRAFT_BTN : // Save as draft btn
+ {
+ Evas_Object *cbar = NULL;
+ cbar = ugd->cbar;
+ btn = elm_button_add(cbar);
+ elm_object_style_set(btn, "naviframe_control/default");
+ 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);
+ ugd->controlbar_item[EMAIL_COMPOSER_SAVE_AS_DRAFT_BTN] = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL);
+ elm_object_item_part_content_set(ugd->controlbar_item[EMAIL_COMPOSER_SAVE_AS_DRAFT_BTN], "object", btn);
+ elm_object_text_set(btn, N_("Save as draft"));
+ ugd->save_as_draft_btn = btn;
+ evas_object_smart_callback_add(ugd->save_as_draft_btn, "clicked", _composer_cbar_save_as_draft_clicked, ugd);
+ }
+ break;
+ case EMAIL_COMPOSER_PRIORITY_BTN : // Priority btn
+ btn = elm_button_add(ugd->cbar2);
+ elm_object_style_set(btn, "naviframe_control/default");
+ 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);
+ ugd->controlbar_item[EMAIL_COMPOSER_PRIORITY_BTN] = elm_toolbar_item_append(ugd->cbar2, NULL, NULL, NULL, NULL);
+ elm_object_item_part_content_set(ugd->controlbar_item[EMAIL_COMPOSER_PRIORITY_BTN], "object", btn);
+ elm_object_text_set(btn, _("IDS_EMAIL_BODY_PRIORITY"));
+ ugd->priority_btn = btn;
+ evas_object_smart_callback_add(ugd->priority_btn, "clicked", _composer_cbar_priority_clicked, ugd);
+ break;
+ case EMAIL_COMPOSER_TRACKING_BTN : // Tracking btn
+ btn = elm_button_add(ugd->cbar2);
+ elm_object_style_set(btn, "naviframe_control/default");
+ 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);
+ ugd->controlbar_item[EMAIL_COMPOSER_TRACKING_BTN] = elm_toolbar_item_append(ugd->cbar2, NULL, NULL, NULL, NULL);
+ elm_object_item_part_content_set(ugd->controlbar_item[EMAIL_COMPOSER_TRACKING_BTN], "object", btn);
+ elm_object_text_set(btn, N_("Tracking"));
+ ugd->tracking_btn = btn;
+ evas_object_smart_callback_add(ugd->tracking_btn, "clicked", _composer_cbar_tracking_clicked, ugd);
+ break;
+ case EMAIL_COMPOSER_DUMMY_BTN : // Dummy btn
+ ugd->dummy_btn = NULL;
+ break;
+ default : // never get here!
+ debug_log("default");
+ }
+
+ evas_object_show(btn);
+}
+
+void _composer_unset_option_tray_menu(int num, EmailComposerUGD *ugd)
+{
+ debug_log("");
+
+ elm_object_item_del(ugd->controlbar_item[num]);
+ ugd->controlbar_item[num] = NULL;
+
+ switch (num) {
+ case EMAIL_COMPOSER_ADD_ME_BTN : // Add me btn
+ evas_object_del(ugd->add_me_btn);
+ ugd->add_me_btn = NULL;
+ break;
+ case EMAIL_COMPOSER_ADD_CC_BCC_BTN : // Add Cc/Bcc btn
+ evas_object_del(ugd->cc_btn);
+ ugd->cc_btn = NULL;
+ break;
+ case EMAIL_COMPOSER_SAVE_AS_DRAFT_BTN : // Save as draft btn
+ {
+ evas_object_del(ugd->save_as_draft_btn);
+ ugd->save_as_draft_btn = NULL;
+ }
+ break;
+ case EMAIL_COMPOSER_PRIORITY_BTN : // Priority btn
+ evas_object_del(ugd->priority_btn);
+ ugd->priority_btn = NULL;
+ break;
+ case EMAIL_COMPOSER_TRACKING_BTN : // Tracking btn
+ evas_object_del(ugd->tracking_btn);
+ ugd->tracking_btn = NULL;
+ break;
+ case EMAIL_COMPOSER_DUMMY_BTN : // Dummy btn
+ evas_object_del(ugd->dummy_btn);
+ ugd->dummy_btn = NULL;
+ break;
+ default : // never get here!
+ debug_log("default");
+ }
+}
+
case UG_EVENT_ROTATE_PORTRAIT:
elm_layout_theme_set(ugd->main_layout, "layout", "application", "default");
// elm_win_indicator_mode_set(ugd->win_main, ELM_WIN_INDICATOR_SHOW);
+ if (ugd->option_header_opened) {
+ elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
+ ugd->option_header_opened = FALSE;
+ }
ugd->isRotated = false;
win_main_angle = 0;
+ _composer_resize_body_webview(ugd, ugd->ime_height);
break;
case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
elm_layout_theme_set(ugd->main_layout, "layout", "application", "default");
// elm_win_indicator_mode_set(ugd->win_main, ELM_WIN_INDICATOR_SHOW);
+ if (ugd->option_header_opened) {
+ elm_object_item_signal_emit(ugd->navi_item, "elm,state,optionheader,close", "");
+ ugd->option_header_opened = FALSE;
+ }
ugd->isRotated = false;
win_main_angle = 180;
+ _composer_resize_body_webview(ugd, ugd->ime_height);
break;
case UG_EVENT_ROTATE_LANDSCAPE:
elm_layout_theme_set(ugd->main_layout, "layout", "application", "noindicator");
}
ugd->isRotated = true;
win_main_angle = 270;
+ _composer_resize_body_webview(ugd, 316);
break;
case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
elm_layout_theme_set(ugd->main_layout, "layout", "application", "noindicator");
}
ugd->isRotated = true;
win_main_angle = 90;
+ _composer_resize_body_webview(ugd, 316);
break;
case UG_EVENT_REGION_CHANGE:
break;
break;
}
+ elm_layout_sizing_eval(ugd->c_layout);
+
// win_main_angle = elm_win_rotation_get(ugd->win_main);
// win_main_angle = app_get_device_orientation();
debug_log("win_main_angle: %d, event: %d", win_main_angle, event);
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"));
- ugd->navi_item = elm_naviframe_item_push(ugd->navi_bar, title_str, NULL, NULL, outer_layout, NULL);
+ ugd->navi_item = elm_naviframe_item_push(ugd->navi_bar, title_str, NULL, NULL, outer_layout, "2line");
// Right : cancel button
cancel_btn = elm_button_add(ugd->navi_bar);
evas_object_smart_callback_add(cancel_btn, "clicked", _composer_back_button_cb, ugd);
ugd->cancel_btn = cancel_btn;
debug_log("cancel_btn of composer: %p", ugd->cancel_btn);
- elm_object_disabled_set(ugd->cancel_btn, EINA_TRUE); // It prevents clicking the cancel button before initializing.
+ //elm_object_disabled_set(ugd->cancel_btn, EINA_TRUE); // It prevents clicking the cancel button before initializing.
// Middle : more button
more_btn = elm_button_add(ugd->navi_bar);
elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
elm_object_style_set(cbar, "naviframe");
evas_object_show(cbar);
+ ugd->cbar = cbar;
- elm_object_item_part_content_set(ugd->navi_item, "optionheader", cbar);
-
- ugd->option_header_opened = 0;
+ cbar = elm_toolbar_add(ugd->navi_bar);
+ if (cbar == NULL)
+ return;
-#ifndef _CC_BCC
- Evas_Object *cc_btn = elm_button_add(cbar);
- elm_object_style_set(cc_btn, "naviframe_control/default");
- evas_object_size_hint_weight_set(cc_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cc_btn, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(cc_btn, _("IDS_EMAIL_BODY_CC"));
- evas_object_show(cc_btn);
- ugd->cc_btn = cc_btn;
-
- Evas_Object *bcc_btn = elm_button_add(cbar);
- elm_object_style_set(bcc_btn, "naviframe_control/default");
- evas_object_size_hint_weight_set(bcc_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(bcc_btn, EVAS_HINT_FILL, 0.5);
- elm_object_text_set(bcc_btn, _("IDS_EMAIL_BODY_BCC"));
- evas_object_show(bcc_btn);
- ugd->bcc_btn = bcc_btn;
-
- ugd->controlbar_item[0] = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(ugd->controlbar_item[0], "object", cc_btn);
-
- ugd->controlbar_item[1] = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(ugd->controlbar_item[1], "object", bcc_btn);
-#else
- Evas_Object *cc_btn = elm_button_add(cbar);
- elm_object_style_set(cc_btn, "naviframe_control/default");
- evas_object_size_hint_weight_set(cc_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(cc_btn, EVAS_HINT_FILL, 0.5);
- if (ugd->cc_added)
- elm_object_text_set(cc_btn, N_("Remove Cc/Bcc"));
- else
- elm_object_text_set(cc_btn, _("IDS_EMAIL_OPT_ADD_CC_BCC"));
- evas_object_show(cc_btn);
- ugd->cc_btn = cc_btn;
+ elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_object_style_set(cbar, "naviframe");
+ evas_object_show(cbar);
+ ugd->cbar2 = cbar;
- ugd->controlbar_item[0] = elm_toolbar_item_append(cbar, NULL, NULL, NULL, NULL);
- elm_object_item_part_content_set(ugd->controlbar_item[0], "object", cc_btn);
-#endif
+ int i = 0;
+ for (i = EMAIL_COMPOSER_ADD_ME_BTN; i < EMAIL_COMPOSER_BTN_MAX; i++) {
+ _composer_set_option_tray_menu(i, ugd);
+ }
+ ugd->option_header_opened = 0;
- evas_object_smart_callback_add(cc_btn, "clicked", _composer_cbar_cc_clicked, ugd);
-#ifndef _CC_BCC
- evas_object_smart_callback_add(bcc_btn, "clicked", _composer_cbar_bcc_clicked, ugd);
-#endif
+ 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", "");
_composer_register_scroller_callback(ugd);
ugd->ps_on = false;
ugd->cc_added = false;
ugd->bcc_added = false;
+ ugd->me_added = false;
ugd->isRotated = false;
ugd->is_recipient_duplicated = false;
ugd->b_load_finished = EINA_FALSE;
- /*Elm_Theme *th = elm_theme_new();
+ Elm_Theme *th = elm_theme_new();
elm_theme_ref_set(th, NULL);
ugd->th = th;
- elm_theme_extension_add(ugd->th, COMPOSER_EDJ_NAME);*/
+ elm_theme_extension_add(ugd->th, COMPOSER_EDJ_NAME);
if (ethumb_init() != EINA_TRUE) {
debug_log("Fail to ethumb_init()");
memset(ugd->account_info, 0x00, sizeof(EmailComposerMail));
ugd->ime_height = 444;
+ ugd->priority_option = EMAIL_MAIL_PRIORITY_NORMAL;
}
static int _composer_init_service(void *data)
ugd->bg = NULL;
}
- /*if (ugd->th) {
+ if (ugd->th) {
elm_theme_extension_del(ugd->th, COMPOSER_EDJ_NAME);
elm_theme_free(ugd->th);
ugd->th = NULL;
- }*/
+ }
if (ugd->idler_save_draft) {
debug_log("delete idler_save_draft");
debug_log("receive noti, DOWNLOAD_ATTACHMENT");
char buf[128] = { 0, };
- if (ugd->account_info->account_type == EMAIL_SERVER_TYPE_ACTIVE_SYNC) {
- char buf[128] = { 0, };
-
- snprintf(buf, sizeof(buf), "%s [%d/%d]", _("IDS_EMAIL_POP_DOWNLOADING_ATTACHMENT_ING"), ugd->fw_dn_idx + 1, ugd->fw_dn_total_cnt);
- elm_object_text_set(ugd->fw_dn_label, buf);
- } else {
- debug_log("Download : %d / %d", data4 + (ugd->fw_dn_idx * 100), (ugd->fw_dn_total_cnt * 100));
- snprintf(buf, sizeof(buf), "%s [%d/%d]", _("IDS_EMAIL_POP_DOWNLOADING_ATTACHMENT_ING"), ugd->fw_dn_idx + 1, ugd->fw_dn_total_cnt);
- elm_object_text_set(ugd->fw_dn_label, buf);
- elm_progressbar_value_set(ugd->fw_dn_progress, (double)(data4 + (ugd->fw_dn_idx * 100)) / (ugd->fw_dn_total_cnt * 100));
- evas_render(evas_object_evas_get(ugd->main_layout));
- }
+ debug_log("Download : %d / %d", data4 + (ugd->fw_dn_idx * 100), (ugd->fw_dn_total_cnt * 100));
+ snprintf(buf, sizeof(buf), "%s [%d/%d]", _("IDS_EMAIL_POP_DOWNLOADING_ATTACHMENT_ING"), ugd->fw_dn_idx + 1, ugd->fw_dn_total_cnt);
+ elm_object_text_set(ugd->fw_dn_label, buf);
+ elm_progressbar_value_set(ugd->fw_dn_progress, (double)(data4 + (ugd->fw_dn_idx * 100)) / (ugd->fw_dn_total_cnt * 100));
+ evas_render(evas_object_evas_get(ugd->main_layout));
break;
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* For Genlist */
+#define GENLIST_HEIGHT_1LINE 114
+#define GENLIST_HEIGHT_16_INC 16
+#define GENLIST_HEIGHT_60_INC 60
+#define GENLIST_HEIGHT_129_INC 129
+
+#define GENLIST_FONT_32_INC 32
+#define GENLIST_FONT_44_INC 44
+
+#define GENLIST_SIZE_10_INC 10
+#define GENLIST_SIZE_16_INC 16
+#define GENLIST_SIZE_21_INC 21
+#define GENLIST_SIZE_60_INC 60
+#define GENLIST_SIZE_61_INC 61
+
+#define GENLIST_PADDING_10_INC 10
+#define GENLIST_PADDING_16_INC 16
+#define GENLIST_PADDING_26_INC 26
+
+#define GENLIST_ICON_SMALL_SIZE 60
+#define GENLIST_ICON_BIG_SIZE 64
+#define GENLIST_LIST_MAIN_TEXT_SIZE GENLIST_FONT_44_INC
+#define GENLIST_LIST_SUB_TEXT_SIZE 32
+#define GENLIST_PADDING_SIZE_LEFT GENLIST_PADDING_16_INC
+#define GENLIST_PADDING_SIZE_RIGHT GENLIST_PADDING_16_INC
+
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR 0 0 0 255
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE "#000000FF"
+#define GENLIST_LIST_MAIN_TEXT_FOCUS_COLOR 249 249 249 255
+#define GENLIST_LIST_MAIN_TEXT_FOCUS_COLOR_STYLE "#F9F9F9FF"
+
+#define GENLIST_PART_MATCH_TAG_COLOR_INC "+ color=#3F8DAD"
+#define GENLIST_PART_DISCLIP_COLOR_INC 255 255 255 110 // alpha was 64
+#define GENLIST_PART_BG_COLOR_INC 0 0 0 255
+#define GENLIST_PART_LIST_BG_COLOR 239 239 239 255
+#define GENLIST_PART_LIST_LINE_COLOR_INC 68 68 68 255
+#define GENLIST_PART_LIST_PRESS_COLOR_INC 0 140 210 255
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR 100 100 100 255
+#define GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE "#646464FF"
+#define GENLIST_LIST_SUB_TEXT_FOCUS_COLOR 249 249 249 255
+#define GENLIST_LIST_SUB_TEXT_FOCUS_COLOR_STYLE "#F9F9F9FF"
+
+
+#define TEXTBLOCK_TAG \
+ tag: "br" "\n";\
+ tag: "ps" "ps";\
+ tag: "tab" "\t";\
+ tag: "b" "+ font=SLP:style=Bold";\
+ tag: "match" GENLIST_PART_MATCH_TAG_COLOR_INC;
+
+#define GENLIST_PART_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: GENLIST_PART_BG_COLOR_INC; \
+ } \
+ }
+
+#define GENLIST_PART_BG_IMAGE \
+ part { name: "bg_image"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ color: GENLIST_PART_LIST_BG_COLOR; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ color: GENLIST_PART_LIST_PRESS_COLOR_INC; \
+ } \
+ }
+
+#define GENLIST_PART_BOTTOM_LINE \
+ part { name: "bottom_line"; \
+ type: RECT; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ min: 0 1; \
+ fixed: 0 1; \
+ visible: 1; \
+ color: GENLIST_PART_LIST_LINE_COLOR_INC; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ offset: 0 -1; \
+ } \
+ } \
+ }
+
+#define GENLIST_PART_PADDING_TOP( param_padding_size ) \
+ part { name: "elm.padding.top"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define GENLIST_PART_PADDING_BOTTOM( param_padding_size ) \
+ part { name: "elm.padding.bottom"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.0 1.0; \
+ } \
+ }
+
+#define GENLIST_PART_PADDING_LEFT( param_padding_size ) \
+ part { name: "elm.padding.left"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
+ part { name: "elm.padding.right"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.0; \
+ } \
+ }
+
+#define GENLIST_PART_DISCLIP \
+ part { name: "disclip"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color: GENLIST_PART_DISCLIP_COLOR_INC; \
+ } \
+ }
+
+#define GENLIST_PART_FLIP \
+ part { name: "elm.flip.content"; \
+ clip_to: "disclip"; \
+ type: SWALLOW; \
+ mouse_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ fixed: 1 1; \
+ rel1 { \
+ relative: 1.0 0.5; \
+ to_x: "elm.padding.left"; \
+ } \
+ rel2 { \
+ relative: 0.0 0.5; \
+ to_x: "elm.padding.right"; \
+ } \
+ } \
+ description { state: "flip_enabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ }
+
+#define GENLIST_DESCRIPTION_FLIP_ENABLED \
+ description { state: "flip_enabled" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ }
+
+#define GENLIST_PROGRAM_FLIP_1TEXT_1ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ }
+
+#define GENLIST_PROGRAM_FLIP_2TEXT_1ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon"; \
+ target: "elm.flip.content"; \
+ }
+
+#define GENLIST_PROGRAM_FLIP_2TEXT_2ICON \
+ program { name: "flip_enabled"; \
+ signal: "elm,state,flip,enabled"; \
+ source: "elm"; \
+ action: STATE_SET "flip_enabled" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ } \
+ program { name: "flip_disabled"; \
+ signal: "elm,state,flip,disabled"; \
+ source: "elm"; \
+ action: STATE_SET "default" 0.0; \
+ target: "elm.text.1"; \
+ target: "elm.text.2"; \
+ target: "elm.icon.1"; \
+ target: "elm.icon.2"; \
+ target: "elm.flip.content"; \
+ }
+
+/* for From popup Genlist */
+group { name: "elm/genlist/item/email.2text.3icon.3/default";
+ alias: "elm/genlist/item_odd/email.2text.3icon.3/default";
+ alias: "elm/genlist/item_compress/email.2text.3icon.3/default";
+ alias: "elm/genlist/item_compress_odd/email.2text.3icon.3/default";
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+ data.item: "texts" "elm.text.1 elm.text.2";
+ data.item: "contents" "elm.icon.1 elm.icon.2 elm.swallow.colorbar";
+ data.item: "flips" "elm.flip.content";
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ }
+ parts {
+ GENLIST_PART_BASE( GENLIST_HEIGHT_1LINE )
+ GENLIST_PART_BG_IMAGE
+ GENLIST_PART_BOTTOM_LINE
+ GENLIST_PART_PADDING_TOP( GENLIST_PADDING_10_INC )
+ GENLIST_PART_PADDING_BOTTOM( GENLIST_PADDING_10_INC )
+ GENLIST_PART_PADDING_LEFT( GENLIST_PADDING_SIZE_LEFT )
+ GENLIST_PART_PADDING_RIGHT( GENLIST_PADDING_SIZE_RIGHT )
+ part { name: "elm.swallow.colorbar";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_SIZE_10_INC GENLIST_SIZE_21_INC;
+ fixed: 1 1;
+ rel2.relative: 0.0 0.0;
+ align: 0.0 0.0;
+ }
+ }
+ part { name: "elm.icon.1";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_SIZE_60_INC GENLIST_SIZE_60_INC;
+ max: GENLIST_SIZE_60_INC GENLIST_SIZE_60_INC;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.bottom";
+ }
+ align: 0.0 0.5;
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ part { name: "elm.padding.icon1.right";
+ clip_to: "disclip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_PADDING_10_INC 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "elm.icon.1";
+ }
+ rel2.to_x: "elm.icon.1";
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.icon.2";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_ICON_BIG_SIZE GENLIST_ICON_BIG_SIZE;
+ max: GENLIST_ICON_BIG_SIZE GENLIST_ICON_BIG_SIZE;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.icon1.right";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ to_x: "elm.padding.icon1.right";
+ to_y: "elm.padding.bottom";
+ }
+ align: 0.0 0.5;
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ part { name: "elm.padding.icon2.right";
+ clip_to: "disclip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_PADDING_16_INC 0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "elm.icon.2";
+ }
+ rel2.to_x: "elm.icon.2";
+ align: 0.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text.1";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 GENLIST_SIZE_61_INC;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.icon2.right";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.top";
+ }
+ align: 0.0 0.0;
+ color: GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR;
+ text {
+ font: "SLP:style=Roman";
+ size: GENLIST_LIST_MAIN_TEXT_SIZE;
+ min: 0 1;
+ align: 0.0 0.5;
+ text_class: "list_item";
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_LIST_MAIN_TEXT_FOCUS_COLOR;
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ part { name: "elm.text.2";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.icon2.right";
+ to_y: "elm.text.1";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom";
+ }
+ color: GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR;
+ text {
+ font: "SLP:style=Medium";
+ size: GENLIST_FONT_32_INC;
+ min: 0 1;
+ align: 0.0 0.5;
+ text_class: "slp_medium";
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_LIST_SUB_TEXT_FOCUS_COLOR;
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ GENLIST_PART_FLIP
+ GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text.1";
+ target: "elm.text.2";
+ //GENLIST_PROGRAM_AFTER_PLAY_BUTTON_PRESS
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text.1";
+ target: "elm.text.2";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ GENLIST_PROGRAM_FLIP_2TEXT_2ICON
+ //GENLIST_PROGRAM_PLAY_BUTTON_PRESS
+ }
+}
+
+/* For Gal photo Genlist */
+group { name: "elm/genlist/item/email.2text.1icon/default";
+ alias: "elm/genlist/item_odd/email.2text.1icon/default";
+ alias: "elm/genlist/item_compress/email.2text.1icon/default";
+ alias: "elm/genlist/item_compress_odd/email.2text.1icon/default";
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+ data.item: "texts" "elm.text.1 elm.text.2";
+ data.item: "contents" "elm.icon";
+ data.item: "flips" "elm.flip.content";
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ }
+ styles {
+ style {
+ name: "genlist_style_list_main_text_unread";
+ base: "font=SLP:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE" text_class=list_item ellipsis=1.0";
+ TEXTBLOCK_TAG
+ }
+
+ style { name: "genlist_style_list_main_text_focus";
+ base: "font=SLP:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_FOCUS_COLOR_STYLE" text_class=list_item ellipsis=1.0";
+ TEXTBLOCK_TAG
+ }
+
+ style { name: "genlist_style_list_sub_text_default";
+ base: "font=SLP:style=Medium font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_DEFAULT_COLOR_STYLE" ellipsis=1.0";
+ TEXTBLOCK_TAG
+ }
+ style { name: "genlist_style_list_sub_text_focus";
+ base: "font=SLP:style=Medium font_size="GENLIST_LIST_SUB_TEXT_SIZE" color="GENLIST_LIST_SUB_TEXT_FOCUS_COLOR_STYLE" ellipsis=1.0";
+ TEXTBLOCK_TAG
+ }
+ }
+ parts {
+ GENLIST_PART_BASE( GENLIST_HEIGHT_129_INC )
+ GENLIST_PART_BG_IMAGE
+ GENLIST_PART_BOTTOM_LINE
+ GENLIST_PART_PADDING_TOP( GENLIST_PADDING_10_INC )
+ GENLIST_PART_PADDING_BOTTOM( GENLIST_PADDING_10_INC )
+ GENLIST_PART_PADDING_LEFT( GENLIST_PADDING_SIZE_LEFT )
+ GENLIST_PART_PADDING_RIGHT( GENLIST_PADDING_SIZE_RIGHT )
+ part { name: "elm.icon";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom";
+ }
+ align: 1.0 0.5;
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ part { name: "elm.padding.icon.left";
+ clip_to: "disclip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_PADDING_16_INC 0;
+ fixed: 1 0;
+ rel1.to_x: "elm.icon";
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.icon";
+ }
+ align: 1.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text.1";
+ clip_to: "disclip";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 GENLIST_SIZE_61_INC;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.icon.left";
+ to_y: "elm.padding.top";
+ }
+ align: 0.0 0.0;
+ text {
+ style: "genlist_style_list_main_text_unread";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ text.style: "genlist_style_list_main_text_focus";
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ part { name: "elm.text.2";
+ clip_to: "disclip";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.text.1";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "elm.padding.icon.left";
+ to_y: "elm.padding.bottom";
+ }
+ align: 0.0 0.0;
+ text {
+ style: "genlist_style_list_sub_text_default";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ text.style: "genlist_style_list_sub_text_focus";
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ GENLIST_PART_FLIP
+ GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text.1";
+ target: "elm.text.2";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text.1";
+ target: "elm.text.2";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ GENLIST_PROGRAM_FLIP_2TEXT_1ICON
+ }
+}
+
+group { name: "elm/genlist/item/email.1text.1icon/default";
+ alias: "elm/genlist/item_odd/email.1text.1icon/default";
+ alias: "elm/genlist/item_compress/email.1text.1icon/default";
+ alias: "elm/genlist/item_compress_odd/email.1text.1icon/default";
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+ data.item: "texts" "elm.text";
+ data.item: "contents" "elm.icon";
+ data.item: "flips" "elm.flip.content";
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ }
+ parts {
+ GENLIST_PART_BASE( GENLIST_HEIGHT_129_INC )
+ GENLIST_PART_BG_IMAGE
+ GENLIST_PART_BOTTOM_LINE
+ GENLIST_PART_PADDING_TOP( GENLIST_PADDING_10_INC )
+ GENLIST_PART_PADDING_BOTTOM( GENLIST_PADDING_10_INC )
+ GENLIST_PART_PADDING_LEFT( GENLIST_PADDING_SIZE_LEFT )
+ GENLIST_PART_PADDING_RIGHT( GENLIST_PADDING_SIZE_RIGHT )
+ part { name: "elm.icon";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ fixed: 1 1;
+ rel1 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom";
+ }
+ align: 1.0 0.5;
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ part { name: "elm.padding.icon.left";
+ clip_to: "disclip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: GENLIST_PADDING_16_INC 0;
+ fixed: 1 0;
+ rel1.to_x: "elm.icon";
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.icon";
+ }
+ align: 1.0 0.0;
+ visible: 0;
+ }
+ }
+ part { name: "elm.text";
+ clip_to: "disclip";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 GENLIST_SIZE_61_INC;
+ fixed: 1 1;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "elm.padding.icon.left";
+ to_y: "elm.padding.bottom";
+ }
+ align: 0.0 0.0;
+ text {
+ style: "genlist_style_list_main_text_unread";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ text.style: "genlist_style_list_main_text_focus";
+ }
+ GENLIST_DESCRIPTION_FLIP_ENABLED
+ }
+ GENLIST_PART_FLIP
+ GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ GENLIST_PROGRAM_FLIP_1TEXT_1ICON
+ }
+}
+
}
#include "email-composer-layouts.edc"
+ #include "email-composer-genlist.edc"
}
<ui-application appid="email-composer-efl" exec="/opt/ug/bin/email-composer-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
<label>Email composer</label>
<application-service>
- <operation name="http://tizen.org/appcontrol/operation/send"/>
<mime name="*/*"/>
</application-service>
<application-service>
- <operation name="http://tizen.org/appcontrol/operation/send_text"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/send"/>
<uri name="mailto"/>
</application-service>
</ui-application>
INCLUDE(FindPkgConfig)
pkg_check_modules(pkgs-mailbox REQUIRED appcore-efl ui-gadget-1
- elementary email-service glib-2.0 edbus bundle dlog capi-system-sensor
- syspopup-caller capi-appfw-application status)
+ elementary email-service glib-2.0 edbus bundle dlog
+ capi-appfw-application status)
FOREACH(flag ${pkgs-mailbox_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
ADD_DEFINITIONS("-DDEBUG")
-#ADD_DEFINITIONS("-D__NEW_UX__")
ADD_DEFINITIONS("-D_POPUP_WITH_LIST")
-#ADD_DEFINITIONS("-D__TIZEN_BETA__")
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} email-common ${pkgs-mailbox_LDFLAGS})
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${UGDIR})
INSTALL(FILES ${CMAKE_MAILBOX_BINARY_DIR}/email-mailbox-theme.edj DESTINATION ${EDJDIR})
-#INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/images DESTINATION ${RESDIR} FILES_MATCHING PATTERN "*.png")
-
-# i18n
-#ADD_SUBDIRECTORY(po)
void mailbox_make_attachment_mail_list(void *data);
void mailbox_make_important_mail_list(void *data);
void mailbox_make_priority_mail_list(void *data);
-void mailbox_make_meeting_request_mail_list(void *data);
void _make_account_mail_list(void *data);
gint _compare_sort_rule_by_viewtype(gconstpointer a, gconstpointer b);
void _update_item_in_view_cb(void *data, Ecore_Thread *thd, void* msg_data);
#include <unicode/udatpg.h>
#include <unicode/ustring.h>
-#include <sensors.h>
-
#define MAILBOX_PACKAGE "email-mailbox"
#define EDJ_PATH EDJDIR
gint reply_flag;
gint forward_flag;
gint followup_flag;
- gint meeting_request;
time_t absolute_time;
Elm_Object_Item *item;
} list_data;
VIEWBY_IMPORTANT,
VIEWBY_ATTACHMENT,
VIEWBY_PRIORITY,
- VIEWBY_MEETING_REQUEST,
VIEWBY_MAX,
} EmailMailboxViewby;
EMAIL_GROUP_READ,
EMAIL_GROUP_FAVORITES,
EMAIL_GROUP_ATTACHMENTS,
- EMAIL_GROUP_MEETING_REQUEST,
EMAIL_GROUP_OTHER,
EMAIL_GROUP_PRIORITY_HIGH,
EMAIL_GROUP_PRIORITY_NORMAL,
EMAIL_VIEW_RECIPIENT, /* should display recipient list */
EMAIL_VIEW_UNREAD, /* should display only unread mail */
EMAIL_VIEW_IMPORTANT, /* Disply only important mail */
- EMAIL_VIEW_THREAD, /* Disply only thread mail */
EMAIL_VIEW_EDIT, /* Delete / Block / MoveTo */
EMAIL_VIEW_SEARCH,
EMAIL_VIEW_PRIORITY,
- EMAIL_VIEW_MEETING_REQUEST,
EMAIL_VIEW_ATTACHMENTS,
EMAIL_VIEW_MAX,
} EmailMailboxViewType;
Evas_Object *prev_controlbar;
Evas_Object *no_content;
Evas_Object *no_content_sender;
- Evas_Object *no_content_thread;
Elm_Theme *theme;
Elm_Object_Item *navibar_item[EMAIL_VIEW_MAX];
Evas_Object *navi_title_ly;
//Elm_Object_Item *edit_cancel_button;
Evas_Object *folder_button;
Evas_Object *update_button;
- Evas_Object *thread_update_button;
Evas_Object *sync_progress;
Elm_Object_Item *delete_all_button;
Evas_Object *ctxpopup;
Evas_Object *motion_popup;
GList *important_list;
- sensor_h shake_handle;
- sensor_h double_handle;
Elm_Object_Item *date_tab;
Evas_Object *selectioninfo_layout;
Evas_Object *sub_layout[EMAIL_VIEW_MAX];
mailbox_ugd->view_type = mailbox_ugd->previous_view;
- if (mailbox_ugd->view_type == EMAIL_VIEW_THREAD)
- mailbox_ugd->previous_view = EMAIL_VIEW_DATE;
-
edit_list = eina_list_free(edit_list);
//evas_object_smart_callback_add(mailbox_ugd->searchbar_en, "focused", _searchbar_entry_focus_cb, mailbox_ugd);
mailbox_ugd->view_type = mailbox_ugd->previous_view;
- if (mailbox_ugd->view_type == EMAIL_VIEW_THREAD)
- mailbox_ugd->previous_view = EMAIL_VIEW_DATE;
-
edit_list = eina_list_free(edit_list);
//evas_object_smart_callback_add(mailbox_ugd->searchbar_en, "focused", _searchbar_entry_focus_cb, mailbox_ugd);
req->mailbox_ugd->sort_type = EMAIL_SORT_PRIORITY;
mailbox_make_priority_mail_list(req->mailbox_ugd);
break;
- case VIEWBY_MEETING_REQUEST:
- req->mailbox_ugd->sort_type = EMAIL_SORT_MEETING_REQUEST;
- mailbox_make_meeting_request_mail_list(req->mailbox_ugd);
- break;
}
evas_object_del(req->mailbox_ugd->viewby_popup);
static char *_gl_viewby_popup_text_get(void *data, Evas_Object *obj, const char *part)
{
viewby_req_t *req = (viewby_req_t *)data;
- int type = GET_ACCOUNT_SERVER_TYPE(req->mailbox_ugd->account_id);
char* ret = NULL;
if (!g_strcmp0(part, "elm.text"))
ret = g_strdup(_("IDS_EMAIL_OPT_READ_UNREAD"));
break;
case VIEWBY_IMPORTANT:
- if(type == EMAIL_SERVER_TYPE_ACTIVE_SYNC)
- ret = g_strdup(_("IDS_EMAIL_OPT_FLAG"));
- else
- ret = g_strdup(_("IDS_EMAIL_OPT_FAVOURITES"));
+ ret = g_strdup(_("IDS_EMAIL_OPT_FAVOURITES"));
break;
case VIEWBY_PRIORITY:
ret = g_strdup(dgettext("sys_string", "IDS_COM_POP_PRIORITY"));
break;
- case VIEWBY_MEETING_REQUEST:
- ret = g_strdup(_("IDS_EMAIL_OPT_MEETING_REQUEST"));
- break;
case VIEWBY_ATTACHMENT:
ret = g_strdup(_("IDS_EMAIL_OPT_ATTACHMENTS"));
break;
case VIEWBY_PRIORITY:
mailbox_make_priority_mail_list(mailbox_ugd);
break;
- case VIEWBY_MEETING_REQUEST:
- mailbox_make_meeting_request_mail_list(mailbox_ugd);
- break;
-
}
*/
evas_object_del(mailbox_ugd->viewby_popup);
EmailMailboxViewby index = 0;
for (; index < VIEWBY_MAX; index++) {
viewby_req[index] = (viewby_req_t){index, NULL, mailbox_ugd};
- int type = GET_ACCOUNT_SERVER_TYPE(mailbox_ugd->account_id);
switch(index)
{
ELM_GENLIST_ITEM_NONE, _gl_viewby_popup_sel, NULL);
break;
case VIEWBY_IMPORTANT:
- if(mailbox_ugd->account_id != 0)
- item = elm_genlist_item_append(genlist, &itc_popup, &viewby_req[index], NULL,
- ELM_GENLIST_ITEM_NONE, _gl_viewby_popup_sel, NULL);
- break;
- case VIEWBY_PRIORITY:
- case VIEWBY_MEETING_REQUEST:
- if(type == EMAIL_SERVER_TYPE_ACTIVE_SYNC)
- item = elm_genlist_item_append(genlist, &itc_popup, &viewby_req[index], NULL,
- ELM_GENLIST_ITEM_NONE, _gl_viewby_popup_sel, NULL);
+ item = elm_genlist_item_append(genlist, &itc_popup, &viewby_req[index], NULL,
+ ELM_GENLIST_ITEM_NONE, _gl_viewby_popup_sel, NULL);
break;
case VIEWBY_UNKNOWN:
case VIEWBY_MAX:
case EMAIL_VIEW_UNREAD:
case EMAIL_VIEW_IMPORTANT:
case EMAIL_VIEW_RECIPIENT:
- case EMAIL_VIEW_THREAD:
case EMAIL_VIEW_ATTACHMENTS:
- case EMAIL_VIEW_MEETING_REQUEST:
case EMAIL_VIEW_PRIORITY:
mailbox_ugd->controlbar_btns = create_control_option(mailbox_ugd);
break;
elm_toolbar_item_append(control_bar, ICON_COMPOSE, _("IDS_EMAIL_SK_COMPOSE"),
_compose_toolbar_clicked_cb, mailbox_ugd);
- if (mailbox_ugd->view_type != EMAIL_VIEW_THREAD) {
- elm_toolbar_item_append(control_bar, ICON_SORTBY, _("IDS_EMAIL_SK_SORT_BY"),
- _viewby_cb, mailbox_ugd);
- }
+ elm_toolbar_item_append(control_bar, ICON_SORTBY, _("IDS_EMAIL_SK_SORT_BY"),
+ _viewby_cb, mailbox_ugd);
+
+ elm_toolbar_item_append(control_bar, ICON_DELETE_ALL, _("IDS_EMAIL_SK_DELETE_ALL"),
+ _delete_all_emails_cb, mailbox_ugd);
- int type = GET_ACCOUNT_SERVER_TYPE(mailbox_ugd->account_id);
- if (type == EMAIL_SERVER_TYPE_ACTIVE_SYNC && mailbox_ugd->mailbox_type == EMAIL_MAILBOX_TYPE_INBOX) {
- elm_toolbar_item_append(control_bar, ICON_MORE, dgettext("sys_string", "IDS_COM_SK_MORE"),
- _more_toolbar_clicked_cb, mailbox_ugd);
- evas_object_event_callback_add(control_bar, EVAS_CALLBACK_MOUSE_DOWN, _mousedown_cb, NULL);
- } else {
- elm_toolbar_item_append(control_bar, ICON_DELETE_ALL, _("IDS_EMAIL_SK_DELETE_ALL"),
- _delete_all_emails_cb, mailbox_ugd);
- }
elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", control_bar);
g_delete_button = elm_toolbar_item_append(control_bar, ICON_DELETE,
dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_mail_cb, mailbox_ugd);
- if (mbox_type != EMAIL_MAILBOX_TYPE_OUTBOX && mbox_type != EMAIL_MAILBOX_TYPE_DRAFT)
+ 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);
{
mailbox_ugd->view_type = mailbox_ugd->previous_view;
- if (mailbox_ugd->view_type == EMAIL_VIEW_THREAD)
- mailbox_ugd->previous_view = EMAIL_VIEW_DATE;
-
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);
list_data *ld = eina_list_data_get(nth_list);
/* save the mail-id to be moved */
- if (mailbox_ugd->previous_view == EMAIL_VIEW_THREAD ||
- mailbox_ugd->previous_view == EMAIL_VIEW_UNREAD ||
+ if (mailbox_ugd->previous_view == EMAIL_VIEW_UNREAD ||
mailbox_ugd->previous_view == EMAIL_VIEW_IMPORTANT ||
mailbox_ugd->previous_view == EMAIL_VIEW_ATTACHMENTS ||
- mailbox_ugd->previous_view == EMAIL_VIEW_MEETING_REQUEST ||
mailbox_ugd->previous_view == EMAIL_VIEW_PRIORITY ||
mailbox_ugd->previous_view == EMAIL_VIEW_RECIPIENT ||
mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX ||
if (checked_count <= 0) return;
/* if single mail view (not threaded view), */
- if (previous_view == EMAIL_VIEW_THREAD ||
- previous_view == EMAIL_VIEW_UNREAD ||
+ if (previous_view == EMAIL_VIEW_UNREAD ||
previous_view == EMAIL_VIEW_IMPORTANT ||
previous_view == EMAIL_VIEW_PRIORITY ||
- previous_view == EMAIL_VIEW_MEETING_REQUEST ||
previous_view == EMAIL_VIEW_ATTACHMENTS ||
previous_view == EMAIL_VIEW_RECIPIENT ||
mailbox_ugd->mode == EMAIL_MAILBOX_MODE_MAILBOX ||
mailbox_ugd->view_type = mailbox_ugd->previous_view;
- if (mailbox_ugd->view_type == EMAIL_VIEW_THREAD)
- mailbox_ugd->previous_view = EMAIL_VIEW_DATE;
-
//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);
int new_slot_size = 0;
int i = 0, j = 0;
- if (g_get_more_progress_item || mailbox_ugd->view_type != EMAIL_VIEW_DATE || email_engine_get_eas_acc_exist_only() == TRUE) {
+ if (g_get_more_progress_item || mailbox_ugd->view_type != EMAIL_VIEW_DATE) {
debug_log("is_get_more_button exists or download in progress");
return;
}
if ((mailbox_ugd->view_type == EMAIL_VIEW_DATE
&& mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL
- && email_engine_get_eas_acc_exist_only() == FALSE)
+ )
||
(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))
{
static void _list_item_clicked(void *data, Evas_Object *obj, void *event_info)
{
debug_log("");
- gboolean b_thread_view = false;
if (!event_info) {
debug_log("event_info is NULL");
}
g_selected_item = it;
- if (ld->mailbox_ugd->b_thread_list == true && ld->mailbox_ugd->view_type != EMAIL_VIEW_THREAD && ld->thread_count > 1 ) {
- b_thread_view = TRUE;
- }
{
- // fast double taps cause to tap the other email in all mail
- if(ld->mailbox_ugd->view_type == EMAIL_VIEW_THREAD && ld->mailbox_ugd->thread_id != ld->thread_id)
- return;
-
int id = ld->mail_id;
email_mailbox_t *mbox = NULL;
#endif
{
case EMAIL_VIEW_DATE:
- case EMAIL_VIEW_THREAD:
group_index = email_get_group_title_str(ld->absolute_time, &ld->group_title, &ld->group_date);
break;
ld->group_date = NULL;
break;
- case EMAIL_VIEW_MEETING_REQUEST:
- if(ld->meeting_request == false){
- group_index = 0;
- ld->group_title = g_strdup(_("IDS_EMAIL_BODY_OTHER"));
- }
- else
- {
- group_index = 1;
- ld->group_title = g_strdup(_("IDS_EMAIL_BODY_MEETING_REQUEST"));
- }
- ld->group_date = NULL;
- break;
-
case EMAIL_VIEW_IMPORTANT:
if(ld->imp_sel == EMAIL_FLAG_NONE)
{
ld->reply_flag = mail_info->flags_answered_field;
ld->forward_flag = mail_info->flags_forwarded_field;
ld->followup_flag = mail_info->flags_flagged_field;
- ld->meeting_request = mail_info->is_meeting_request;
//debug_log("preview_body: %s", mail_info->previewBodyText);
/* datetime. */
sorting_rule_list[0].sort_order = EMAIL_SORT_ORDER_ASCEND;
sorting_rule_list[0].force_boolean_check = true;
break;
- case EMAIL_SORT_MEETING_REQUEST:
- sorting_rule_list[0].target_attribute = EMAIL_MAIL_ATTRIBUTE_MEETING_REQUEST_STATUS;
- sorting_rule_list[0].sort_order = EMAIL_SORT_ORDER_DESCEND;
- sorting_rule_list[0].force_boolean_check = false;
- break;
default:
debug_error("INVALID sort_type.");
break;
mailbox_ugd->view_type = mailbox_ugd->previous_view;
- if (mailbox_ugd->view_type == EMAIL_VIEW_THREAD)
- mailbox_ugd->previous_view = EMAIL_VIEW_DATE;
-
if (GET_MAILBOX_TYPE(mailbox_ugd->mailbox_id) == EMAIL_MAILBOX_TYPE_OUTBOX) {
mailbox_ugd->create_progress_part= true;
debug_log("mailbox_ugd->view_type[%d]", mailbox_ugd->view_type);
b_editmode = false;
elm_object_disabled_set(mailbox_ugd->folder_button, EINA_FALSE);
- 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 {
+ if (mailbox_ugd->isRotate == false) {
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");
}
return;
}
-void mailbox_make_meeting_request_mail_list(void *data)
-{
- debug_log("");
- if (data == NULL) {
- debug_log("data == NULL");
- return;
- }
-
- EmailMailboxUGD *mailbox_ugd = (EmailMailboxUGD *)data;
- mailbox_ugd->gl[EMAIL_VIEW_MEETING_REQUEST] = mailbox_ugd->gl[mailbox_ugd->view_type];
- list_lock = false;
- mailbox_ugd->previous_view = mailbox_ugd->view_type;
- mailbox_ugd->view_type = EMAIL_VIEW_MEETING_REQUEST;
- mailbox_ugd->navibar_item[EMAIL_VIEW_MEETING_REQUEST] = mailbox_ugd->navibar_item[mailbox_ugd->previous_view];
-
- _refresh_mailbox(mailbox_ugd);
-
- return;
-}
-
void _make_account_mail_list(void *data)
{
debug_log("");
switch(type)
{
case EMAIL_VIEW_DATE:
- case EMAIL_VIEW_THREAD:
if(first_item->absolute_time > second_item->absolute_time)
ret = (mailbox_ugd->sort_type == EMAIL_SORT_DATE_RECENT) ? -1 : 1;
else if (first_item->absolute_time == second_item->absolute_time)
ret = 1;
break;
- case EMAIL_VIEW_MEETING_REQUEST:
- if(first_item->is_attachment > second_item->is_attachment)
- ret = -1;
- else if (first_item->is_attachment == second_item->is_attachment)
- ret = 1;
- else
- ret = 1;
- break;
}
return ret;
}
return;
}
delete_req_t *req = (delete_req_t *)data;
- if(req->mailbox_ugd->view_type != EMAIL_VIEW_THREAD) {
- _release_noti_Q_event(req->mailbox_ugd);
- }
+ _release_noti_Q_event(req->mailbox_ugd);
+
FREE(req->msg_buf);
FREE(req);
debug_leave();
return;
}
move_req_t *req = (move_req_t *)data;
- if(req->mailbox_ugd->view_type != EMAIL_VIEW_THREAD) {
- _release_noti_Q_event(req->mailbox_ugd);
- }
+ _release_noti_Q_event(req->mailbox_ugd);
FREE(req->msg_buf);
FREE(req);
case NOTI_ACCOUNT_ADD:
case NOTI_ACCOUNT_DELETE:
debug_log("account added or deleted during pause status");
- if (get_eas_validation_started()) {
- reset_eas_validation_started();
- break;
- }
+
/* destroy all top ug and refresh all emails */
if (mailbox_ugd->ug_account) {
destroy_account_cb(mailbox_ugd->ug_account, mailbox_ugd);
debug_log("no account exists");
ug_destroy_me(mailbox_ugd->ug);
} else {
- if (subtype == NOTI_ACCOUNT_ADD) {
- EmailAccountInfo *account_info = NULL;
- if (email_engine_get_account_info(data1, &account_info)) {
- if (account_info && account_info->receiving_type == EMAIL_SERVER_TYPE_ACTIVE_SYNC) {
- debug_log("EAS account added, cancel sync header");
- break;
- }
- if (account_info)
- email_engine_free_account_info(&account_info);
- }
- }
if (list_lock) {
debug_log("locked");
if (!evas_object_visible_get(mailbox_ugd->gl[view_type]))
if (mailbox_ugd->mode == EMAIL_MAILBOX_MODE_ALL && mailbox_ugd->mailbox_type == mailbox_type)
{
if ( view_type == EMAIL_VIEW_DATE || view_type == EMAIL_VIEW_UNREAD ||
- view_type == EMAIL_VIEW_IMPORTANT || view_type == EMAIL_VIEW_MEETING_REQUEST ||
- view_type == EMAIL_VIEW_PRIORITY || view_type == EMAIL_VIEW_ATTACHMENTS)
+ view_type == EMAIL_VIEW_IMPORTANT ||view_type == EMAIL_VIEW_PRIORITY ||
+ view_type == EMAIL_VIEW_ATTACHMENTS)
{
sync_req_t *req = MEM_ALLOC(req, 1);
if(!req) return;
{
if (mailbox_ugd->mailbox_id == mailbox_id) {
if ((view_type == EMAIL_VIEW_DATE || view_type == EMAIL_VIEW_UNREAD ||
- view_type == EMAIL_VIEW_IMPORTANT || view_type == EMAIL_VIEW_MEETING_REQUEST ||
- view_type == EMAIL_VIEW_PRIORITY || view_type == EMAIL_VIEW_ATTACHMENTS) &&
+ view_type == EMAIL_VIEW_IMPORTANT || view_type == EMAIL_VIEW_PRIORITY ||
+ view_type == EMAIL_VIEW_ATTACHMENTS) &&
mailbox_ugd->account_id == account_id &&
mailbox_ugd->mailbox_id == mailbox_id)
{
mailid = data2;
int type = data4;
- if(view_type == EMAIL_VIEW_THREAD)
- {
- noti_event *noti = MEM_ALLOC(noti, 1);
- *noti = (noti_event){NOTI_MAIL_UPDATE, data1, data2, g_strdup(data3), data4};
- mailbox_ugd->noti_Q = g_list_prepend(mailbox_ugd->noti_Q, (gpointer)noti);
- }
-
if(type == UPDATE_PARTIAL_BODY_DOWNLOAD) {
list_data *ld = _find_mailinfo_by_mailid(mailid, mailbox_ugd->list_data[view_type]);
if(ld) {
if (email_check_account_list(data1)) {
_remove_get_more_progress_item(mailbox_ugd);
- if (EMAIL_VIEW_THREAD != mailbox_ugd->view_type)
- {
- if (mailbox_ugd->sync_progress == elm_object_part_content_get(mailbox_ugd->navi_title_ly, "right_btn"))
- {
- 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);
- }
- }
- else
+ if (mailbox_ugd->sync_progress == elm_object_part_content_get(mailbox_ugd->navi_title_ly, "right_btn"))
{
- if (mailbox_ugd->sync_progress == elm_object_part_content_get(mailbox_ugd->navi_bar, "title_right_btn"))
- {
- elm_object_part_content_unset(mailbox_ugd->navi_bar, "title_right_btn");
- evas_object_hide(mailbox_ugd->sync_progress);
- elm_object_part_content_set(mailbox_ugd->navi_bar, "title_right_btn", mailbox_ugd->thread_update_button);
- evas_object_show(mailbox_ugd->thread_update_button);
- }
+ 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);
}
}
break;
elm_object_disabled_set(mailbox_ugd->folder_button, EINA_FALSE);
mailbox_ugd->view_type = mailbox_ugd->previous_view;
- if(mailbox_ugd->view_type == EMAIL_VIEW_THREAD)
- mailbox_ugd->previous_view = EMAIL_VIEW_DATE;
+
list_lock = false;
_update_navigationbar_title(mailbox_ugd);
debug_log("mailbox_ugd->account_id: %d", ld->account_id);
debug_log("ld->mail_id: %d", ld->mail_id);
- /* fast double taps cause to tap the other email in all mail */
- if(ld->mailbox_ugd->view_type == EMAIL_VIEW_THREAD && ld->mailbox_ugd->thread_id != ld->thread_id )
- return;
-
email_mailbox_t *mbox = NULL;
int e = email_get_mailbox_by_mailbox_id(ld->mailbox_id, &mbox);
if (e != EMAIL_ERROR_NONE) {
debug_log("mailbox_ugd->account_id: %d", ld->account_id);
debug_log("ld->mail_id: %d", ld->mail_id);
- /* fast double taps cause to tap the other email in all mail */
- if(ld->mailbox_ugd->view_type == EMAIL_VIEW_THREAD && ld->mailbox_ugd->thread_id != ld->thread_id )
- return;
-
email_mailbox_t *mbox = NULL;
int e = email_get_mailbox_by_mailbox_id(ld->mailbox_id, &mbox);
if (e != EMAIL_ERROR_NONE) {
#include <stdio.h>
#include <stdlib.h>
-#include "syspopup_caller.h"
#include "email-mailbox.h"
#include "email-mailbox-controlbar.h"
#include "email-mailbox-list.h"
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_THREAD)
- {
- elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "controlbar", mailbox_ugd->controlbar_btns);
- }
- else if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT)
+ 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);
}
if (!evas_object_visible_get(mailbox_ugd->navi_title_ly)) {
debug_log("title is not visible, show title. view_type:%d, previous_view:%d", mailbox_ugd->view_type, mailbox_ugd->previous_view);
- if (mailbox_ugd->view_type == EMAIL_VIEW_THREAD || mailbox_ugd->view_type == EMAIL_VIEW_EDIT)
+ if (mailbox_ugd->view_type == EMAIL_VIEW_EDIT)
elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->previous_view], "title", mailbox_ugd->navi_title_ly);
else
elm_object_item_part_content_set(mailbox_ugd->navibar_item[mailbox_ugd->view_type], "title", mailbox_ugd->navi_title_ly);
/* download new mails */
_stop_emf_job(mailbox_ugd, mailbox_ugd->emf_handle, true);
- if (mailbox_ugd->initial_run || email_engine_get_eas_acc_exist_only() == FALSE) {
+ if (mailbox_ugd->initial_run) {
_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_focus_set(mailbox_ugd->gl[mailbox_ugd->view_type], EINA_TRUE);
- if (EMAIL_VIEW_THREAD != mailbox_ugd->view_type)
- {
- if (mailbox_ugd->update_button == elm_object_part_content_get(mailbox_ugd->navi_title_ly, "right_btn"))
+ if (mailbox_ugd->update_button == elm_object_part_content_get(mailbox_ugd->navi_title_ly, "right_btn"))
{
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);
- }
- }
- else
- {
- if (mailbox_ugd->thread_update_button == elm_object_part_content_get(mailbox_ugd->navi_bar, "title_right_btn"))
- {
- elm_object_part_content_unset(mailbox_ugd->navi_bar, "title_right_btn");
- evas_object_hide(mailbox_ugd->thread_update_button);
- elm_object_part_content_set(mailbox_ugd->navi_bar, "title_right_btn", mailbox_ugd->sync_progress);
- evas_object_show(mailbox_ugd->sync_progress);
- }
}
+
debug_leave();
}
email_svc_sort_type = EMAIL_SORT_FAVORITE_HIGH;
else if (sort_type == EMAIL_SORT_PRIORITY)
email_svc_sort_type = EMAIL_SORT_PRIORITY_HIGH;
- else if (sort_type == EMAIL_SORT_MEETING_REQUEST)
- email_svc_sort_type = EMAIL_SORT_FLAGGED_FLAG_HIGH;
else if (sort_type == EMAIL_SORT_ATTACHMENTS)
email_svc_sort_type = EMAIL_SORT_ATTACHMENT_HIGH;
else
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
-# install desktop file & icon
-#CONFIGURE_FILE(${CMAKE_EMAIL_SOURCE_DIR}/${PKGNAME}.desktop.in ${CMAKE_EMAIL_BINARY_DIR}/${PKGNAME}.desktop)
-#INSTALL(FILES ${CMAKE_EMAIL_BINARY_DIR}/${PKGNAME}.desktop DESTINATION /opt/share/applications)
+# install xml file & icon
INSTALL(FILES ${CMAKE_EMAIL_BINARY_DIR}/${PKGNAME}.xml DESTINATION /opt/share/packages)
INSTALL(FILES ${CMAKE_EMAIL_SOURCE_DIR}/${PKGNAME}.png DESTINATION ${ICONDIR})
INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/images DESTINATION ${RESDIR} FILES_MATCHING PATTERN "*.png")
# install ini file
INSTALL(FILES ${CMAKE_EMAIL_SOURCE_DIR}/${PROJECT_NAME}.ini DESTINATION /usr/share/process-info)
-# i18n
-#ADD_SUBDIRECTORY(po)
ui_gadget_h mailbox_ug;
ui_gadget_h setting_ug;
-// ui_gadget_h *passwd_ug;
ui_gadget_h composer_ug;
ui_gadget_h viewer_ug;
};
gboolean _b_setting_opened = false;
extern ui_gadget_h _g_mailbox_ug;
-//extern int _g_b_in_terminating;
-//extern int _g_b_on_pause;
static bool app_create(void *data);
static int app_terminate(void *data);
static Evas_Object *create_win(const char *name);
static void win_del(void *data, Evas_Object *obj, void *event);
-/*static Eina_Bool _email_ui_keydown_cb(void *data, int type, void *event);*/
static void launch_email_ug(service_h b, struct appdata *ad);
static int check_app_svc_operation(service_h b, struct appdata *ad, gint account_id);
static int check_aul_mime_operation(service_h b, struct appdata *ad);
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 Ecore_Event_Handler *key_down_handler = NULL;*/
static void layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
{
}
ad->win_main = win;
- /*key_down_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, _email_ui_keydown_cb, ad);*/
-
UG_INIT_EFL(ad->win_main, UG_OPT_INDICATOR_ENABLE);
/* icu */
static int app_terminate(void *data)
{
debug_log("");
- //struct appdata *ad = data;
- //_g_b_in_terminating = 1;
set_app_terminated();
- //email_close_icu_pattern_generator();
-
email_engine_finalize_force();
int ret = e_dbus_shutdown();
debug_log("ret: %d", ret);
-#if 0
- if (ad) {
- if (ad->win_main)
- evas_object_del(ad->win_main);
-
- free(ad);
- ad = NULL;
- }
-#endif
- debug_log("");
return 0;
}
ad->setting_ug = NULL;
}
- /*if (ad->mailbox_ug) {
- debug_log("destroy mailbox_ug");
- ug_destroy(ad->mailbox_ug);
- ad->mailbox_ug = NULL;
- }
-
- if (ad->composer_ug) {
- debug_log("destroy composer_ug");
- ug_destroy(ad->composer_ug);
- ad->composer_ug = NULL;
- }
-
- if (ad->viewer_ug) {
- debug_log("destroy viewer_ug");
- ug_destroy(ad->viewer_ug);
- ad->viewer_ug = NULL;
- }*/
-
email_clear_all_notification_bar();
launch_email_ug(b, ad);
eo = elm_win_add(NULL, name, ELM_WIN_BASIC);
if (eo) {
elm_win_title_set(eo, name);
-// elm_win_borderless_set(eo, EINA_TRUE);
evas_object_smart_callback_add(eo, "delete,request", win_del, NULL);
ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
evas_object_resize(eo, w, h);
elm_exit();
}
-/*static Eina_Bool _email_ui_keydown_cb(void *data, int type, void *event)
-{
- debug_log("");
-
- if (data == NULL) {
- elm_exit();
- }
-
- struct appdata *ad;
- ad = (struct appdata *)data;
-
- Ecore_Event_Key *ev = event;
- debug_log("%s:%s", ev->keyname, KEY_END);
-
- if (strcmp(ev->keyname, KEY_END) == 0) {
- ecore_event_handler_del(key_down_handler);
- set_app_terminated();//_g_b_in_terminating = 1;
- elm_exit();
- }
-
- return ECORE_CALLBACK_RENEW;
-}*/
-
static void launch_email_ug(service_h b, struct appdata *ad)
{
debug_log("");
goto FINISH_AUL_LAUNCH;
}
- char livemagazine[10] = { 0, };
char internal[10] = { 0, };
- snprintf(livemagazine, sizeof(livemagazine), "%d", 0);
snprintf(internal, sizeof(internal), "%d", 0);
ret = service_get_extra_data(b, EMAIL_BUNDLE_KEY_ACCOUNT_ID, &account_id);
debug_log("service_add_extra_data: %d", ret);
ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, mailbox_id);
debug_log("service_add_extra_data: %d", ret);
- ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_LIVEMAGAZINE, livemagazine);
- debug_log("service_add_extra_data: %d", ret);
ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_INTERNAL, internal);
debug_log("service_add_extra_data: %d", ret);
-<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.email" version="0.9.30" install-location="internal-only">
+<manifest xmlns="http://tizen.org/ns/packages" package="org.tizen.email" version="0.0.1" install-location="internal-only">
<label>Email</label>
<author email="minnsoo.kim@samsung.com" href="www.samsung.com">Minsoo Kim</author>
<description>Email Application</description>
<label xml:lang="zh-hk">電子郵件</label>
<label xml:lang="zh-cn">电子邮件</label>
<label xml:lang="ru-ru">E-mail</label>
- <label xml:lang="zh-tw">電子郵件</label>
+ <label xml:lang="zh-tw">電子郵件</label>
<label xml:lang="ja-jp">Eメール</label>
<label xml:lang="es-es">Email</label>
<label xml:lang="el-gr">Email</label>
<ui-application appid="email-composer-efl" exec="/opt/ug/bin/email-composer-efl" nodisplay="true" multiple="true" type="capp" taskmanage="false">
<label>Email composer</label>
<application-service>
- <operation name="http://tizen.org/appcontrol/operation/send"/>
<mime name="*/*"/>
</application-service>
<application-service>
- <operation name="http://tizen.org/appcontrol/operation/send_text"/>
- </application-service>
- <application-service>
- <operation name="http://tizen.org/appcontrol/operation/send"/>
<uri name="mailto"/>
</application-service>
</ui-application>
BuildRequires: pkgconfig(mmutil-imgp)
BuildRequires: pkgconfig(libmedia-service)
BuildRequires: pkgconfig(libmedia-utils)
+BuildRequires: pkgconfig(calendar)
BuildRequires: pkgconfig(drm-client)
-BuildRequires: pkgconfig(heynoti)
-BuildRequires: pkgconfig(syspopup-caller)
BuildRequires: pkgconfig(status)
-BuildRequires: pkgconfig(capi-system-sensor)
+BuildRequires: pkgconfig(capi-media-metadata-extractor)
+BuildRequires: pkgconfig(capi-media-image-util)
%description
%post
-/usr/bin/vconftool set -t int file/private/com.samsung.email/defaultaccount "1" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/slot_size "50" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/spam_rule_changed "0" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/threadlist "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/aol_sending_address "smtp.aol.com" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/aol_sending_port "587" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/aol_sending_ssl "0" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/aol_receiving_type "2" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/aol_receiving_address "imap.aol.com" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/aol_receiving_port "143" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/aol_receiving_ssl "0" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/gmail_sending_address "smtp.gmail.com" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/gmail_sending_port "465" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/gmail_sending_ssl "1" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/gmail_receiving_type "2" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/gmail_receiving_address "imap.gmail.com" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/gmail_receiving_port "993" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/gmail_receiving_ssl "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/yahoo_sending_address "smtp.mail.yahoo.co.kr" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/yahoo_sending_port "465" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/yahoo_sending_ssl "1" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/yahoo_receiving_type "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/yahoo_receiving_address "pop.mail.yahoo.co.kr" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/yahoo_receiving_port "995" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/yahoo_receiving_ssl "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/hotmail_sending_address "smtp.live.com" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/hotmail_sending_port "587" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/hotmail_sending_ssl "2" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/hotmail_receiving_type "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/hotmail_receiving_address "pop3.live.com" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/hotmail_receiving_port "995" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/hotmail_receiving_ssl "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/samsung_pop3_sending_address "165.213.73.235" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_pop3_sending_port "465" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_pop3_sending_ssl "1" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_pop3_receiving_type "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/samsung_pop3_receiving_address "165.213.73.235" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_pop3_receiving_port "995" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_pop3_receiving_ssl "1" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/samsung_imap4_sending_address "165.213.73.235" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_imap4_sending_port "465" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_imap4_sending_ssl "1" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_imap4_receiving_type "2" -g 6514
-/usr/bin/vconftool set -t string file/private/com.samsung.email/samsung_imap4_receiving_address "165.213.73.235" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_imap4_receiving_port "993" -g 6514
-/usr/bin/vconftool set -t int file/private/com.samsung.email/samsung_imap4_receiving_ssl "1" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/defaultaccount "1" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/slot_size "50" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/spam_rule_changed "0" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/threadlist "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/aol_sending_address "smtp.aol.com" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/aol_sending_port "587" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/aol_sending_ssl "0" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/aol_receiving_type "2" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/aol_receiving_address "imap.aol.com" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/aol_receiving_port "143" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/aol_receiving_ssl "0" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/gmail_sending_address "smtp.gmail.com" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/gmail_sending_port "465" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/gmail_sending_ssl "1" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/gmail_receiving_type "2" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/gmail_receiving_address "imap.gmail.com" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/gmail_receiving_port "993" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/gmail_receiving_ssl "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/yahoo_sending_address "smtp.mail.yahoo.co.kr" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/yahoo_sending_port "465" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/yahoo_sending_ssl "1" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/yahoo_receiving_type "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/yahoo_receiving_address "pop.mail.yahoo.co.kr" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/yahoo_receiving_port "995" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/yahoo_receiving_ssl "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/hotmail_sending_address "smtp.live.com" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/hotmail_sending_port "587" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/hotmail_sending_ssl "2" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/hotmail_receiving_type "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/hotmail_receiving_address "pop3.live.com" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/hotmail_receiving_port "995" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/hotmail_receiving_ssl "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/samsung_pop3_sending_address "165.213.73.235" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_pop3_sending_port "465" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_pop3_sending_ssl "1" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_pop3_receiving_type "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/samsung_pop3_receiving_address "165.213.73.235" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_pop3_receiving_port "995" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_pop3_receiving_ssl "1" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/samsung_imap4_sending_address "165.213.73.235" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_imap4_sending_port "465" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_imap4_sending_ssl "1" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_imap4_receiving_type "2" -g 6514
+/usr/bin/vconftool set -t string file/private/org.tizen.email/samsung_imap4_receiving_address "165.213.73.235" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_imap4_receiving_port "993" -g 6514
+/usr/bin/vconftool set -t int file/private/org.tizen.email/samsung_imap4_receiving_ssl "1" -g 6514
chown -R 5000:5000 /opt/apps/org.tizen.email/data
mkdir -p /opt/ug/bin/
ln -sf /usr/bin/ug-client /opt/ug/bin/email-composer-efl
+
%files
%defattr(-,root,root,-)
%exclude %{_datadir}/process-info/email.ini
%{_appdir}/org.tizen.email/lib/libemail-common.so
%{_ugdir}/lib/libug-email-composer-efl.so
-#%{_ugdir}/lib/libug-email-viewer-efl.so
+%{_ugdir}/lib/libug-email-viewer-efl.so
%{_ugdir}/lib/libug-email-account-efl.so
%{_ugdir}/lib/libug-email-block-efl.so
%{_ugdir}/lib/libug-email-mailbox-efl.so
%{_ugdir}/lib/libug-email-setting-efl.so
-%{_ugdir}/res/locale/*/LC_MESSAGES/*
-#%{_appdir}/org.tizen.email/res/edje/email-viewer-theme.edj
+%{_appdir}/org.tizen.email/res/edje/email-viewer-theme.edj
%{_appdir}/org.tizen.email/res/edje/email-setting-theme.edj
%{_appdir}/org.tizen.email/res/edje/email-block-theme.edj
%{_appdir}/org.tizen.email/res/edje/email-account-theme.edj
# for i18n
-SET(POFILES en.po nl_NL.po de_DE.po zh_HK.po zh_CN.po ru_RU.po ko_KR.po zh_TW.po ja_JP.po es_ES.po el_GR.po it_IT.po tr_TR.po pt_PT.po fr_FR.po ar.po bg.po ca.po cs.po da.po en_US.po fi.po hi.po hr.po hu.po lt.po lv.po pl.po ro.po sk.po sl.po sr.po sv.po uk.po az.po en_PH.po es_US.po et.po eu.po fr_CA.po ga.po gl.po hy.po is.po ka.po kk.po mk.po pt_BR.po zh_SG.po)
+SET(POFILES en.po nl_NL.po de_DE.po zh_HK.po zh_CN.po ru_RU.po ko_KR.po zh_TW.po ja_JP.po es_ES.po el_GR.po it_IT.po tr_TR.po pt_PT.po fr_FR.po ar.po bg.po ca.po cs.po da.po en_US.po fi.po hi.po hr.po hu.po lt.po lv.po pl.po ro.po sk.po sl.po sr.po sv.po uk.po az.po en_PH.po es_US.po et.po eu.po fr_CA.po ga.po gl.po hy.po is.po ka.po kk.po mk.po pt_BR.po zh_SG.po nb.po uz.po)
#he.po id.po ms.po no.po th.po vi.po
SET(MSGFMT "/usr/bin/msgfmt")
INSTALL(FILES ${moFile}
DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME email.mo)
- INSTALL(FILES ${moFile}
- DESTINATION /opt/ug/res/locale/${lang}/LC_MESSAGES RENAME email.mo)
-
SET(moFiles ${moFiles} ${moFile})
ENDFOREACH(pofile)
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "إضافة عنوان"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "بريد إلكتروني جديد"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "تحديد مجلد"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "التقاط فيديو"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "نقل لـ إلى"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "تحديد عنوان بريد إلكتروني"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "يتعذر البحث"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "المقروءة"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "انقر نقرا مزدوجا للانتقال إلى أعلى قوائم جهات الاتصال وقوائم البريد الإلكتروني ورسائل البريد الإلكتروني"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "تعديل الرد قبل الإرسال"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "إرسال الرد الآن"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "عدم إرسال الرد"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "التحقق من التوقيع"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "التحقق من التوقيع"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "يتعذر التحقق من التوقيع. لم يتم تثبيت المفتاح العام"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "التوقيع الرقمي الموجود في هذه الرسالة صالح وموثوق به"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "فك تشفير الرسالة"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "حفظ بريد إلكتروني"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "غير قادر على إنشاء مجلد"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "التقاط صورة"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Ünvan əlavə edin"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Yeni epoçt"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Qovluq seç"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Video yaz"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Kimə sahəsinə keç"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "E-poçt ünvanını seç"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Axtarış mümkün deyil"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Oxu"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Kontakt siyahılarının, e-poçt siyahılarının və mesajların yuxarısına keçmək üçün iki dəfə vurun"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Göndərməzdən əvvəl cavabı redaktə et"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Cavabı indi göndər"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Cavab göndərmə"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "İmzanı yoxla"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "İmzanı yoxla"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "İmzanı yoxlamaq mümkün deyil. Ümumi açar quraşdırılmayıb"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Bu mesajın rəqəmsal imzası etibarlı və doğrudur"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Mesajı şifrlə"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "E-poçtu saxla"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Qovluq yaratmaq olmur"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Şəkil çək"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Добавяне на адрес"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Нов имейл"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Изберете папка"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Запис на видео"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Преместване в До"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Избор на email адрес"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Не може да се търси"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Прочетено"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Чукнете двукратно, за да отидете в горната част на списъците със записи, списъците с имейли и имейл съобщенията"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Редактиране на отговор преди изпращане"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Изпращане на отговор сега"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Не изпращай отговор"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Потвържд. подпис"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Потвърждаване на подпис"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Подписът не може да бъде проверен. Няма инсталиран публичен ключ"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Цифровият подпис на това съобщение е валиден и е надежден"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Дешифров. на съобщ."
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Записване на имейл"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Не може да се създаде папка"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Направи снимка"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Afegir adreça"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nou correu electrònic"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Seleccioni carpeta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capturar vídeo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Moure a Per a"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Seleccionar adreça de correu electrònic"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Error de cerca"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Llegir"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toqui dos cops per anar al principi de la llista de contactes, la llista de correus electrònics i els missatges de correu electrònic"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editar la resposta abans d'enviar"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Enviar resposta ara"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "No enviar resposta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verifiqui signatura"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verifiqui la signatura"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Error en verificar la signatura. La clau pública no està instal·lada"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "La signatura digital d'aquest missatge és vàlida i de confiança"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Desxifrar missatge"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Desar correu elect"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "No es pot crear la carpeta"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Fer foto"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Přidat adresu"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nový e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Vybrat složku"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Nahrávání videoklipů"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Přesunout do Komu"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Vybrat e-mailovou adresu"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Chyba vyhledávání"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Přečteno"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Poklepáním přejdete na začátek seznamů kontaktů, seznamů e-mailů a e-mailových zpráv"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Upravit odpověď před odesláním"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Odeslat odpověď"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Neodeslat odpověď"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Ověřit podpis"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Ověřit podpis"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Podpis nelze ověřit. Veřejný klíč není nainstalován"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Digitální podpis této zprávy je platný a důvěryhodný"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dešifrovat zprávu"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Uložit e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Složku nelze vytvořit"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Vyfotografovat"
+
msgstr "Signatur"
msgid "IDS_EMAIL_OPT_ENCRYPT"
-msgstr "Krypter"
+msgstr "Kryptér"
msgid "IDS_EMAIL_POP_AUTHENTICATION_FAILED"
msgstr "Godkendelse mislykkedes"
msgstr "Certifikat stemmer ikke overens med e-mail-adresse"
msgid "IDS_EMAIL_BODY_ENCRYPT"
-msgstr "Krypter"
+msgstr "Kryptér"
msgid "IDS_EMAIL_BODY_SIGN"
msgstr "Signatur"
msgid "IDS_EMAIL_POP_DECRYPTING_MESSAGE_ING"
-msgstr "Dekrypterer meddelelse..."
+msgstr "Dekrypterer meddelelse ..."
msgid "IDS_EMAIL_BODY_1_MONTH_AGO"
msgstr "1 måned siden"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Tilføj adresse"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Ny e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Vælg mappe"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Optag video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Flyt til Til"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Vælg e-mail-adresse"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Kan ikke søge"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Læs"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Tap to gange for at gå til toppen af listen over kontakter, liste over e-mails og e-mail-meddelelser"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Rediger svar før afsendelse"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Send svar nu"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Send ikke svar"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Godkend signatur"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Godkend signatur"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Kunne ikke bekræfte signatur. Offentlig nøgle er ikke installeret"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Den digitale signatur på denne meddelelse er gyldig og er troværdig"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dekryptér besked"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Gem e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Kunne ikke oprette mappe"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Tag billede"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adresse hinzufügen"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Neue E-Mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Ordner auswählen"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Video aufnehmen"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "In 'An' verschieben"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Wählen Sie eine E-Mail-Adresse aus"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Suche nicht möglich"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Gelesen"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Tippen Sie zweimal, um zum Anfang der Kontakt-, E-Mail-Liste und der E-Mails zu gelangen."
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Antwort vor dem Senden bearbeiten"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Antwort jetzt senden"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Antwort nicht senden"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Signatur überprüfen"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Signatur überprüfen"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Die Signatur kann nicht überprüft werden. Kein öffentlicher Schlüssel installiert."
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Die digitale Signatur dieser Nachricht ist gültig und vertrauenswürdig."
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Nachricht entschl."
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "E-Mail speichern"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Ordner kann nicht erstellt werden"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Foto aufnehmen"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Προσθήκη διεύθυνσης"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Νέο email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Επιλογή φακέλου"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Λήψη βίντεο"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Μετακίνηση σε Προς"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Επιλογή διεύθυνσης email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Δεν είναι δυνατή η αναζήτηση"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Ανάγνωση"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Μεταβείτε στην κορυφή της λίστας επαφών, της λίστας email και των μηνυμάτων email με διπλό πάτημα"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Επεξεργασία απάντησης πριν από την αποστολή"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Αποστολή απάντησης τώρα"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Να μην γίνει αποστολή της απάντησης"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Επαλήθευση υπογραφής"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Επαλήθευση υπογραφής"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Δεν είναι δυνατή η επαλήθευση υπογραφής, Δεν έχει εγκατασταθεί δημόσιο κλειδί"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Η ψηφιακή υπογραφή αυτού του μηνύματος είναι έγκυρη και αξιόπιστη"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Αποκρυπτ. μηνύματος"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Αποθήκευση email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Δεν είναι δυνατή η δημιουργία φακέλου"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Λήψη φωτογραφίας"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Add address"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "New email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Select folder"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capture video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Move to To"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Select email address"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Unable to search"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Read"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Double tap to go to the top of contacts lists, email lists and email messages"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Edit response before sending"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Send response now"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Do not send response"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verify signature"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verify signature"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Unable to verify signature. Public key is not installed"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "The digital signature on this message is valid and trusted"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Decrypt message"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Save email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Unable to create folder"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Take picture"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Add address"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "New Email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Select folder"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capture video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Move to To"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Select Email address"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Unable to search"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Read"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Double tap to go to the top of contacts lists, Email lists and email messages"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Edit response before sending"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Send response now"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Do not send response"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verify signature"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verify signature"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Unable to verify signature. Public key is not installed"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "The digital signature on this message is valid and trusted"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Decrypt message"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Save Email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Unable to create folder"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Take picture"
+
msgstr "Add account"
msgid "IDS_EMAIL_BODY_REMOVE_EVENT_FROM_CALENDAR"
-msgstr "Remove event from Calendar"
+msgstr "Delete event from Calendar"
msgid "IDS_EMAIL_POP_GETTING_RECIPIENTS_CERTIFICATES_ING"
msgstr "Getting recipients certificates..."
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Add address"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "New email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Select folder"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capture video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Move to To"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Select email address"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Unable to search"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Read"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Double tap to go to the top of contacts lists, email lists and email messages"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Edit response before sending"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Send response now"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Do not send response"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verify signature"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verify signature"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Unable to verify signature. Public key is not installed"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "The digital signature on this message is valid and trusted"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Decrypt message"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Save email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Unable to create folder"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Take picture"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Añadir dirección"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Correo electrónico nuevo"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Seleccione carpeta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capturar vídeo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mover a Para"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Seleccionar dirección de correo electrónico"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "No se puede buscar"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Leído"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toque dos veces para ir al principio de la lista de contactos, la lista de correos electrónicos y los mensajes de correo electrónico"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editar respuesta antes de enviar"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Enviar respuesta ahora"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "No enviar respuesta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verifique la firma"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verifique la firma"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "No se puede verificar la firma. La clave pública no está instalada"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "La firma digital de este mensaje es válida y de confianza"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Descifrar mensaje"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Guardar correo electrónico"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "No se puede crear carpeta"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Hacer foto"
+
msgstr "Firma"
msgid "IDS_EMAIL_OPT_ENCRYPT"
-msgstr "Cifrar"
+msgstr "Encriptar"
msgid "IDS_EMAIL_POP_AUTHENTICATION_FAILED"
msgstr "Error de autentificación"
msgstr "No se puede descifrar el mensaje. Certificado no instalado"
msgid "IDS_EMAIL_POP_UNABLE_TO_SIGN_OR_ENCRYPT_MESSAGE_CERTIFICATE_NOT_INSTALLED"
-msgstr "No se puede firmar o cifrar el mensaje. Certificado no instalado"
+msgstr "No se puede firmar o encriptar el mensaje. Certificado no instalado"
msgid "IDS_EMAIL_POP_DOWNLOAD_MORE_DETAILS_TO_SHOW_S_MIME_MESSAGES_CONTINUE_Q"
msgstr "Descargue más detalles para mostrar los mensajes S/MIME. ¿Continuar?"
msgstr "El certificado no coincide con la dirección de correo"
msgid "IDS_EMAIL_BODY_ENCRYPT"
-msgstr "Cifrar"
+msgstr "Encriptar"
msgid "IDS_EMAIL_BODY_SIGN"
msgstr "Firma"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Añadir dirección"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nuevo correo"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Seleccionar carpeta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capturar video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mover a A"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Seleccionar dirección de correo"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "No se puede buscar"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Leídos"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Presione dos veces para ir al inicio de las listas de contactos, listas de correo y mensajes de correo"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editar respuesta antes de enviar"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Enviar respuesta ahora"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "No enviar respuesta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verificar firma"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verificar firma"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "No es posible verificar la firma. El código público no está instalado"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "La firma digital en este mensaje es válida y es de confianza"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Descifrar mensaje"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Guardar correo"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "No se puede crear la carpeta"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Capturar imagen"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Lisa aadress"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Uus e-kiri"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Vali kaust"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Salvesta video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Teisalda kausta Kellele"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Vali e-posti aadress"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Ei saa otsida"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Loe"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toksake kaks korda, et liikuda kontaktide loendi, e-kirjade loendi ja e-kirjade ülaossa"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Redigeeri vastust enne saatmist"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Saada vastus kohe"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ära saada vastust"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Kinnitage allkiri"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Kinnitage allkiri"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Allkirja ei saa kinnitada. Avalikku võtit pole installitud"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Selles sõnumis olev digiallkiri on kehtiv ja usaldusväärne"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dekrüpti sõnum"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Salvesta e-kiri"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Kausta ei saa luua"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Pildista"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Gehitu helbidea"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Mezu elektroniko berria"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Hautatu karpeta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Bideoa grabatu"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mugitu Nori-ra"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Aukeratu helbide elektronikoa"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Ezin da bilatu"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Irakurrita"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Ukitu bi aldiz kontaktu zerrendaren, mezu elektronikoen zerrendaren eta mezu elektronikoen goiko aldera joateko"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editatu erantzuna bidali aurretik"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Bidali erantzuna orain"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ez bidali erantzunik"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Egiaztatu sinadura"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Egiaztatu sinadura"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Ezin da sinadura egiaztatu. Gako publikoa ez da instalatu"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Mezu honetako sinadura digitala baliogarria eta fidagarria da"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Desenkriptatu mezua"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Gorde mezu elekt."
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Ezin da karpeta sortu"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Atera argazkia"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Lisää osoite"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Uusi sähköposti"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Valitse kansio"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Kuvaa video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Siirrä kohteeseen"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Valitse sähköpostiosoite"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Ei voi hakea"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lue"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Siirry yhteystietoluetteloiden, sähköpostiluetteloiden ja sähköpostiviestien alkuun kaksoisnapauttamalla"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Muokkaa vastausta ennen lähettämistä"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Lähetä vastaus nyt"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Älä lähetä vastausta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Tarkista allekirj."
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Tarkista allekirjoitus"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Allekirjoitusta ei voi tarkistaa. Julkista avainta ei ole asennettu"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Tässä viestissä oleva digitaalinen allekirjoitus kelpaa ja on luotettu"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Poista salaus"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Tallenna sähköposti"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Kansion luonti epäonnistui"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Ota kuva"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Ajouter l'adresse"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nouveau courriel"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Sélectionner dossier"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Saisir une vidéo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Déplacer vers A"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Sélectionner une adresse courriel"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Impossible de rechercher"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lu"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Touchez deux fois pour revenir en haut des listes de contacts, des listes de courriels et des courriels"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Modifier la réponse avant l'envoi"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Envoyer la réponse maintenant"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ne pas envoyer la réponse"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Vérifier signature"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Vérifier la signature"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Impossible de vérifier la signature. La clé publique n'est pas installée"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "La signature numérique sur ce message est valide et fiable"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Décrypter le message"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Enregistrer courriel"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Impossible de créer un dossier"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Prendre une photo"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Ajouter adresse"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nouvel e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Sélectionner dossier"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capturer une vidéo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Déplacer dans A"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Sélectionner une adresse e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Impossible de rechercher"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lu"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Appuyez deux fois pour revenir en haut des listes de contacts, des listes d'e-mails et des e-mails"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Modifier la réponse avant l'envoi"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Envoyer la réponse maintenant"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ne pas envoyer la réponse"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Vérifier signature"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Vérifier la signature"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Impossible de vérifier la signature. La clé publique n'est pas installée"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "La signature numérique sur ce message est valide et fiable"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Décrypter le message"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Enregistrer e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Création de fichier impossible"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Prendre une photo"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Cuir seoladh leis"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "R-phost nua"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Roghnaigh fillteán"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Gabh físeán"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Bog chuig Chuig"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Roghnaigh seoladh r-phoist"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Ní féidir cuardach"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Léite"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Déthapáil le dhul chuig barr an liosta teagmhálaithe, liostaí r-phoist, agus teachtaireachtaí r-phoist"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Cuir an fhreagairt in eagar roimh seoladh"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Seol freagairt anois"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ná seol freagairt"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Fíoraigh an síniú"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Fíoraigh an síniú"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Ní féidir an síniú a fhíordheimhniú. Níl an eochair phoiblí suiteáilte"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Tá an síniú digiteach ar an teachtaireacht seo bailí agus iontaofa"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Díchriptigh tcht"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Sábháil r-phost"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Ní féidir fillteán a dhéanamh"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Glac pictiúr"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Engadir enderezo"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Correo electrónico novo"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Seleccionar carpeta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capturar Vídeo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mover a Para"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Seleccionar enderezo de correo electrónico"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Non se pode buscar"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Ler"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toca dúas veces para ir á parte superior das listas de contactos, das listas de correos electrónicos e das mensaxes de correo electrónico"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editar resposta antes de enviar"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Enviar resposta agora"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Non enviar resposta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verificar sinatura"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verificar sinatura"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Non se pode verificar a sinatura. A clave pública non está instalada"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "A sinatura dixital desta mensaxe é válida e fiable"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Descifrar mensaxe"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Gardar correo e."
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Non se pode crear a carpeta"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Facer unha foto"
+
msgstr "प्राप्तकर्ता (Z से A)"
msgid "IDS_EMAIL_HEADER_SEARCH_SHAREPOINT"
-msgstr "SharePoint खोजें"
+msgstr "शेयरपॉइंट्स खोजें"
msgid "IDS_EMAIL_BODY_ENTER_PATH_OF_WINDOWS_SHAREPOINT_SERVICES_OR_WINDOWS_FILE_SHARE_HUNC_TO_ACCESS_DOCUMENTS_REMOTELY"
msgstr "दस्तावेज़ों को दूरस्थ रूप से ऍक्सेस करने के लिए विंडोज़ SharePoint सेवाएँ या विंडोज़ फ़ाइल साझाकरण (UNC) का पथ दर्ज करें"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "पता ज़ोडे"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "नयी ईमेल"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "फ़ोल्डर चुनें"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "वीडियो कैप्चर करें"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "प्रति में ले जाएँ"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "ईमेल पता चुनें"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "खोजने में अक्षम"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "पठित"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "संपर्क सूचियों, ईमेल सूचियों, और ईमेल संदेशों के शीर्ष पर जाने के लिए डबल टैप करें"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "भेजने से पहले प्रतिक्रिया संपादित करें"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "अभी प्रतिक्रिया भेजें"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "प्रतिक्रिया नहीं भेजें"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "हस्ताक्षर सत्यापित करें"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "हस्ताक्षर सत्यापित करें"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "हस्ताक्षर सत्यापित करने में अक्षम। सार्वजनिक कुंजी स्थापित नहीं की गई"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "इस संदेश पर डिज़िटल हस्ताक्षर मान्य और विश्वयनीय है"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "संदेश डिक्रिप्ट करें"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "ईमेल सुरक्षित"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "फ़ोल्डर बनाने में अक्षम"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "तस्वीर लें"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Dodaj adresu"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Novi email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Odaberi mapu"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Snimanje videa"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Premjesti u Za"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Odaberite e-mail adresu"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Traženje nemoguće"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Pročitano"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dvaput dodirnite za odlazak na vrh popisa kontakata, popisa emailova i email poruka"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Uredi odgovor prije slanja"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Pošalji odgovor"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Nemoj poslati odgovor"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Provjeri potpis"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Provjeri potpis"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nemoguće provjeriti potpis. Javni ključ nije instaliran"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Digitalni potpis u ovoj poruci je valjan i pouzdan"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dešifriraj poruku"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Spremi email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Nemoguće napraviti mapu"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Fotografiraj"
+
msgstr "Egész üzenet letöltése"
msgid "IDS_EMAIL_BODY_GENERAL_SETTINGS"
-msgstr "Ált. beállítások"
+msgstr "Általános beállítások"
msgid "IDS_EMAIL_BODY_TENTATIVE_C_PS"
msgstr "Feltételes: %s"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Cím hozzáadása"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Új e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Mappa kiválasztása"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Videó rögzítése"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Áthelyezés a Címzett mezőbe"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Válasszon e-mail címet"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Nem sikerült keresni"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Elolvasva"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dupla érintéssel a névjegyzékek, e-mail listák, illetve e-mail üzenetek tetejére ugorhat"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Válasz szerkesztése küldés előtt"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Válasz küldése most"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Nem küld választ"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Aláírás ellenőrzése"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Aláírás ellenőrzése"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nem lehet hitelesíteni az aláírást. Nincs telepítve a nyilvános kulcs"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Az üzenet digitális aláírása érvényes és megbízható"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Üzenet dekódolása"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "E-mail mentése"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Mappa létrehozása sikertelen"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Kép készítése"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Ավելացնել հասցե"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Նոր էլ. փոստ"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Ընտրել թղթապանակ"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Տսհլվկ նկրլ"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Տեղափոխել դեպի Ում"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Ընտրել էլփոստի հասցե"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Անհնար է որոնել"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Ընթերցում"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Կրկնակի թակեք՝ կոնտակտների ցանկերի վերնամաս, էլ-նամակների ցանկեր և էլեկտրոնային հաղորդագրություններ գնալու համար"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Խմբագրել պատասխանը նախքան ուղարկելը"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Ուղարկել պատասխանը հիմա"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Պատասխան չուղարկել"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Ստուգել ստորագրթյուն"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Ստուգել ստորագրությունը"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Անհնար է ստուգել ստորագրությունը: Բաց բանալին տեղադրված չէ"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Այս հաղորդագրության թվային ստորագրությունը վավեր և վստահելի է"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Վերծանել հղգրթյունը"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Պահպանել էլ-նամակը"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Անհնար է ստեղծել ծրար"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Լուսանկարել"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Bæta við heimilisfangi"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nýr póstur"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Velja möppu"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Taka upp vídeó"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Færa í Til"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Veldu netfang"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Mistókst að leita"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lesið"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Tvípikkaðu til að fara efst í tengiliðalista, lista yfir tölvupóst og í meginmáli"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Breyta svari fyrir sendingu"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Senda svar núna"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ekki senda svar"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Staðf. undirskrift"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Staðfesta undirskrift"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Mistókst að sannvotta undirritun. Almennur lykill er ekki uppsettur"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Stafræn undirskrift þessa skeytis er gild og henni er treyst"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Afkóða skilaboð"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Vista netfang"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Ekki tókst að búa til möppu"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Taka mynd"
+
msgstr "Impossibile allegare file"
msgid "IDS_EMAIL_OPT_CALENDAR"
-msgstr "Agenda"
+msgstr "Calendario"
msgid "IDS_EMAIL_OPT_MEMO"
msgstr "Promemoria"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Aggiungi indirizzo"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nuova e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Seleziona cartella"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Registra video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Sposta in A"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Seleziona indirizzo e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Ricerca impossibile"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Letto"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toccate due volte per tornare all'inizio degli elenchi contatti, degli elenchi e-mail e dei messaggi e-mail"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Modifica risposta prima dell'invio"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Invia risposta subito"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Non inviare risposta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verifica firma"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verifica firma"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Impossibile verificare la firma. La chiave pubblica non è installata"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "La firma digitale su questo messaggio è valida e attendibile"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Decrittografa msg"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Salva e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Impossibile creare cartella"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Scatta foto"
+
msgstr "アカウント名"
msgid "IDS_EMAIL_BODY_ATTACHMENTS"
-msgstr "ファイル添付"
+msgstr "添付"
msgid "IDS_EMAIL_BODY_FROM_C"
msgstr "発信元:"
msgstr "送信元"
msgid "IDS_EMAIL_BODY_NO_ADDRESS"
-msgstr "アドレスはありません"
+msgstr "アドレスがありません。"
msgid "IDS_EMAIL_OPT_RECORD_SOUND"
msgstr "ボイスレコーダー起動"
msgstr "ミーティングリクエスト"
msgid "IDS_EMAIL_OPT_ATTACHMENTS"
-msgstr "ファイル添付"
+msgstr "添付"
msgid "IDS_EMAIL_HEADER_FOLDERS"
msgstr "フォルダ"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "アドレス追加"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "新規Eメール"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "フォルダ選択"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "動画撮影"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "宛先に移動"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Eメールアドレスを選択"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "検索できません。"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "既読"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "連絡先リスト、EメールリストおよびEメールメッセージのトップに移動するには、ダブルタップしてください。"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "送信前に返信内容を編集"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "今すぐ返信"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "返信しない"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "署名を認証"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "署名を認証"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "署名を認証できません。公開キーがインストールされていません。"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "このメッセージのデジタル署名は有効かつ、信頼できます。"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "メッセージを復号"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Eメールを保存"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "フォルダを作成できません。"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "カメラ撮影"
+
msgstr "გამგზავნი"
msgid "IDS_EMAIL_OPT_SEND_EMAIL"
-msgstr "ელ.წერილის გაგზავნა"
+msgstr "ელ. წერილის გაგზავნა"
msgid "IDS_EMAIL_OPT_UPDATE_EXISTING"
msgstr "არსებულის განახლება"
msgstr "ელ.ფოსტის მისამართის შეცვლა"
msgid "IDS_EMAIL_OPT_CLIPBOARD"
-msgstr "ბუფერული მეხსიერება"
+msgstr "ბუფერული მეხს."
msgid "IDS_EMAIL_OPT_VIEW_CONTACT_DETAILS"
msgstr "საკონტაქტო მონაცემების დათვალიერება"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "მისამართის დამატება"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "ახალი ელ.წერილი"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "აირჩიეთ საქაღალდე"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "ვიდეოს გადაღება"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "გადასვლა ველზე ”ვის”"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "აირჩიეთ ელ.ფოსტის მისამართი"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "ვერ იძებნება"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "წაკითხვა"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "ორჯერ შეხებით გადახვალთ კონტაქტების სიების თავში, ელფოსტების სიებში და ელფოსტის წერილებში"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "შეასწორეთ პასუხი, სანამ გაგზავნით"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "გაგზავნეთ პასუხი ახლა"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "არ გაგზავნოთ პასუხი"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "ხელმოწერის დამოწმება"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "ხელმოწერის დამოწმება"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "ხელმოწერა ვერ დადასტურდა. საჯარო კოდი არ არის დაინსტალირებული"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "ამ წერილში ციფრული ხელმოწერა ქმედითი და სანდოა"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "წერილის გაშიფვრა"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "ელ.წერილის შენახვა"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "ვერ შექმნით საქაღალდეს"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "სურათის გადაღება"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Мекенжайды қосу"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Жаңа email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Қалта таңдау"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Видео бөгеліс"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "'Кімге' жолына ауыстыру"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Электрондық пошта мекенжайын таңдаңыз"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Іздеу мүмкін емес"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Оқу"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Контактілер тізімінің, электрондық пошта тізімінің және электрондық пошта хабарларының жоғарғы жағына өту үшін екі рет түртіңіз"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Жібермес бұрын жауапты өзгерту"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Қазір жауап жіберу"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Жауап жібермеу"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Қолтаңбаны тексеру"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Қолтаңбаны тексеру"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Қолтаңбаны тексеру мүмкін емес. Ашық кілт орнатылмаған"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Бұл хабардағы сандық қолтаңба жарамды әрі сенімді"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Хабарды шифрсыздан-у"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Элек. хабар сақтау"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Қалта құрылмады"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Суретке түсіру"
+
msgstr "날짜(오래된순)"
msgid "IDS_EMAIL_OPT_SENDER_HA_TO_Z"
-msgstr "발신인(오름차순)"
+msgstr "발신인(가나다순)"
msgid "IDS_EMAIL_OPT_SENDER_HZ_TO_A"
-msgstr "발신인(내림차순)"
+msgstr "발신인(가나다역순)"
msgid "IDS_EMAIL_OPT_READ_UNREAD"
msgstr "읽음/읽지 않음"
msgstr "전체"
msgid "IDS_EMAIL_OPT_RECIPIENT_HA_TO_Z"
-msgstr "받는 사람(오름차순)"
+msgstr "받는 사람(가나다순)"
msgid "IDS_EMAIL_OPT_RECIPIENT_HZ_TO_A"
-msgstr "받는 사람(내림차순)"
+msgstr "받는 사람(가나다역순)"
msgid "IDS_EMAIL_HEADER_SEARCH_SHAREPOINT"
msgstr "SharePoint 검색"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "주소 추가"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "새 이메일"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "폴더 선택"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "동영상 촬영"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "수신인으로 이동"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "이메일 주소를 선택하세요"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "검색할 수 없습니다"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "읽음"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "연락처 목록, 이메일 목록 및 이메일 메시지의 맨 위로 이동하려면 두 번 누르세요"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "전송하기 전에 응답 편집"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "지금 응답 전송"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "응답 보내지 않음"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "서명 확인"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "서명 확인"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "서명을 인증할 수 없습니다. 공개키가 설치되어 있지 않습니다"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "이 메시지의 전자 서명은 유효하며 신뢰할 수 있습니다"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "메시지 암호화 해제"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "이메일 저장"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "폴더를 생성할 수 없습니다"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "사진 촬영"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Pridėti adresą"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Naujas el. laiškas"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Pasirinkite aplanką"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Filmuoti vaizdo įrašą"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Perkelti į „Kam“"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Pasirinkti el. pašto adresą"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Neįmanoma ieškoti"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Skaityti"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Bakstelėkite dukart, kad pereitumėte į adresatų sąrašo, el. laiškų sąrašo ir el. laiškų pradžią"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Redaguoti atsakymą prieš siunčiant"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Siųsti atsakymą dabar"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Nesiųsti atsakymo"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Patvirtinti parašą"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Patvirtinti parašą"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Neįmanoma patvirtinti parašo. Viešasis raktas neįdiegtas"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Skaitmeninis parašas šioje žinutėje yra galiojantis ir patikimas"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Iššifruoti žinutę"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Išsaugoti el. laišką"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Neįmanoma sukurti aplanko"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Fotografuoti"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adreses pievienošana"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Jauna e-pasta ziņa"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Mapes izvēle"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Uzņemt videoklipu"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Pārvietot uz Kam"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Izvēlēties e-pasta adresi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Nevar meklēt"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lasīta"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Veiciet dubultskārienu, lai dotos uz kontaktu saraksta, e-pastu saraksta un e-pasta ziņu saraksta sākumu"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Rediģēt atbildi pirms sūtīšanas"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Sūtīt atbildi tagad"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Nesūtīt atbildi"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verificēt parakstu"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verificēt parakstu"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nevar verificēt parakstu. Nav instalēta publiskā atslēga"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Šīs ziņas ciparparaksts ir derīgs un uzticams"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Atšifrēt ziņu"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Saglabāt e-pastu"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Nevar izveidot mapi"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Fotografēt"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Додај адреса"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Нова email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Одбери папка"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Сними видео"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Премести во До"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Изберете адреса за email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Не може да се пребара"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Читање"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Допрете двапати да одите најгоре во листата контакти, листата е-пошта и пораки"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Измени одговор пред праќање"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Прати одговор веднаш"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Не праќај одговор"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Потврди потпис"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Потврди потпис"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Не може да се потврди потписот. Не е инсталиран јавен клуч"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Дигиталниот потпис на оваа порака е важечки и доверлив"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Дешифрирај порака"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Сочувај email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Не може да се направи папка"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Сликај"
+
--- /dev/null
+msgid "IDS_EMAIL_BODY_ACCOUNT"
+msgstr "Konto"
+
+msgid "IDS_EMAIL_BODY_B"
+msgstr "B"
+
+msgid "IDS_EMAIL_BODY_BYTE"
+msgstr "Byte"
+
+msgid "IDS_EMAIL_BODY_GB"
+msgstr "GB"
+
+msgid "IDS_EMAIL_BODY_IMAP4_PORT"
+msgstr "IMAP4-port"
+
+msgid "IDS_EMAIL_BODY_INCOMING"
+msgstr "Innkommende"
+
+msgid "IDS_EMAIL_BODY_KB"
+msgstr "KB"
+
+msgid "IDS_EMAIL_BODY_MB"
+msgstr "MB"
+
+msgid "IDS_EMAIL_BODY_OUTGOING"
+msgstr "Utgående"
+
+msgid "IDS_EMAIL_BODY_POP3_PORT"
+msgstr "POP3-port"
+
+msgid "IDS_EMAIL_BODY_YOUR_NAME"
+msgstr "Ditt navn"
+
+msgid "IDS_EMAIL_OPT_COPY"
+msgstr "Kopier"
+
+msgid "IDS_EMAIL_OPT_COPY_IMAGE"
+msgstr "Kopier bilde"
+
+msgid "IDS_EMAIL_OPT_CUT"
+msgstr "Klipp ut"
+
+msgid "IDS_EMAIL_OPT_PASTE"
+msgstr "Lim inn"
+
+msgid "IDS_EMAIL_OPT_SAVE_IMAGE"
+msgstr "Lagre bilde"
+
+msgid "IDS_EMAIL_OPT_SELECT"
+msgstr "Velg"
+
+msgid "IDS_EMAIL_OPT_SELECT_ALL"
+msgstr "Merk alt"
+
+msgid "IDS_EMAIL_OPT_SEND_IMAGE_VIA_MESSAGING"
+msgstr "Send bilde via Meldinger"
+
+msgid "IDS_EMAIL_POP_FILE_NAME_EMPTY"
+msgstr "Filnavn tomt"
+
+msgid "IDS_EMAIL_POP_INCORRECT_USER_NAME_OR_PASSWORD"
+msgstr "Feil brukernavn eller passord"
+
+msgid "IDS_EMAIL_POP_SERVER_NOT_AVAILABLE"
+msgstr "Server ikke tilgjengelig"
+
+msgid "IDS_EMAIL_OPT_DOWNLOAD_MESSAGE"
+msgstr "Last ned melding"
+
+msgid "IDS_EMAIL_OPT_TENTATIVE"
+msgstr "Foreløpig"
+
+msgid "IDS_EMAIL_POP_TRY_AGAIN_IN_PD_MINUTES"
+msgstr "Prøv igjen om %d minutter"
+
+msgid "IDS_EMAIL_POP_NO_EMAIL_ADDRESS"
+msgstr "Mangler e-postadresse"
+
+msgid "IDS_EMAIL_BODY_COMPLETE"
+msgstr "Fullført"
+
+msgid "IDS_EMAIL_BODY_ACCEPTED_C_PS"
+msgstr "Godkjent: %s"
+
+msgid "IDS_EMAIL_BODY_DECLINED_C_PS"
+msgstr "Avvist: %s"
+
+msgid "IDS_EMAIL_BODY_DOWNLOAD_FULL_MESSAGE"
+msgstr "Last ned fullstendig melding"
+
+msgid "IDS_EMAIL_BODY_GENERAL_SETTINGS"
+msgstr "Generelle innstillinger"
+
+msgid "IDS_EMAIL_BODY_TENTATIVE_C_PS"
+msgstr "Foreløpig: %s"
+
+msgid "IDS_EMAIL_BODY_WHEN_C_PS"
+msgstr "Når: %s"
+
+msgid "IDS_EMAIL_BODY_WHERE_C_PS"
+msgstr "Hvor: %s"
+
+msgid "IDS_EMAIL_BUTTON_DECLINE_ABB"
+msgstr "Avslå"
+
+msgid "IDS_EMAIL_BODY_ORIGINAL_MESSAGE"
+msgstr "Opprinnelig melding"
+
+msgid "IDS_EMAIL_HEADER_ACCOUNT_SETTINGS"
+msgstr "Kontoinnstillinger"
+
+msgid "IDS_EMAIL_OPT_BLOCK"
+msgstr "Blokker"
+
+msgid "IDS_EMAIL_OPT_MARK_AS_READ"
+msgstr "Marker som lest"
+
+msgid "IDS_EMAIL_OPT_MARK_AS_UNREAD"
+msgstr "Marker som ulest"
+
+msgid "IDS_EMAIL_OPT_OTHERS"
+msgstr "Andre"
+
+msgid "IDS_EMAIL_OPT_UNREAD"
+msgstr "Ulest"
+
+msgid "IDS_EMAIL_SK_COMPOSE"
+msgstr "Opprett"
+
+msgid "IDS_EMAIL_HEADER_DOWNLOAD_FAILED"
+msgstr "Nedlasting mislyktes"
+
+msgid "IDS_EMAIL_OPT_ADD_TO_CONTACT"
+msgstr "Legg til kontakt"
+
+msgid "IDS_EMAIL_OPT_VOICE_CALL"
+msgstr "Taleanrop"
+
+msgid "IDS_EMAIL_BODY_ACCOUNT_NAME"
+msgstr "Kontonavn"
+
+msgid "IDS_EMAIL_BODY_ATTACHMENTS"
+msgstr "Vedlegg"
+
+msgid "IDS_EMAIL_BODY_FROM_C"
+msgstr "Fra:"
+
+msgid "IDS_EMAIL_BODY_IMAP4_SERVER"
+msgstr "IMAP4-server"
+
+msgid "IDS_EMAIL_BODY_INCLUDES"
+msgstr "Inkluderer"
+
+msgid "IDS_EMAIL_BODY_INCOMING_PORT"
+msgstr "Innkommende port"
+
+msgid "IDS_EMAIL_BODY_INCOMING_SERVER"
+msgstr "Innkommende server"
+
+msgid "IDS_EMAIL_BODY_IN_PD_MINUTES"
+msgstr "Om %d minutter"
+
+msgid "IDS_EMAIL_BODY_KEEP_IN_SERVER"
+msgstr "Behold på server"
+
+msgid "IDS_EMAIL_BODY_NO_TEXT"
+msgstr "Ingen tekst"
+
+msgid "IDS_EMAIL_BODY_OUTGOING_PORT"
+msgstr "Utgående port"
+
+msgid "IDS_EMAIL_BODY_OUTGOING_SERVER"
+msgstr "Utgående server"
+
+msgid "IDS_EMAIL_BODY_PD_EMAILS"
+msgstr "%d e-poster"
+
+msgid "IDS_EMAIL_BODY_POP3_SERVER"
+msgstr "POP3-server"
+
+msgid "IDS_EMAIL_BODY_RECENT"
+msgstr "Nylige"
+
+msgid "IDS_EMAIL_BODY_RETRIEVING_OPTIONS"
+msgstr "Hentealternativer"
+
+msgid "IDS_EMAIL_BODY_RE_C"
+msgstr "SV:"
+
+msgid "IDS_EMAIL_BODY_SENT_C"
+msgstr "Sendt:"
+
+msgid "IDS_EMAIL_BODY_SENT_FROM_SAMSUNG_MOBILE"
+msgstr "Sendt fra en Samsung Mobil"
+
+msgid "IDS_EMAIL_BODY_USER_PASSWORD"
+msgstr "Brukerpassord"
+
+msgid "IDS_EMAIL_HEADER_EDIT_RULES"
+msgstr "Rediger regler"
+
+msgid "IDS_EMAIL_HEADER_EMAIL_SETTINGS"
+msgstr "E-postinnst."
+
+msgid "IDS_EMAIL_HEADER_MAILBOXES"
+msgstr "Postbokser"
+
+msgid "IDS_EMAIL_POP_ALERT"
+msgstr "Varsling"
+
+msgid "IDS_EMAIL_POP_FILE_ALREADY_EXISTS"
+msgstr "Filen finnes allerede"
+
+msgid "IDS_EMAIL_POP_NO_SENDER"
+msgstr "Ingen avsender"
+
+msgid "IDS_EMAIL_POP_SUCCEEDED"
+msgstr "Fullført"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ATTACH_MAXIMUM_NUMBER_OF_FILES_IS_PD"
+msgstr "Kan ikke legge ved. Maksimalt antall filer er %d"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ATTACH_MAXIMUM_SIZE_OF_FILES_IS_PD_KB"
+msgstr "Kan ikke legge ved. Maksimal filstørrelse er %d kB"
+
+msgid "IDS_EMAIL_POP_VALIDATION_FAILED"
+msgstr "Validering mislyktes"
+
+msgid "IDS_EMAIL_SK_REPLY_ALL"
+msgstr "Svar alle"
+
+msgid "IDS_EMAIL_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_EMAIL_BODY_ADD_MY_NAMECARD"
+msgstr "Legg til mitt visittkort"
+
+msgid "IDS_EMAIL_BODY_ADD_SIGNATURE"
+msgstr "Legg til signatur"
+
+msgid "IDS_EMAIL_BODY_ALL_EMAILS"
+msgstr "Alle e-postmeldinger"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_BCC_MYSELF"
+msgstr "Alltid send blindkopi til meg selv"
+
+msgid "IDS_EMAIL_BODY_BCC"
+msgstr "Bko"
+
+msgid "IDS_EMAIL_BODY_BLOCK_EMAILS"
+msgstr "Blokker e-poster"
+
+msgid "IDS_EMAIL_BODY_BODY"
+msgstr "Brødtekst"
+
+msgid "IDS_EMAIL_BODY_CC"
+msgstr "Kopi"
+
+msgid "IDS_EMAIL_BODY_CC_BCC"
+msgstr "Kopi/Blindkopi"
+
+msgid "IDS_EMAIL_BODY_CHECK_INTERVAL"
+msgstr "Sjekk intervall"
+
+msgid "IDS_EMAIL_BODY_DEFAULT_ACCOUNT"
+msgstr "Standard konto"
+
+msgid "IDS_EMAIL_BODY_DRAFTS"
+msgstr "Utkast"
+
+msgid "IDS_EMAIL_BODY_EMAIL_ACCOUNTS"
+msgstr "E-postkontoer"
+
+msgid "IDS_EMAIL_BODY_END_TIME"
+msgstr "Sluttid"
+
+msgid "IDS_EMAIL_BODY_ENTIRE_EMAIL"
+msgstr "Hel e-post"
+
+msgid "IDS_EMAIL_BODY_EXACTLY_THE_SAME_AS"
+msgstr "Eksakt samme som"
+
+msgid "IDS_EMAIL_BODY_EXAMPLE"
+msgstr "Eksempel"
+
+msgid "IDS_EMAIL_BODY_FROM_M_SENDER"
+msgstr "Fra:"
+
+msgid "IDS_EMAIL_BODY_INBOX"
+msgstr "Innboks"
+
+msgid "IDS_EMAIL_BODY_INCLUDE"
+msgstr "Ta med"
+
+msgid "IDS_EMAIL_BODY_MATCH_CRITERIA"
+msgstr "Avvisningskriterier"
+
+msgid "IDS_EMAIL_BODY_NOT_USED"
+msgstr "Brukes ikke"
+
+msgid "IDS_EMAIL_BODY_NO_ACCOUNTS"
+msgstr "Ingen kontoer"
+
+msgid "IDS_EMAIL_BODY_PD_DAYS"
+msgstr "%d dager"
+
+msgid "IDS_EMAIL_BODY_PD_ITEMS"
+msgstr "%d elementer"
+
+msgid "IDS_EMAIL_BODY_PRIORITY"
+msgstr "Prioritet"
+
+msgid "IDS_EMAIL_BODY_RECEIVING_OPTIONS"
+msgstr "Mottaksalternativer"
+
+msgid "IDS_EMAIL_BODY_SECURE_CONNECTION"
+msgstr "Sikker tilkobling"
+
+msgid "IDS_EMAIL_BODY_SENDING_OPTIONS"
+msgstr "Sendingsalternativer"
+
+msgid "IDS_EMAIL_BODY_SENTBOX"
+msgstr "Sendte meldinger"
+
+msgid "IDS_EMAIL_BODY_SERVER_URL"
+msgstr "Server-URL"
+
+msgid "IDS_EMAIL_BODY_SIGNATURE"
+msgstr "Signatur"
+
+msgid "IDS_EMAIL_BODY_SPAMBOX"
+msgstr "Søppelpost"
+
+msgid "IDS_EMAIL_BODY_START_TIME"
+msgstr "Starttid"
+
+msgid "IDS_EMAIL_BODY_TRASH"
+msgstr "Søppel"
+
+msgid "IDS_EMAIL_BODY_WITHOUT_ATTACHMENTS"
+msgstr "Uten vedlegg"
+
+msgid "IDS_EMAIL_BUTTON_GROUP"
+msgstr "Gruppe"
+
+msgid "IDS_EMAIL_HEADER_ADD_RULES"
+msgstr "Legg til regler"
+
+msgid "IDS_EMAIL_OPT_ATTACH_ITEMS"
+msgstr "Legg ved elementer"
+
+msgid "IDS_EMAIL_OPT_EXCHANGE"
+msgstr "Exchange"
+
+msgid "IDS_EMAIL_OPT_FILE"
+msgstr "Fil"
+
+msgid "IDS_EMAIL_OPT_NAMECARD"
+msgstr "Visittkort"
+
+msgid "IDS_EMAIL_OPT_OPEN_URL"
+msgstr "Åpne URL"
+
+msgid "IDS_EMAIL_OPT_SENDER"
+msgstr "Avsender"
+
+msgid "IDS_EMAIL_OPT_SEND_EMAIL"
+msgstr "Send e-post"
+
+msgid "IDS_EMAIL_OPT_UPDATE_EXISTING"
+msgstr "Oppdater eksisterende"
+
+msgid "IDS_EMAIL_POP_ADD_ACCOUNTS"
+msgstr "Legg til kontoer"
+
+msgid "IDS_EMAIL_POP_DOWNLOADING_ATTACHMENT_ING"
+msgstr "Laster ned vedlegg..."
+
+msgid "IDS_EMAIL_POP_INVALID_EMAIL_ADDRESS"
+msgstr "Ugyldig e-postadresse"
+
+msgid "IDS_EMAIL_POP_LOADING_CONTENTS_ING"
+msgstr "Laster innhold..."
+
+msgid "IDS_EMAIL_POP_MAXIMUM_NUMBER_OF_ATTACHMENTS_REACHED"
+msgstr "Maksimalt antall vedlegg er nådd"
+
+msgid "IDS_EMAIL_POP_MOVE_TO_SPAMBOX_Q"
+msgstr "Flytte til Søppelpost?"
+
+msgid "IDS_EMAIL_POP_NO_RECIPIENTS_ADDED_ENTER_RECIPIENTS"
+msgstr "Ingen mottakere lagt til. Angi mottakere"
+
+msgid "IDS_EMAIL_POP_PLEASE_FILL_ALL_THE_MANDATORY_FIELDS"
+msgstr "Fyll ut alle de obligatoriske feltene"
+
+msgid "IDS_EMAIL_POP_SAVE_IN_DRAFTS_Q"
+msgstr "Lagre i Utkast?"
+
+msgid "IDS_EMAIL_POP_THERE_IS_NO_ACCOUNT_CREATE_A_NEW_ACCOUNT_FIRST"
+msgstr "Det finnes ikke noen konto. Opprett en ny konto først"
+
+msgid "IDS_EMAIL_POP_TOO_MANY_RECIPIENTS"
+msgstr "For mange mottakere"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_DOWNLOAD"
+msgstr "Kan ikke laste ned"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ENTER_TEXT"
+msgstr "Kan ikke angi tekst"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_LAUNCH_APPLICATION"
+msgstr "Kan ikke starte program"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_OPEN_ATTACHMENT"
+msgstr "Kan ikke åpne vedlegg"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SAVE_ATTACHMENT"
+msgstr "Kan ikke lagre vedlegg"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SAVE_IN_DRAFTS"
+msgstr "Kan ikke lagre i Utkast"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEND_EMAIL"
+msgstr "Kan ikke sende e-post"
+
+msgid "IDS_EMAIL_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Filtypen støttes ikke"
+
+msgid "IDS_EMAIL_POP_VALIDATING_ACCOUNT_ING"
+msgstr "Validerer konto..."
+
+msgid "IDS_EMAIL_SK_RESEND"
+msgstr "Send på nytt"
+
+msgid "IDS_EMAIL_BODY_ACCEPT_ALL_SSL_CERTIFICATES"
+msgstr "Godta alle SSL-sertifikater"
+
+msgid "IDS_EMAIL_SK3_ACCOUNT_LIST"
+msgstr "Konto liste"
+
+msgid "IDS_EMAIL_BODY_USER_ID"
+msgstr "Bruker-ID"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_ALREADY_REGISTERED"
+msgstr "Kontoen er allerede registrert"
+
+msgid "IDS_EMAIL_HEADER_ATTACH_FILE"
+msgstr "Legg ved fil"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_ALREADY_EXISTS"
+msgstr "Kontoen finnes allerede"
+
+msgid "IDS_EMAIL_BODY_NO_SUBJECT"
+msgstr "Intet emne"
+
+msgid "IDS_EMAIL_BODY_FROM"
+msgstr "Fra"
+
+msgid "IDS_EMAIL_BODY_NO_ADDRESS"
+msgstr "Ingen adresse"
+
+msgid "IDS_EMAIL_OPT_RECORD_SOUND"
+msgstr "Spill inn lyd"
+
+msgid "IDS_EMAIL_OPT_RECORD_VIDEO"
+msgstr "Spill inn video"
+
+msgid "IDS_EMAIL_OPT_INSERT_IMAGE"
+msgstr "Sett inn bilde"
+
+msgid "IDS_EMAIL_OPT_ADD_TO_CALENDAR"
+msgstr "Legg til kalender"
+
+msgid "IDS_EMAIL_OPT_CHANGE_EMAIL_ADDRESS_ABB"
+msgstr "Endre e-postadresse"
+
+msgid "IDS_EMAIL_OPT_CLIPBOARD"
+msgstr "Utklippstavle"
+
+msgid "IDS_EMAIL_OPT_VIEW_CONTACT_DETAILS"
+msgstr "Vis kontaktinformasjon"
+
+msgid "IDS_EMAIL_POP_SAVED_IN_DRAFTS"
+msgstr "Lagret i Utkast"
+
+msgid "IDS_EMAIL_POP_NETWORK_BUSY"
+msgstr "Nettverk opptatt"
+
+msgid "IDS_EMAIL_POP_LOGIN_ALLOWED_ONLY_EVERY_PD_MINUTES"
+msgstr "Login allowed only every %d minutes"
+
+msgid "IDS_EMAIL_POP_HOST_NOT_FOUND"
+msgstr "Finner ikke vert"
+
+msgid "IDS_EMAIL_POP_HOST_NOT_REACHABLE"
+msgstr "Vert kan ikke nås"
+
+msgid "IDS_EMAIL_POP_NO_SERVICE"
+msgstr "Nettv. mangler"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_FORWARD_DRM_CONTENTS"
+msgstr "Kan ikke videresende DRM-innhold"
+
+msgid "IDS_EMAIL_POP_BLOCKED"
+msgstr "Blokkert"
+
+msgid "IDS_EMAIL_POP_1_EMAIL_SELECTED"
+msgstr "1 e-post valgt"
+
+msgid "IDS_EMAIL_POP_PD_EMAILS_SELECTED"
+msgstr "%d e-poster valgt"
+
+msgid "IDS_EMAIL_POP_1_RECIPIENT_SELECTED"
+msgstr "1 mottaker valgt"
+
+msgid "IDS_EMAIL_POP_PD_RECIPIENTS_SELECTED"
+msgstr "%d mottakere valgt"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ADD_ACCOUNT"
+msgstr "Kan ikke legge til konto"
+
+msgid "IDS_EMAIL_SK3_MOVE_HERE"
+msgstr "Flytt hit"
+
+msgid "IDS_EMAIL_OPT_UNDO"
+msgstr "Angre"
+
+msgid "IDS_EMAIL_OPT_REDO"
+msgstr "Gjør om"
+
+msgid "IDS_EMAIL_OPT_BOLD"
+msgstr "Fet"
+
+msgid "IDS_EMAIL_OPT_ITALIC"
+msgstr "Kursiv"
+
+msgid "IDS_EMAIL_OPT_UNDERLINE"
+msgstr "Understreking"
+
+msgid "IDS_EMAIL_OPT_FONT_SIZE"
+msgstr "Skriftstørrelse"
+
+msgid "IDS_EMAIL_OPT_INDENT"
+msgstr "Sett inn innrykk"
+
+msgid "IDS_EMAIL_OPT_VIEW_BY"
+msgstr "Vis etter"
+
+msgid "IDS_EMAIL_OPT_IMPORTANT"
+msgstr "Viktig"
+
+msgid "IDS_EMAIL_OPT_REFRESH"
+msgstr "Oppdater"
+
+msgid "IDS_EMAIL_POP_MAXIMUM_NUMBER_OF_RECIPIENTS_HPD_REACHED"
+msgstr "Maksimalt antall mottakere (%d) er nådd"
+
+msgid "IDS_EMAIL_BODY_TLS"
+msgstr "TLS"
+
+msgid "IDS_EMAIL_BODY_SSL"
+msgstr "SSL"
+
+msgid "IDS_EMAIL_BODY_POP3"
+msgstr "POP3"
+
+msgid "IDS_EMAIL_BODY_IMAP4"
+msgstr "IMAP4"
+
+msgid "IDS_EMAIL_OPT_VIDEO_CALL"
+msgstr "Videoanrop"
+
+msgid "IDS_EMAIL_OPT_SEND_MESSAGE"
+msgstr "Send melding"
+
+msgid "IDS_EMAIL_OPT_COMPOSE_EMAIL"
+msgstr "Skriv e-post"
+
+msgid "IDS_EMAIL_OPT_OTHER"
+msgstr "Annet"
+
+msgid "IDS_EMAIL_OPT_TAKE_PHOTO"
+msgstr "Ta bilde"
+
+msgid "IDS_EMAIL_OPT_SECURITY"
+msgstr "Sikkerhet"
+
+msgid "IDS_EMAIL_OPT_SIGN"
+msgstr "Signatur"
+
+msgid "IDS_EMAIL_OPT_ENCRYPT"
+msgstr "Krypter"
+
+msgid "IDS_EMAIL_POP_AUTHENTICATION_FAILED"
+msgstr "Godkjenning mislyktes"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Nedlasting avbrutt"
+
+msgid "IDS_EMAIL_POP_SENDING_CANCELLED"
+msgstr "Sending avbrutt"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_EDITED"
+msgstr "Konto redigert"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_LIST_NOT_FOUND"
+msgstr "Finner ikke kontolisten"
+
+msgid "IDS_EMAIL_OPT_COPY_IMAGE_LOCATION"
+msgstr "Kopier bildeplassering"
+
+msgid "IDS_EMAIL_POP_DEVICE_STORAGE_FULL"
+msgstr "Enhetsminnet er fullt"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_ATTACHMENT_Q"
+msgstr "Laste ned vedlegg?"
+
+msgid "IDS_EMAIL_POP_EMAIL_DELETED_FROM_SERVER"
+msgstr "E-post slettet fra serveren"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_ACTIVATE_PDP"
+msgstr "Kunne ikke aktivere PDP"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_ADD_BLOCK_RULE"
+msgstr "Kunne ikke legge til blokkeringsregel"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_MARK_AS_UNREAD"
+msgstr "Kunne ikke merke som ulest"
+
+msgid "IDS_EMAIL_BODY_INCOMING_MAIL_SERVER_TYPE"
+msgstr "Servertype for innkommende e-post"
+
+msgid "IDS_EMAIL_BODY_LOADING_MORE_EMAILS_ING"
+msgstr "Laster inn flere e-poster..."
+
+msgid "IDS_EMAIL_POP_LOG_IN_FAILED"
+msgstr "Pålogging mislyktes"
+
+msgid "IDS_EMAIL_POP_RETRIEVING_ADDRESS_LIST_ING"
+msgstr "Henter adresseliste..."
+
+msgid "IDS_EMAIL_OPT_SEND_IMAGE_VIA_EMAIL"
+msgstr "Send bilde via e-post"
+
+msgid "IDS_EMAIL_BODY_YOU_CAN_USE_EMAIL_ON_YOUR_DEVICE_BY_ADDING_YOUR_ACCOUNT_IF_YOU_DO_NOT_HAVE_AN_EMAIL_ACCOUNT_SIGN_UP_FIRST"
+msgstr "Du kan bruke e-post på enheten ved å legge til kontoen din. Hvis du ikke har en e-postkonto, må du registrere deg for en først"
+
+msgid "IDS_EMAIL_POP_DOWNLOADING_ATTACHMENTS_ON_THE_MOBILE_DEVICE_IS_NOT_ALLOWED_BY_EXCHANGE_SERVER_POLICY"
+msgstr "Nedlasting av vedlegg på mobilenheten er ikke tillatt av Exchange Server-policy"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_DELETE"
+msgstr "Kunne ikke slette"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_MOVE"
+msgstr "Kunne ikke flytte"
+
+msgid "IDS_EMAIL_POP_MARKED_AS_UNREAD"
+msgstr "Markert som ulest"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_ATTACHMENTS_Q"
+msgstr "Laste ned vedlegg?"
+
+msgid "IDS_EMAIL_POP_MAXIMUM_RECIPIENT_EMAIL_LENGTH_EXCEEDED"
+msgstr "Maksimal lengde på e-post for mottaker oversteget"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_CREATION_CANCELLED"
+msgstr "Kontooppretting avbrutt"
+
+msgid "IDS_EMAIL_MBODY_MAILBOX_LIST"
+msgstr "Postboksliste"
+
+msgid "IDS_EMAIL_BODY_MAILBOX_SETUP"
+msgstr "Konfigurering av postkasse"
+
+msgid "IDS_EMAIL_POP_ALREADY_DOWNLOADING_T_HEADER"
+msgstr "Laster allerede ned"
+
+msgid "IDS_EMAIL_POP_CANCELLING_ATTACHMENT_DOWNLOAD_ING"
+msgstr "Avbryter vedleggsnedlastingen..."
+
+msgid "IDS_EMAIL_BODY_SENT_USING_TIZEN_MOBILE"
+msgstr "Sendt fra en TIZEN-mobil"
+
+msgid "IDS_EMAIL_POP_EXCHANGE_ACTIVESYNC_ACCOUNT_NOT_AVAILABLE_NOTI"
+msgstr "Exchange ActiveSync-konto ikke tilgjengelig"
+
+msgid "IDS_EMAIL_BODY_RE"
+msgstr "Svar"
+
+msgid "IDS_EMAIL_BODY_FWD_T_EMAIL_PREFIX_ABB"
+msgstr "Videresend"
+
+msgid "IDS_EMAIL_BODY_EXCHANGE_ACTIVESYNC"
+msgstr "Exchange ActiveSync"
+
+msgid "IDS_EMAIL_BODY_GMAIL"
+msgstr "Gmail"
+
+msgid "IDS_EMAIL_BODY_HOTMAIL"
+msgstr "Hotmail"
+
+msgid "IDS_EMAIL_BODY_AOL"
+msgstr "AOL"
+
+msgid "IDS_EMAIL_BODY_YAHOO_E_MAIL"
+msgstr "Yahoo! e-post"
+
+msgid "IDS_EMAIL_OPT_ADD_ACCOUNTS"
+msgstr "Legg til kontoer"
+
+msgid "IDS_EMAIL_BODY_DOWNLOAD_MESSAGE"
+msgstr "Last ned melding"
+
+msgid "IDS_EMAIL_POP_ALREADY_BLOCKED"
+msgstr "Allerede blokkert"
+
+msgid "IDS_EMAIL_BODY_SEARCH_ON_SERVER"
+msgstr "Søk på server"
+
+msgid "IDS_EMAIL_OPT_RECIPIENT"
+msgstr "Mottaker"
+
+msgid "IDS_EMAIL_OPT_DELETE_ALL"
+msgstr "Slett alle"
+
+msgid "IDS_EMAIL_OPT_RECENT_HPD"
+msgstr "Nylige (%d)"
+
+msgid "IDS_EMAIL_OPT_REPLY_TO_SENDER"
+msgstr "Svar til avsender"
+
+msgid "IDS_EMAIL_HEADER_RECENT_T_HEADER"
+msgstr "Nylige"
+
+msgid "IDS_EMAIL_OPT_CONTACT_DETAILS"
+msgstr "Kontaktinformasjon"
+
+msgid "IDS_EMAIL_OPT_REPLY_TO_ALL"
+msgstr "Svar til alle"
+
+msgid "IDS_EMAIL_BODY_THREADED_LIST"
+msgstr "Trådliste"
+
+msgid "IDS_EMAIL_BODY_SELECT_EMAIL"
+msgstr "Velg e-post"
+
+msgid "IDS_EMAIL_OPT_VIEW_AS"
+msgstr "Vis som"
+
+msgid "IDS_EMAIL_HEADER_BLOCK_EMAILS"
+msgstr "Blokker e-poster"
+
+msgid "IDS_EMAIL_HEADER_DELETE"
+msgstr "Slett"
+
+msgid "IDS_EMAIL_HEADER_DEFAULT_ACCOUNT"
+msgstr "Standard konto"
+
+msgid "IDS_EMAIL_HEADER_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_EMAIL_BODY_SHOW_EMAILS"
+msgstr "Vis e-poster"
+
+msgid "IDS_EMAIL_OPT_DATE"
+msgstr "Dato"
+
+msgid "IDS_EMAIL_HEADER_SEARCH"
+msgstr "Søk"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_OPEN_EMAIL_MESSAGE"
+msgstr "Kan ikke åpne e-postmeldingen"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_COMPOSE_EMAIL_MESSAGE"
+msgstr "Kan ikke skrive e-postmelding"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_START_EMAIL_APPLICATION"
+msgstr "Kunne ikke starte E-postprogram"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SAVE_SUBJECT_EMPTY"
+msgstr "Kan ikke lagre. Emnet er tomt"
+
+msgid "IDS_EMAIL_HEADER_ALL_EMAILS"
+msgstr "Alle e-postmeldinger"
+
+msgid "IDS_EMAIL_HEADER_MAILBOX_SETUP"
+msgstr "Konfigurering av postkasse"
+
+msgid "IDS_EMAIL_HEADER_RETRIEVING_OPTIONS"
+msgstr "Hentealternativer"
+
+msgid "IDS_EMAIL_HEADER_ADD_ACCOUNT"
+msgstr "Legg til konto"
+
+msgid "IDS_EMAIL_HEADER_TEXT_COLOUR"
+msgstr "Tekstfarge"
+
+msgid "IDS_EMAIL_HEADER_TEXT_BACKGROUND_COLOUR"
+msgstr "Tekstbakgrunnsfarge"
+
+msgid "IDS_EMAIL_BODY_ADDRESS"
+msgstr "Adresse"
+
+msgid "IDS_EMAIL_SK_DECLINE"
+msgstr "Avslå"
+
+msgid "IDS_EMAIL_OPT_RESEND"
+msgstr "Send på nytt"
+
+msgid "IDS_EMAIL_OPT_ATTACH_FILE"
+msgstr "Legg ved fil"
+
+msgid "IDS_EMAIL_HEADER_COMPOSE_EMAIL"
+msgstr "Skriv e-post"
+
+msgid "IDS_EMAIL_HEADER_ADD_ACCOUNTS"
+msgstr "Legg til kontoer"
+
+msgid "IDS_EMAIL_OPT_PD_MOST_RECENT_EMAILS"
+msgstr "%d nyeste e-poster"
+
+msgid "IDS_EMAIL_POP_YOU_CAN_ONLY_LOG_IN_ONCE_EVERY_PD_MINUTES"
+msgstr "Du kan bare logge på én gang hvert %d. minutt"
+
+msgid "IDS_EMAIL_BODY_DEFAULT_SENDING_ACCOUNT"
+msgstr "Standard sendekonto"
+
+msgid "IDS_EMAIL_HEADER_DEFAULT_SENDING_ACCOUNT"
+msgstr "Standard sendekonto"
+
+msgid "IDS_EMAIL_BODY_DO_NOT_MATCH_FOLDER_WITH_SERVER"
+msgstr "Ikke match mappe med server"
+
+msgid "IDS_EMAIL_POP_QUERYING_SERVER_INFORMATION_ING"
+msgstr "Ber om serverinformasjon..."
+
+msgid "IDS_EMAIL_POP_SERVER_INFORMATION_QUERY_FAILED_ENTER_SERVER_INFORMATION_MANUALLY"
+msgstr "Forespørsel om serverinformasjon mislyktes. Angi serverinformasjon manuelt"
+
+msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
+msgstr "Sikkerhetspolicy begrenser bruk av POP/IMAP-e-post"
+
+msgid "IDS_EMAIL_OPT_VIEW"
+msgstr "Vis"
+
+msgid "IDS_EMAIL_OPT_COPY_LINK"
+msgstr "Kopier kobling"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_MARK_AS_READ"
+msgstr "Kunne ikke merke som lest"
+
+msgid "IDS_EMAIL_POP_MARKED_AS_READ"
+msgstr "Markert som lest"
+
+msgid "IDS_EMAIL_OPT_COPY_IMAGE_URL"
+msgstr "Kopier bilde-URL"
+
+msgid "IDS_EMAIL_OPT_COPY_URL"
+msgstr "Kopier URL"
+
+msgid "IDS_EMAIL_OPT_MOVE_TO_SPAMBOX"
+msgstr "Flytt til Søppelpost"
+
+msgid "IDS_EMAIL_POP_DISCARD_CURRENT_MESSAGE_Q"
+msgstr "Forkast aktuell melding?"
+
+msgid "IDS_EMAIL_POP_MEETING_REQUEST_DECLINED_MESSAGE_WILL_BE_MOVED_TO_RECYCLE_BIN"
+msgstr "Møteforespørsel avslått. Meldingen blir flyttet til papirkurven"
+
+msgid "IDS_EMAIL_POP_MEETING_REQUEST_TENTATIVELY_ACCEPTED_MESSAGE_WILL_BE_MOVED_TO_RECYCLE_BIN"
+msgstr "Møteforespørsel foreløpig godtatt. Meldingen blir flyttet til papirkurven"
+
+msgid "IDS_EMAIL_POP_MEETING_REQUEST_ACCEPTED_MESSAGE_WILL_BE_MOVED_TO_RECYCLE_BIN"
+msgstr "Møteforespørsel godtatt. Meldingen blir flyttet til papirkurven"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ATTACH_FILE"
+msgstr "Kan ikke legge ved fil"
+
+msgid "IDS_EMAIL_OPT_CALENDAR"
+msgstr "Kalender"
+
+msgid "IDS_EMAIL_OPT_MEMO"
+msgstr "Notat"
+
+msgid "IDS_EMAIL_OPT_TINY_M_TEXTSIZE"
+msgstr "Veldig liten"
+
+msgid "IDS_EMAIL_OPT_SMALL_M_TEXTSIZE"
+msgstr "Liten"
+
+msgid "IDS_EMAIL_OPT_NORMAL_M_TEXTSIZE"
+msgstr "Normal"
+
+msgid "IDS_EMAIL_OPT_LARGE_M_TEXTSIZE"
+msgstr "Stor"
+
+msgid "IDS_EMAIL_OPT_HUGE_M_TEXTSIZE"
+msgstr "Veldig stor"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_CC_BCC_MYSELF"
+msgstr "Alltid send kopi/blindkopi til meg selv"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_CC_MYSELF"
+msgstr "Alltid send kopi til meg selv"
+
+msgid "IDS_EMAIL_BODY_SEND_READ_REPORT"
+msgstr "Send leserapport"
+
+msgid "IDS_EMAIL_OPT_VIEW_MODE"
+msgstr "Visningsmodus"
+
+msgid "IDS_EMAIL_OPT_STANDARD_VIEW"
+msgstr "Standard visning"
+
+msgid "IDS_EMAIL_OPT_CONVERSATION_VIEW"
+msgstr "Samtalevisning"
+
+msgid "IDS_EMAIL_OPT_DATE_HMOST_RECENT"
+msgstr "Dato (nyeste)"
+
+msgid "IDS_EMAIL_OPT_DATE_HOLDEST"
+msgstr "Dato (eldste)"
+
+msgid "IDS_EMAIL_OPT_SENDER_HA_TO_Z"
+msgstr "Avsender (A til Å)"
+
+msgid "IDS_EMAIL_OPT_SENDER_HZ_TO_A"
+msgstr "Avsender (Å til A)"
+
+msgid "IDS_EMAIL_OPT_READ_UNREAD"
+msgstr "Lest/ulest"
+
+msgid "IDS_EMAIL_OPT_FAVOURITES"
+msgstr "Favoritter"
+
+msgid "IDS_EMAIL_HEADER_ALL_ACCOUNTS"
+msgstr "Alle kontoer"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAILS"
+msgstr "Velg e-postmeldinger"
+
+msgid "IDS_EMAIL_BODY_MICROSOFT_EXCHANGE_ACTIVESYNC"
+msgstr "Microsoft Exchange ActiveSync"
+
+msgid "IDS_EMAIL_HEADER_VIEW_MODE_ABB"
+msgstr "Visningsmodus"
+
+msgid "IDS_EMAIL_BODY_NO_EMAILS"
+msgstr "Ingen e-poster"
+
+msgid "IDS_EMAIL_OPT_DOCUMENTS_ABB"
+msgstr "Dokumenter"
+
+msgid "IDS_EMAIL_OPT_ATTACH"
+msgstr "Legg ved"
+
+msgid "IDS_EMAIL_OPT_PRINT"
+msgstr "Skriv ut"
+
+msgid "IDS_EMAIL_OPT_GALLERY"
+msgstr "Galleri"
+
+msgid "IDS_EMAIL_OPT_MY_FILES"
+msgstr "Mine Filer"
+
+msgid "IDS_EMAIL_OPT_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_EMAIL_OPT_INSERT"
+msgstr "Sett inn"
+
+msgid "IDS_EMAIL_BODY_SHOW_IMAGES"
+msgstr "Vis bilder"
+
+msgid "IDS_EMAIL_OPT_SORT_BY"
+msgstr "Sorter etter"
+
+msgid "IDS_EMAIL_OPT_FLAG"
+msgstr "Flagg"
+
+msgid "IDS_EMAIL_OPT_MEETING_REQUEST"
+msgstr "Møteinnkallelse"
+
+msgid "IDS_EMAIL_OPT_ATTACHMENTS"
+msgstr "Vedlegg"
+
+msgid "IDS_EMAIL_HEADER_FOLDERS"
+msgstr "Mapper"
+
+msgid "IDS_EMAIL_OPT_ADD_FOLDER"
+msgstr "Legg til mappe"
+
+msgid "IDS_EMAIL_OPT_TITLE"
+msgstr "Tittel"
+
+msgid "IDS_EMAIL_HEADER_PD_CONVERSATIONS"
+msgstr "%d samtaler"
+
+msgid "IDS_EMAIL_HEADER_SERVER"
+msgstr "Server"
+
+msgid "IDS_EMAIL_OPT_ALL"
+msgstr "Alle"
+
+msgid "IDS_EMAIL_OPT_RECIPIENT_HA_TO_Z"
+msgstr "Mottaker (A til Å)"
+
+msgid "IDS_EMAIL_OPT_RECIPIENT_HZ_TO_A"
+msgstr "Mottaker (Å til A)"
+
+msgid "IDS_EMAIL_HEADER_SEARCH_SHAREPOINT"
+msgstr "Søk i SharePoint"
+
+msgid "IDS_EMAIL_BODY_ENTER_PATH_OF_WINDOWS_SHAREPOINT_SERVICES_OR_WINDOWS_FILE_SHARE_HUNC_TO_ACCESS_DOCUMENTS_REMOTELY"
+msgstr "Angi banen til Windows SharePoint Services eller Windows-fildeling (UNC) for å få tilgang til eksterne dokumenter"
+
+msgid "IDS_EMAIL_OPT_DELETE_FROM_CALENDAR"
+msgstr "Slett fra Kalender"
+
+msgid "IDS_EMAIL_BODY_FLICK_UP_TO_SEARCH_ON_SERVER"
+msgstr "Flikk opp for å søke på server"
+
+msgid "IDS_EMAIL_BODY_FLICK_UP_TO_SEARCH_ON_SERVER_AGAIN"
+msgstr "Flikk opp for å søke på server igjen"
+
+msgid "IDS_EMAIL_BODY_RECENT_EMAILS"
+msgstr "Nylige e-poster"
+
+msgid "IDS_EMAIL_BODY_DELETING_OPTIONS"
+msgstr "Slettealternativer"
+
+msgid "IDS_EMAIL_BODY_FAVOURITES"
+msgstr "Favoritter"
+
+msgid "IDS_EMAIL_BODY_HIGH_M_PRIORITY"
+msgstr "Høy"
+
+msgid "IDS_EMAIL_BODY_NORMAL_M_EMAILPRIORITY"
+msgstr "Normal"
+
+msgid "IDS_EMAIL_BODY_LOW_M_EMAILPRIORITY"
+msgstr "Lav"
+
+msgid "IDS_EMAIL_BODY_MEETING_REQUEST"
+msgstr "Møteinnkallelse"
+
+msgid "IDS_EMAIL_BODY_MEETING_INVITATION"
+msgstr "Møteinvitasjon"
+
+msgid "IDS_EMAIL_OPT_SUGGEST_NEW_TIME_ABB"
+msgstr "Foreslå nytt klokkeslett"
+
+msgid "IDS_EMAIL_BODY_VIEW_IN_CALENDAR"
+msgstr "Vis i Kalender"
+
+msgid "IDS_EMAIL_BODY_SEARCH_EMAIL"
+msgstr "Søk e-post"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_SHOW_THIS_MESSAGE"
+msgstr "Vis alltid denne meldingen"
+
+msgid "IDS_EMAIL_BODY_SEND_EMAIL_FROM_THIS_ACCOUNT_BY_DEFAULT"
+msgstr "Send e-post fra denne kontoen som standard"
+
+msgid "IDS_EMAIL_BODY_SMTP_SERVER"
+msgstr "SMTP-server"
+
+msgid "IDS_EMAIL_OPT_SEARCH"
+msgstr "Søk"
+
+msgid "IDS_EMAIL_OPT_SHARE"
+msgstr "Del"
+
+msgid "IDS_EMAIL_OPT_MESSAGE"
+msgstr "Melding"
+
+msgid "IDS_EMAIL_OPT_EMAIL"
+msgstr "E-post"
+
+msgid "IDS_EMAIL_OPT_FACEBOOK"
+msgstr "Facebook"
+
+msgid "IDS_EMAIL_OPT_TWITTER"
+msgstr "Twitter"
+
+msgid "IDS_EMAIL_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_EMAIL_BODY_SECURITY_OPTIONS"
+msgstr "Sikkerhetsalternativer"
+
+msgid "IDS_EMAIL_HEADER_SECURITY_OPTIONS"
+msgstr "Sikkerhetsalternativer"
+
+msgid "IDS_EMAIL_BODY_ENCRYPTION_ALGORITHM"
+msgstr "Kryperingsalgoritme"
+
+msgid "IDS_EMAIL_BODY_SIGN_ALGORITHM"
+msgstr "Signaturalgoritme"
+
+msgid "IDS_EMAIL_BODY_EMAIL_CERTIFICATE"
+msgstr "E-postsertifikat"
+
+msgid "IDS_EMAIL_BODY_SUNDAY"
+msgstr "Søndag"
+
+msgid "IDS_EMAIL_BODY_MONDAY"
+msgstr "Mandag"
+
+msgid "IDS_EMAIL_BODY_TUESDAY"
+msgstr "Tirsdag"
+
+msgid "IDS_EMAIL_BODY_WEDNESDAY"
+msgstr "Onsdag"
+
+msgid "IDS_EMAIL_BODY_THURSDAY"
+msgstr "Torsdag"
+
+msgid "IDS_EMAIL_BODY_FRIDAY"
+msgstr "Fredag"
+
+msgid "IDS_EMAIL_BODY_SATURDAY"
+msgstr "Lørdag"
+
+msgid "IDS_EMAIL_BODY_OTHER"
+msgstr "Annet"
+
+msgid "IDS_EMAIL_BODY_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_DECRYPT_MESSAGE"
+msgstr "Kan ikke dekryptere melding"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_DECRYPT_MESSAGE_CERTIFICATE_NOT_INSTALLED"
+msgstr "Kan ikke dekryptere melding. Sertifikat ikke installert"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SIGN_OR_ENCRYPT_MESSAGE_CERTIFICATE_NOT_INSTALLED"
+msgstr "Kan ikke signere eller kryptere melding. Sertifikat ikke installert"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_MORE_DETAILS_TO_SHOW_S_MIME_MESSAGES_CONTINUE_Q"
+msgstr "Last ned mer informasjon for å vise S/MIME-meldinger. Fortsette?"
+
+msgid "IDS_EMAIL_BODY_LAST_WEEK"
+msgstr "Siste uke"
+
+msgid "IDS_EMAIL_BODY_PD_WEEKS_AGO"
+msgstr "%d uker siden"
+
+msgid "IDS_EMAIL_BODY_READ"
+msgstr "Lese"
+
+msgid "IDS_EMAIL_BODY_UNREAD"
+msgstr "Ulest"
+
+msgid "IDS_EMAIL_BODY_CLEAR"
+msgstr "Slett"
+
+msgid "IDS_EMAIL_BODY_MANUAL_SETUP"
+msgstr "Manuelt oppsett"
+
+msgid "IDS_EMAIL_BODY_OLDER_M_HISTORY"
+msgstr "Eldre"
+
+msgid "IDS_EMAIL_HEADER_CHECKING"
+msgstr "Kontrollerer"
+
+msgid "IDS_EMAIL_POP_THIS_ATTACHMENT_CANNOT_BE_DISPLAYED"
+msgstr "Kan ikke vise vedlegg"
+
+msgid "IDS_EMAIL_BODY_SERVER"
+msgstr "Server"
+
+msgid "IDS_EMAIL_BODY_ADD_ACCOUNT"
+msgstr "Legg til konto"
+
+msgid "IDS_EMAIL_BODY_REMOVE_EVENT_FROM_CALENDAR"
+msgstr "Fjern hendelse fra Kalender"
+
+msgid "IDS_EMAIL_POP_GETTING_RECIPIENTS_CERTIFICATES_ING"
+msgstr "Henter mottakersertifikater..."
+
+msgid "IDS_EMAIL_POP_VALIDATING_CERTIFICATES_ING"
+msgstr "Validerer sertifikater..."
+
+msgid "IDS_EMAIL_HEADER_CERTIFICATES"
+msgstr "Sertifikater"
+
+msgid "IDS_EMAIL_POP_FOLLOWING_RECIPIENTS_HAVE_INVALID_CERTIFICATES"
+msgstr "Følgende mottakere har ugyldige sertifikater"
+
+msgid "IDS_EMAIL_POP_VERIFYING_SIGNATURE_ING"
+msgstr "Bekrefter signatur ..."
+
+msgid "IDS_EMAIL_BODY_ADVANCED"
+msgstr "Avansert"
+
+msgid "IDS_EMAIL_BODY_SEARCH_BY"
+msgstr "Søk etter"
+
+msgid "IDS_EMAIL_BODY_WINDOWS_LIVE_HOTMAIL"
+msgstr "Windows Live Hotmail"
+
+msgid "IDS_EMAIL_BODY_DELETE_ALL_Q"
+msgstr "Slette alle?"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO"
+msgstr "Flytt til"
+
+msgid "IDS_EMAIL_BODY_TOTAL_EMAILS"
+msgstr "Totalt antall e-poster"
+
+msgid "IDS_EMAIL_BODY_HEADER_ONLY"
+msgstr "Bare meldingshode"
+
+msgid "IDS_EMAIL_BODY_PHONE_AND_SERVER"
+msgstr "Telefon og server"
+
+msgid "IDS_EMAIL_BODY_PHONE_ONLY"
+msgstr "Bare telefon"
+
+msgid "IDS_EMAIL_BODY_USE_SAME_USERNAME_PASSWORD_AS_POP3_IMAP4"
+msgstr "Bruk samme brukernavn/passord som POP3/IMAP4"
+
+msgid "IDS_EMAIL_BODY_USE_POP3_IMAP4_BEFORE_SMTP"
+msgstr "Bruk POP3/IMAP4 før SMTP"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_VALIDATE_ACCOUNT_CHECK_EMAIL_ADDRESS_AND_PASSWORD"
+msgstr "Kunne ikke validere konto. Kontroller e-postadresse og passord"
+
+msgid "IDS_EMAIL_BODY_SMTP_PORT"
+msgstr "SMTP-port"
+
+msgid "IDS_EMAIL_BODY_SHOW_PASSWORD"
+msgstr "Vis passord"
+
+msgid "IDS_EMAIL_BODY_LAST_MONTH"
+msgstr "Forrige måned"
+
+msgid "IDS_EMAIL_BODY_1_WEEK_AGO"
+msgstr "1 uke siden"
+
+msgid "IDS_EMAIL_OPT_LOG_IN"
+msgstr "Logg inn"
+
+msgid "IDS_EMAIL_BODY_FORWARD_WITH_FILES"
+msgstr "Videresend med filer"
+
+msgid "IDS_EMAIL_BODY_REPLY_WITH_BODY"
+msgstr "Svar med brødtekst"
+
+msgid "IDS_EMAIL_BODY_SAVE_ALL"
+msgstr "Lagre alle"
+
+msgid "IDS_EMAIL_OPT_NEW_MEETING_INVITATION"
+msgstr "Ny møteinvitasjon"
+
+msgid "IDS_EMAIL_OPT_MEETING_INVITATION"
+msgstr "Møteinvitasjon"
+
+msgid "IDS_EMAIL_HEADER_REPLY_ABB"
+msgstr "Svar"
+
+msgid "IDS_EMAIL_OPT_TO_SENDER_ABB"
+msgstr "Til avsender"
+
+msgid "IDS_EMAIL_OPT_TO_ALL_ABB"
+msgstr "Til alle"
+
+msgid "IDS_EMAIL_OPT_ADD_CC_BCC"
+msgstr "Legg til Kopi/Blindkopi"
+
+msgid "IDS_EMAIL_OPT_MOVE_TO_CC"
+msgstr "Flytt til Kopi"
+
+msgid "IDS_EMAIL_OPT_MOVE_TO_BCC"
+msgstr "Flytt til Blindkopi"
+
+msgid "IDS_EMAIL_OPT_VIEW_CONTACT"
+msgstr "Vis kontakter"
+
+msgid "IDS_EMAIL_HEADER_ATTACH_ABB"
+msgstr "Vedlegg"
+
+msgid "IDS_EMAIL_HEADER_MOVE_TO"
+msgstr "Flytt til"
+
+msgid "IDS_EMAIL_HEADER_SEARCH_BY"
+msgstr "Søk etter"
+
+msgid "IDS_EMAIL_OPT_ADVANCED"
+msgstr "Avansert"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_NOT_VALID_AND_IS_NOT_TRUSTED"
+msgstr "Den digitale signaturen på denne meldingen er ikke gyldig og er ikke pålitelig"
+
+msgid "IDS_EMAIL_POP_CONNECTION_ERROR"
+msgstr "Tilkoblingsfeil"
+
+msgid "IDS_EMAIL_BODY_EVERY_30_MINUTES"
+msgstr "Hvert 30. minutt"
+
+msgid "IDS_EMAIL_BODY_EVERY_PD_HOURS"
+msgstr "Hver %d. time"
+
+msgid "IDS_EMAIL_BODY_ONCE_A_DAY"
+msgstr "Én gang om dagen"
+
+msgid "IDS_EMAIL_POP_CERTIFICATE_DOES_NOT_MATCH_EMAIL_ADDRESS"
+msgstr "Sertifikat samsvarer ikke med e-postadresse"
+
+msgid "IDS_EMAIL_BODY_ENCRYPT"
+msgstr "Krypter"
+
+msgid "IDS_EMAIL_BODY_SIGN"
+msgstr "Signatur"
+
+msgid "IDS_EMAIL_POP_DECRYPTING_MESSAGE_ING"
+msgstr "Dekrypterer melding..."
+
+msgid "IDS_EMAIL_BODY_1_MONTH_AGO"
+msgstr "1 måned siden"
+
+msgid "IDS_EMAIL_OPT_ACCEPT"
+msgstr "Godta"
+
+msgid "IDS_EMAIL_OPT_DECLINE"
+msgstr "Avslå"
+
+msgid "IDS_EMAIL_BODY_ALL_ACCOUNTS"
+msgstr "Alle kontoer"
+
+msgid "IDS_EMAIL_HEADER_SORT_BY"
+msgstr "Sorter etter"
+
+msgid "IDS_EMAIL_SK_SORT_BY"
+msgstr "Sorter"
+
+msgid "IDS_EMAIL_SK_DELETE_ALL"
+msgstr "Slett alle"
+
+msgid "IDS_EMAIL_SK_MOVE"
+msgstr "Flytt"
+
+msgid "IDS_EMAIL_SK_BLOCK"
+msgstr "Sperr"
+
+msgid "IDS_EMAIL_SK_CREATE_FOLDER"
+msgstr "Lag mappe"
+
+msgid "IDS_EMAIL_HEADER_CREATE_FOLDER"
+msgstr "Opprett mappe"
+
+msgid "IDS_EMAIL_POP_FOLDER_NAME"
+msgstr "Mappenavn"
+
+msgid "IDS_EMAIL_OPT_REPLY"
+msgstr "Svar"
+
+msgid "IDS_EMAIL_OPT_FORWARD"
+msgstr "Videresend"
+
+msgid "IDS_EMAIL_OPT_SHARE_VIA_EMAIL"
+msgstr "Del via e-post"
+
+msgid "IDS_EMAIL_OPT_OPEN"
+msgstr "Åpne"
+
+msgid "IDS_EMAIL_OPT_RECORD_AUDIO"
+msgstr "Spill inn lyd"
+
+msgid "IDS_EMAIL_HEADER_SECURITY"
+msgstr "Sikkerhet"
+
+msgid "IDS_EMAIL_BODY_PD_ATTACHMENTS"
+msgstr "%d vedlegg"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_OPEN_FILE"
+msgstr "Kan ikke åpne fil"
+
+msgid "IDS_EMAIL_POP_RETRIEVING_ING"
+msgstr "Henter..."
+
+msgid "IDS_EMAIL_BODY_SYNC_SCHEDULE"
+msgstr "Synkroniser oppføringer"
+
+msgid "IDS_EMAIL_BODY_EVERY_PD_MINUTES"
+msgstr "Hvert %d minutt"
+
+msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
+msgstr "Legg til adresse"
+
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Ny e-post"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Velg mappe"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Ta opp video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Flytt til Til"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Velg e-postadresse"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Søking mislyktes"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lest"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dobbeltrykk for å gå til toppen av kontaktlistene, e-postlistene og e-postmeldingene"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Rediger svar før sending"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Send svar nå"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ikke send svar"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Bekreft signatur"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Bekreft signatur"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Kan ikke bekrefte signatur. Offentlig nøkkel er ikke installert"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Den digitale signaturen på denne meldingen er gyldig og pålitelig"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dekrypter melding"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Lagre e-post"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Kan ikke opprette mappe"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Ta bilde"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adres toevoegen"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nieuwe e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Map selecteren"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Video opnemen"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Verplaatsen naar Aan"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "E-mailadres selecteren"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Kan niet zoeken"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Gelezen"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dubbeltik om naar het begin van contactenlijsten, e-maillijsten of e-mailberichten te gaan"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Reactie bewerken voor verzenden"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Reactie nu verzenden"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Geen reactie verzenden"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Handtek. controleren"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Handtekening controleren"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Kan handtekening niet controleren. Openbare sleutel is niet geïnstalleerd"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "De digitale handtekening op dit bericht is geldig en vertrouwd"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Bericht decoderen"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "E-mail opslaan"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Kan map niet maken"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Foto maken"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Dodaj adres"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr ": Nowy e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Wybierz katalog"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Nagraj video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Przenieś do Do"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Wybierz adres e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Nie można wyszukać"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Przeczytano"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dotknij dwukrotnie, aby przejść na górę list kontaktów, adresów i wiadomości e-mail"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Edytuj odpowiedź przed wysłaniem"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Wyślij odpowiedź teraz"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Nie wysyłaj odpowiedzi"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Weryfikuj podpis"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Weryfikuj podpis"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nie można zweryfikować podpisu. Nie zainstalowano klucza publicznego"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Podpis cyfrowy w tej wiadomości jest prawidłowy i należy do zaufanych"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Odszyfruj wiadomość"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Zapisz wiadomość"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Nie można utworzyć katalogu"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Zrób zdjęcie"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adicionar endereço"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Novo e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Selecionar pasta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Gravar vídeo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mover para Para"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Selecionar endereço de e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Impossível procurar"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Lida"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toque duas vezes para ir para o topo das listas de contatos, listas de e-mail e mensagens de e-mail"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editar resposta antes de enviar"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Enviar resposta agora"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Não enviar resposta agora"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verificar assinatura"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verificar assinatura"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Não é possível verificar a assinatura. A chave Pública não está instalada"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "A assinatura digital nesta mensagem é válida e confiável"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Decodificar mensagem"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Salvar e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Impossível criar pasta"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Tirar foto"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adicionar endereço"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Novo e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Seleccionar pasta"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Capturar vídeo"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mover para Para"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Seleccionar endereço de e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Impossível procurar"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Ler"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Toque duas vezes para ir para o início de listas de contactos, listas de e-mails e mensagens de e-mail"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editar a resposta antes de enviar"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Enviar resposta agora"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Não enviar resposta"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verificar assinatura"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verificar assinatura"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Impossível verificar a assinatura. A chave pública não está instalada"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "A assinatura digital desta mensagem é válida e fidedigna"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Desencript. mensagem"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Guardar e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Impossível criar pasta"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Tirar fotografia"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adăugare adresă"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Email nou"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Selectare folder"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Captură video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Mutare la Către"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Selectare adresă de e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Imposibil de căutat"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Citit"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Atingeţi de două ori pentru a vă deplasa la începutul listei de contacte, al listei de e-mailuri şi al mesajelor de e-mail"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Editare răspuns înainte de trimitere"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Trimitere răspuns imediat"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Nu se trimite răspunsul"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verificaţi semnătura"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verificaţi semnătura"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nu se poate verifica semnătura. Cheia publică nu este instalată"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Semnătura digitală de pe acest mesaj este validă şi acreditată"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Decriptaţi mesajul"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Salvare e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Imposibil de creat folderul"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Fotografiere"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Добавить адрес"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Новое сообщение E-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Выберите папку"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Записать видео"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Переместить в"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Выберите адрес электронной почты"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Не удалось выполнить поиск"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Прочитано"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Коснитесь дважды для перехода в начало списка контактов, адресов электронной почты или сообщений"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Изменить ответ перед отправкой"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Отправить ответ"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Не отправлять ответ"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Проверить подпись"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Проверить подпись"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Не удалось проверить подпись. Открытый ключ не установлен"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Цифровая подпись данного сообщения является верной и надежной"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Расшифров. сообщение"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Сохранить эл. почту"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Невозможно создать папку"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Сделать снимок"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Pridať adresu"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nový e-mail"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Vybrať priečinok"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Snímať video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Premiestniť do poľa Adresát"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Vyberte e-mailovú adresu"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Nedá sa nájsť"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Prečítané"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dvojitým ťuknutím môžete prejsť na začiatok zoznamu kontaktov, e-mailov a e-mailových správ"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Pred odoslaním upraviť odpoveď"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Odoslať odpoveď teraz"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Neodoslať odpoveď"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Overiť podpis"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Overiť podpis"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nedá sa overiť podpis. Verejný kľúč nie je nainštalovaný"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Digitálny podpis v tejto správe je platný a dôveryhodný"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dešifrovať správu"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Uložiť e-mail"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Nedá sa vytvoriť priečinok"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Odfotografovať"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Dodaj naslov"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nova e-pošta"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Izberi mapo"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Posnemi video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Premakni v polje Za"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Izberite e-poštni naslov"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Iskanje ni mogoče"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Prebrano"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dvakrat pritisnite, če se želite premakniti na vrh seznamov stikov, seznamov e-pošte in e-poštnih sporočil"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Pred pošiljanjem uredi odgovor"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Pošlji odgovor"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ne pošlji odgovora"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Preveri podpis"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Preveri podpis"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Podpisa ni mogoče preveriti. Javni ključ ni nameščen"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Digitalni podpis v tem sporočilu je veljaven in je zaupanja vreden"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dešifriraj sporočilo"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Shrani e-pošto"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Mape ni mogoče ustvariti"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Posnemi sliko"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Dodaj adresu"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Nova e-poruka"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Izaberi folder"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Snimi video zapis"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Premesti u „Za“"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Izaberi adresu e-pošte"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Nemoguće pretraživati"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Pročitano"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dvaput kucni za odlazak na vrh listi kontakata, slanje listi putem e-pošte ili slanje e-poruka"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Izmeni odgovor pre slanja"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Pošalji odgovor sada"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Ne šalji odgovor"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Potvrdi potpis"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Potvrdi potpis"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Nije moguće potvrditi potpis. Javni ključ nije instaliran"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Digitalni potpis u ovoj poruci je važeći i pouzdan"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Dešifruj poruku"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Sačuvaj e-poruku"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Nemoguće kreirati folder"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Slikaj"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Lägg till adress"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Ny e-post"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Välj mapp"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Spela in video"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Flytta till Till"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Vald e-postadress"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Det går inte att söka"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Läs"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Dubbeltryck för att gå till toppen av kontaktlistan, e-postlistan och e-postmeddelanden"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Redigera svar före sändning"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Skicka svar nu"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Skicka inte svar"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Verifiera signatur"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Verifiera signatur"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Det går inte att verifiera signaturen. Den offentliga nyckeln är inte installerad"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Den digitala signaturen i detta meddelande är giltig och betrodd"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Avkryptera meddel."
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Spara e-post"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Det går inte att skapa mapp"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Ta foto"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Adres ekle"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "yeni E-posta"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Dosya seç"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Video yakala"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Alıcıya taşı"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "E-posta adresi seç"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Aranamıyor"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Oku"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Kişi listeleri, e-posta listeleri ve e-posta mesajlarının başına gitmek için çift dokunun"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Göndermeden önce yanıtı düzenle"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Yanıtı şimdi gönder"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Yanıt gönderme"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "İmzayı doğrula"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "İmzayı doğrula"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "İmza doğrulanamıyor. Genel anahtar yüklü değil"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Bu mesajdaki dijital imza geçerli ve güvenilir"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Mesajın şifrsni çöz"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "E-postayı kaydet"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Klasör oluşturulamıyor"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Resim çek"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "Додати адресу"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Новий Email"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Вибір папки"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Відеозйомка"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Перемістити у поле 'Кому'"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "Вибір адреси Email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Неможливо виконати пошук"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "Прочитане"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Двічі постукайте, щоб перейти вгору списку контактів, списку повідомлень Email або будь-якого повідомлення Email"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Редагувати відповіді перед надсиланням"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Надіслати відповідь зараз"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Не надсилати відповідь"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Перевірка підпису"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Перевірка підпису"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Неможливо перевірити підпис. Відкритий ключ не встановлено"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Цифровий підпис, наявний у цьому повідомленні, є дійсним і підтримується"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Дешифрувати повідом."
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "Зберег. повід. Email"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Неможливо створити папку"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Зробити знімок"
+
--- /dev/null
+msgid "IDS_EMAIL_BODY_ACCOUNT"
+msgstr "Hisob qaydnomasi"
+
+msgid "IDS_EMAIL_BODY_B"
+msgstr "B"
+
+msgid "IDS_EMAIL_BODY_BYTE"
+msgstr "Bayt"
+
+msgid "IDS_EMAIL_BODY_GB"
+msgstr "Gb"
+
+msgid "IDS_EMAIL_BODY_IMAP4_PORT"
+msgstr "IMAP4 port"
+
+msgid "IDS_EMAIL_BODY_INCOMING"
+msgstr "Kiruvchi"
+
+msgid "IDS_EMAIL_BODY_KB"
+msgstr "KB"
+
+msgid "IDS_EMAIL_BODY_MB"
+msgstr "Mb"
+
+msgid "IDS_EMAIL_BODY_OUTGOING"
+msgstr "Chiquvchi"
+
+msgid "IDS_EMAIL_BODY_POP3_PORT"
+msgstr "POP3 porti"
+
+msgid "IDS_EMAIL_BODY_YOUR_NAME"
+msgstr "Sizning ismingiz"
+
+msgid "IDS_EMAIL_OPT_COPY"
+msgstr "Nusxa olish"
+
+msgid "IDS_EMAIL_OPT_COPY_IMAGE"
+msgstr "Suratdan nusxa olish"
+
+msgid "IDS_EMAIL_OPT_CUT"
+msgstr "Qirqish"
+
+msgid "IDS_EMAIL_OPT_PASTE"
+msgstr "Qo‘shib qo‘yish"
+
+msgid "IDS_EMAIL_OPT_SAVE_IMAGE"
+msgstr "Tasvirni saqlash"
+
+msgid "IDS_EMAIL_OPT_SELECT"
+msgstr "Tanlash"
+
+msgid "IDS_EMAIL_OPT_SELECT_ALL"
+msgstr "Barchasini tanlash"
+
+msgid "IDS_EMAIL_OPT_SEND_IMAGE_VIA_MESSAGING"
+msgstr "Xabar yuborish orqali tasvir yuborish"
+
+msgid "IDS_EMAIL_POP_FILE_NAME_EMPTY"
+msgstr "Fayl nomi bo‘sh"
+
+msgid "IDS_EMAIL_POP_INCORRECT_USER_NAME_OR_PASSWORD"
+msgstr "Foydalanuvchi nomi yoki parol noto‘g‘ri"
+
+msgid "IDS_EMAIL_POP_SERVER_NOT_AVAILABLE"
+msgstr "Serverdan foydalanib bo‘lmaydi"
+
+msgid "IDS_EMAIL_OPT_DOWNLOAD_MESSAGE"
+msgstr "Xabar yuklab olish"
+
+msgid "IDS_EMAIL_OPT_TENTATIVE"
+msgstr "Tajribaviy"
+
+msgid "IDS_EMAIL_POP_TRY_AGAIN_IN_PD_MINUTES"
+msgstr "%d daqiqada qayta urinib ko‘ring"
+
+msgid "IDS_EMAIL_POP_NO_EMAIL_ADDRESS"
+msgstr "Elektron pochta manzili yo‘q"
+
+msgid "IDS_EMAIL_BODY_COMPLETE"
+msgstr "Yakunlamoq"
+
+msgid "IDS_EMAIL_BODY_ACCEPTED_C_PS"
+msgstr "Qabul qilindi: %s"
+
+msgid "IDS_EMAIL_BODY_DECLINED_C_PS"
+msgstr "Rad etilgan: %s"
+
+msgid "IDS_EMAIL_BODY_DOWNLOAD_FULL_MESSAGE"
+msgstr "To‘liq xabarni yuklab olish"
+
+msgid "IDS_EMAIL_BODY_GENERAL_SETTINGS"
+msgstr "Umumiy parametrlar"
+
+msgid "IDS_EMAIL_BODY_TENTATIVE_C_PS"
+msgstr "Sinov: %s"
+
+msgid "IDS_EMAIL_BODY_WHEN_C_PS"
+msgstr "Qachon: %s"
+
+msgid "IDS_EMAIL_BODY_WHERE_C_PS"
+msgstr "Qayerda: %s"
+
+msgid "IDS_EMAIL_BUTTON_DECLINE_ABB"
+msgstr "Rad etish"
+
+msgid "IDS_EMAIL_BODY_ORIGINAL_MESSAGE"
+msgstr "Asl xabar"
+
+msgid "IDS_EMAIL_HEADER_ACCOUNT_SETTINGS"
+msgstr "Hisob qaydnomasi parametrlari"
+
+msgid "IDS_EMAIL_OPT_BLOCK"
+msgstr "Bloklash"
+
+msgid "IDS_EMAIL_OPT_MARK_AS_READ"
+msgstr "O‘qilgan sifatida belgilash"
+
+msgid "IDS_EMAIL_OPT_MARK_AS_UNREAD"
+msgstr "O‘qilmagan sifatida belgilash"
+
+msgid "IDS_EMAIL_OPT_OTHERS"
+msgstr "Boshqalar"
+
+msgid "IDS_EMAIL_OPT_UNREAD"
+msgstr "O‘qilmaganlar"
+
+msgid "IDS_EMAIL_SK_COMPOSE"
+msgstr "Yaratish"
+
+msgid "IDS_EMAIL_HEADER_DOWNLOAD_FAILED"
+msgstr "Yuklash bajarilmadi"
+
+msgid "IDS_EMAIL_OPT_ADD_TO_CONTACT"
+msgstr "Kontaktga qo‘shish"
+
+msgid "IDS_EMAIL_OPT_VOICE_CALL"
+msgstr "Ovozli qo‘ng‘iroq"
+
+msgid "IDS_EMAIL_BODY_ACCOUNT_NAME"
+msgstr "Hisob qaydnomasi nomi"
+
+msgid "IDS_EMAIL_BODY_ATTACHMENTS"
+msgstr "Biriktirmalar"
+
+msgid "IDS_EMAIL_BODY_FROM_C"
+msgstr "Kimdan:"
+
+msgid "IDS_EMAIL_BODY_IMAP4_SERVER"
+msgstr "IMAP4 server"
+
+msgid "IDS_EMAIL_BODY_INCLUDES"
+msgstr "O‘z ichiga oladi"
+
+msgid "IDS_EMAIL_BODY_INCOMING_PORT"
+msgstr "Kiruvchi port"
+
+msgid "IDS_EMAIL_BODY_INCOMING_SERVER"
+msgstr "Kiruvchi server"
+
+msgid "IDS_EMAIL_BODY_IN_PD_MINUTES"
+msgstr "%d daqiqada"
+
+msgid "IDS_EMAIL_BODY_KEEP_IN_SERVER"
+msgstr "Serverda saqlash"
+
+msgid "IDS_EMAIL_BODY_NO_TEXT"
+msgstr "Matn yo‘q"
+
+msgid "IDS_EMAIL_BODY_OUTGOING_PORT"
+msgstr "Chiquvchi port"
+
+msgid "IDS_EMAIL_BODY_OUTGOING_SERVER"
+msgstr "Chiquvchi server"
+
+msgid "IDS_EMAIL_BODY_PD_EMAILS"
+msgstr "%d elektron pochta xabari"
+
+msgid "IDS_EMAIL_BODY_POP3_SERVER"
+msgstr "POP3 serveri"
+
+msgid "IDS_EMAIL_BODY_RECENT"
+msgstr "Oxirgi"
+
+msgid "IDS_EMAIL_BODY_RETRIEVING_OPTIONS"
+msgstr "Qayta olish opsiyalari"
+
+msgid "IDS_EMAIL_BODY_RE_C"
+msgstr "JAV:"
+
+msgid "IDS_EMAIL_BODY_SENT_C"
+msgstr "Yuborgan:"
+
+msgid "IDS_EMAIL_BODY_SENT_FROM_SAMSUNG_MOBILE"
+msgstr "Samsung Mobiledan yuborilgan"
+
+msgid "IDS_EMAIL_BODY_USER_PASSWORD"
+msgstr "Foydalanuvchi paroli"
+
+msgid "IDS_EMAIL_HEADER_EDIT_RULES"
+msgstr "Qoidalarni o‘zgartirish"
+
+msgid "IDS_EMAIL_HEADER_EMAIL_SETTINGS"
+msgstr "E-pochta parametri"
+
+msgid "IDS_EMAIL_HEADER_MAILBOXES"
+msgstr "Pochta qutilari"
+
+msgid "IDS_EMAIL_POP_ALERT"
+msgstr "Signal"
+
+msgid "IDS_EMAIL_POP_FILE_ALREADY_EXISTS"
+msgstr "Fayl avvaldan mavjud"
+
+msgid "IDS_EMAIL_POP_NO_SENDER"
+msgstr "Yuboruvchi yo‘q"
+
+msgid "IDS_EMAIL_POP_SUCCEEDED"
+msgstr "Muvaffaqiyatli bajarildi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ATTACH_MAXIMUM_NUMBER_OF_FILES_IS_PD"
+msgstr "Biriktirib bo‘lmaydi. Fayllarning maksimal soni: %d"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ATTACH_MAXIMUM_SIZE_OF_FILES_IS_PD_KB"
+msgstr "Biriktirib bo‘lmaydi. Fayllarning mumkin bo‘lgan maksimal o‘lchami: %d Kb"
+
+msgid "IDS_EMAIL_POP_VALIDATION_FAILED"
+msgstr "Tasdiqlab bo‘lmadi"
+
+msgid "IDS_EMAIL_SK_REPLY_ALL"
+msgstr "Barchaga j/ber."
+
+msgid "IDS_EMAIL_BODY_1_ITEM"
+msgstr "1 element"
+
+msgid "IDS_EMAIL_BODY_ADD_MY_NAMECARD"
+msgstr "Tashrif kartamni qo‘shish"
+
+msgid "IDS_EMAIL_BODY_ADD_SIGNATURE"
+msgstr "Imzo qo‘shish"
+
+msgid "IDS_EMAIL_BODY_ALL_EMAILS"
+msgstr "Barcha elektron pochta xabarlari"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_BCC_MYSELF"
+msgstr "O‘zimga har doim yashirin nusxa yuborish"
+
+msgid "IDS_EMAIL_BODY_BCC"
+msgstr "Yashirin nusxa"
+
+msgid "IDS_EMAIL_BODY_BLOCK_EMAILS"
+msgstr "E-pochtalarni bloklash"
+
+msgid "IDS_EMAIL_BODY_BODY"
+msgstr "Matn"
+
+msgid "IDS_EMAIL_BODY_CC"
+msgstr "Nusxa"
+
+msgid "IDS_EMAIL_BODY_CC_BCC"
+msgstr "Nusxa/Yashirin nusxa"
+
+msgid "IDS_EMAIL_BODY_CHECK_INTERVAL"
+msgstr "Intervalni tekshirish"
+
+msgid "IDS_EMAIL_BODY_DEFAULT_ACCOUNT"
+msgstr "Sukut his/qaydnoma"
+
+msgid "IDS_EMAIL_BODY_DRAFTS"
+msgstr "Qoralamalar"
+
+msgid "IDS_EMAIL_BODY_EMAIL_ACCOUNTS"
+msgstr "E-pochta hisob qaydnomalari"
+
+msgid "IDS_EMAIL_BODY_END_TIME"
+msgstr "Tugatish vaqti"
+
+msgid "IDS_EMAIL_BODY_ENTIRE_EMAIL"
+msgstr "Butun e-pochta"
+
+msgid "IDS_EMAIL_BODY_EXACTLY_THE_SAME_AS"
+msgstr "Quyidagi bilan bir xil"
+
+msgid "IDS_EMAIL_BODY_EXAMPLE"
+msgstr "Namuna"
+
+msgid "IDS_EMAIL_BODY_FROM_M_SENDER"
+msgstr "Quyidagidan:"
+
+msgid "IDS_EMAIL_BODY_INBOX"
+msgstr "Kiruvchilar"
+
+msgid "IDS_EMAIL_BODY_INCLUDE"
+msgstr "O‘z ichiga oladi"
+
+msgid "IDS_EMAIL_BODY_MATCH_CRITERIA"
+msgstr "Moslik kriteriyasi"
+
+msgid "IDS_EMAIL_BODY_NOT_USED"
+msgstr "Foydalanilmaydi"
+
+msgid "IDS_EMAIL_BODY_NO_ACCOUNTS"
+msgstr "Hisob qaydnomalar yo‘q"
+
+msgid "IDS_EMAIL_BODY_PD_DAYS"
+msgstr "%d kun"
+
+msgid "IDS_EMAIL_BODY_PD_ITEMS"
+msgstr "%d element"
+
+msgid "IDS_EMAIL_BODY_PRIORITY"
+msgstr "Ustunlik"
+
+msgid "IDS_EMAIL_BODY_RECEIVING_OPTIONS"
+msgstr "Qabul qilish opsiyalari"
+
+msgid "IDS_EMAIL_BODY_SECURE_CONNECTION"
+msgstr "Xavfsiz ulanish"
+
+msgid "IDS_EMAIL_BODY_SENDING_OPTIONS"
+msgstr "Yuborish variantlari"
+
+msgid "IDS_EMAIL_BODY_SENTBOX"
+msgstr "Yuborilganlar jildi"
+
+msgid "IDS_EMAIL_BODY_SERVER_URL"
+msgstr "Server URL-manzili"
+
+msgid "IDS_EMAIL_BODY_SIGNATURE"
+msgstr "Imzo"
+
+msgid "IDS_EMAIL_BODY_SPAMBOX"
+msgstr "Spam quti"
+
+msgid "IDS_EMAIL_BODY_START_TIME"
+msgstr "Boshlash vaqti"
+
+msgid "IDS_EMAIL_BODY_TRASH"
+msgstr "Keraksiz"
+
+msgid "IDS_EMAIL_BODY_WITHOUT_ATTACHMENTS"
+msgstr "Biriktirmalarsiz"
+
+msgid "IDS_EMAIL_BUTTON_GROUP"
+msgstr "Guruh"
+
+msgid "IDS_EMAIL_HEADER_ADD_RULES"
+msgstr "Qoidalar qo‘shish"
+
+msgid "IDS_EMAIL_OPT_ATTACH_ITEMS"
+msgstr "Elementlarni biriktirish"
+
+msgid "IDS_EMAIL_OPT_EXCHANGE"
+msgstr "Exchange"
+
+msgid "IDS_EMAIL_OPT_FILE"
+msgstr "Fayl"
+
+msgid "IDS_EMAIL_OPT_NAMECARD"
+msgstr "Tashrif kartasi"
+
+msgid "IDS_EMAIL_OPT_OPEN_URL"
+msgstr "URLni ochish"
+
+msgid "IDS_EMAIL_OPT_SENDER"
+msgstr "Yuboruvchi"
+
+msgid "IDS_EMAIL_OPT_SEND_EMAIL"
+msgstr "E-pochta yub."
+
+msgid "IDS_EMAIL_OPT_UPDATE_EXISTING"
+msgstr "Mavjudni yangilash"
+
+msgid "IDS_EMAIL_POP_ADD_ACCOUNTS"
+msgstr "Hisob qaydnomalarini qo‘shish"
+
+msgid "IDS_EMAIL_POP_DOWNLOADING_ATTACHMENT_ING"
+msgstr "Biriktirma yuklanishi..."
+
+msgid "IDS_EMAIL_POP_INVALID_EMAIL_ADDRESS"
+msgstr "Noto‘g‘ri e-pochta manzili"
+
+msgid "IDS_EMAIL_POP_LOADING_CONTENTS_ING"
+msgstr "Tarkib yuklanmoqda..."
+
+msgid "IDS_EMAIL_POP_MAXIMUM_NUMBER_OF_ATTACHMENTS_REACHED"
+msgstr "Biriktirmalar soni maksimal miqdorga yetdi"
+
+msgid "IDS_EMAIL_POP_MOVE_TO_SPAMBOX_Q"
+msgstr "Spamlar qutisiga ko‘chirilsinmi?"
+
+msgid "IDS_EMAIL_POP_NO_RECIPIENTS_ADDED_ENTER_RECIPIENTS"
+msgstr "Oluvchilar qo‘shilmagan. Oluvchilarni kiritish"
+
+msgid "IDS_EMAIL_POP_PLEASE_FILL_ALL_THE_MANDATORY_FIELDS"
+msgstr "Iltimos, barcha majburiy maydonlarni to‘ldiring"
+
+msgid "IDS_EMAIL_POP_SAVE_IN_DRAFTS_Q"
+msgstr "Qoralamalarda saqlansinmi?"
+
+msgid "IDS_EMAIL_POP_THERE_IS_NO_ACCOUNT_CREATE_A_NEW_ACCOUNT_FIRST"
+msgstr "Hisob qaydnomasi yo‘q. Avval hisob qaydnomasi yarating"
+
+msgid "IDS_EMAIL_POP_TOO_MANY_RECIPIENTS"
+msgstr "Juda ko‘p oluvchilar"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_DOWNLOAD"
+msgstr "Yuklab olib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ENTER_TEXT"
+msgstr "Matn kiritib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_LAUNCH_APPLICATION"
+msgstr "Ilovani ishga tushirib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_OPEN_ATTACHMENT"
+msgstr "Biriktirmani ochib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SAVE_ATTACHMENT"
+msgstr "Biriktirmani saqlab bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SAVE_IN_DRAFTS"
+msgstr "Qoralamalarga saqlab bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEND_EMAIL"
+msgstr "E-pochta yuborib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNSUPPORTED_FILE_TYPE"
+msgstr "Qo‘llab-quvvatlanmaydigan fayl turi"
+
+msgid "IDS_EMAIL_POP_VALIDATING_ACCOUNT_ING"
+msgstr "Hisob qaydnomasi tasdiqlanmoqda..."
+
+msgid "IDS_EMAIL_SK_RESEND"
+msgstr "Qay. Yub."
+
+msgid "IDS_EMAIL_BODY_ACCEPT_ALL_SSL_CERTIFICATES"
+msgstr "Barcha SSL sertifikatlarini qabul qilish"
+
+msgid "IDS_EMAIL_SK3_ACCOUNT_LIST"
+msgstr "His/qayd. ro‘yx."
+
+msgid "IDS_EMAIL_BODY_USER_ID"
+msgstr "Foydalanuvchi IDsi"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_ALREADY_REGISTERED"
+msgstr "Hisob qaydnomasi avvaldan ro‘yxatga olingan"
+
+msgid "IDS_EMAIL_HEADER_ATTACH_FILE"
+msgstr "Fayl biriktirish"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_ALREADY_EXISTS"
+msgstr "Hisob qaydnomasi avvaldan mavjud"
+
+msgid "IDS_EMAIL_BODY_NO_SUBJECT"
+msgstr "Mavzu yo‘q"
+
+msgid "IDS_EMAIL_BODY_FROM"
+msgstr "Quyidagidan"
+
+msgid "IDS_EMAIL_BODY_NO_ADDRESS"
+msgstr "Manzil mavjud emas"
+
+msgid "IDS_EMAIL_OPT_RECORD_SOUND"
+msgstr "Tovushni yozib olish"
+
+msgid "IDS_EMAIL_OPT_RECORD_VIDEO"
+msgstr "Video yozib olish"
+
+msgid "IDS_EMAIL_OPT_INSERT_IMAGE"
+msgstr "Tasvir kiritish"
+
+msgid "IDS_EMAIL_OPT_ADD_TO_CALENDAR"
+msgstr "Kalendarga qo‘shish"
+
+msgid "IDS_EMAIL_OPT_CHANGE_EMAIL_ADDRESS_ABB"
+msgstr "E-pochta manzilini o‘zgartirish"
+
+msgid "IDS_EMAIL_OPT_CLIPBOARD"
+msgstr "Bufer"
+
+msgid "IDS_EMAIL_OPT_VIEW_CONTACT_DETAILS"
+msgstr "Kontakt tafsilotlarini ko‘rib chiqish"
+
+msgid "IDS_EMAIL_POP_SAVED_IN_DRAFTS"
+msgstr "Qoralamalarda saqlandi"
+
+msgid "IDS_EMAIL_POP_NETWORK_BUSY"
+msgstr "Tarmoq band"
+
+msgid "IDS_EMAIL_POP_LOGIN_ALLOWED_ONLY_EVERY_PD_MINUTES"
+msgstr "Kirish faqat har %d daqiqada ruxsat etiladi"
+
+msgid "IDS_EMAIL_POP_HOST_NOT_FOUND"
+msgstr "Xost topilmadi"
+
+msgid "IDS_EMAIL_POP_HOST_NOT_REACHABLE"
+msgstr "Xost yetib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_NO_SERVICE"
+msgstr "Xizmat yo‘q"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_FORWARD_DRM_CONTENTS"
+msgstr "DRM tarkibni boshqa raqamga yo‘naltirib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_BLOCKED"
+msgstr "Bloklangan"
+
+msgid "IDS_EMAIL_POP_1_EMAIL_SELECTED"
+msgstr "1 ta e-pochta tanlangan"
+
+msgid "IDS_EMAIL_POP_PD_EMAILS_SELECTED"
+msgstr "%d e-pochtalar tanlangan"
+
+msgid "IDS_EMAIL_POP_1_RECIPIENT_SELECTED"
+msgstr "1 ta oluvchi tanlangan"
+
+msgid "IDS_EMAIL_POP_PD_RECIPIENTS_SELECTED"
+msgstr "%d ta oluvchi tanlangan"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ADD_ACCOUNT"
+msgstr "Hisob qaydnoma qo‘shib bo‘lmaydi"
+
+msgid "IDS_EMAIL_SK3_MOVE_HERE"
+msgstr "Bu yerga ko‘ch."
+
+msgid "IDS_EMAIL_OPT_UNDO"
+msgstr "Bekor qilish"
+
+msgid "IDS_EMAIL_OPT_REDO"
+msgstr "Qayta bajarish"
+
+msgid "IDS_EMAIL_OPT_BOLD"
+msgstr "Quyuq"
+
+msgid "IDS_EMAIL_OPT_ITALIC"
+msgstr "Kursiv"
+
+msgid "IDS_EMAIL_OPT_UNDERLINE"
+msgstr "Tagiga chizish"
+
+msgid "IDS_EMAIL_OPT_FONT_SIZE"
+msgstr "Shrift o‘lchami"
+
+msgid "IDS_EMAIL_OPT_INDENT"
+msgstr "Oraliq"
+
+msgid "IDS_EMAIL_OPT_VIEW_BY"
+msgstr "Quyidagi bo‘yicha ko‘rib chiqish"
+
+msgid "IDS_EMAIL_OPT_IMPORTANT"
+msgstr "Muhim"
+
+msgid "IDS_EMAIL_OPT_REFRESH"
+msgstr "Yangilash"
+
+msgid "IDS_EMAIL_POP_MAXIMUM_NUMBER_OF_RECIPIENTS_HPD_REACHED"
+msgstr "Qabul qiluvchilar soni ruxsat etilgan maksimal miqdorga (%d) yetdi"
+
+msgid "IDS_EMAIL_BODY_TLS"
+msgstr "TLS"
+
+msgid "IDS_EMAIL_BODY_SSL"
+msgstr "SSL"
+
+msgid "IDS_EMAIL_BODY_POP3"
+msgstr "POP3"
+
+msgid "IDS_EMAIL_BODY_IMAP4"
+msgstr "IMAP4"
+
+msgid "IDS_EMAIL_OPT_VIDEO_CALL"
+msgstr "Video qo‘ng‘iroq"
+
+msgid "IDS_EMAIL_OPT_SEND_MESSAGE"
+msgstr "Xabar yuborish"
+
+msgid "IDS_EMAIL_OPT_COMPOSE_EMAIL"
+msgstr "E-pochta yozish"
+
+msgid "IDS_EMAIL_OPT_OTHER"
+msgstr "Boshqa"
+
+msgid "IDS_EMAIL_OPT_TAKE_PHOTO"
+msgstr "Suratga olish"
+
+msgid "IDS_EMAIL_OPT_SECURITY"
+msgstr "Xavfsizlik"
+
+msgid "IDS_EMAIL_OPT_SIGN"
+msgstr "Imzo"
+
+msgid "IDS_EMAIL_OPT_ENCRYPT"
+msgstr "Shifrlash"
+
+msgid "IDS_EMAIL_POP_AUTHENTICATION_FAILED"
+msgstr "Haqiqiylik tekshiruvi bajarilmadi"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_CANCELLED"
+msgstr "Yuklab olish bekor qilindi"
+
+msgid "IDS_EMAIL_POP_SENDING_CANCELLED"
+msgstr "Yuborish bekor qilindi"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_EDITED"
+msgstr "Hisob qaydnomasi tahrirlandi"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_LIST_NOT_FOUND"
+msgstr "Hisob qaydnomalar ro‘yxati topilmadi"
+
+msgid "IDS_EMAIL_OPT_COPY_IMAGE_LOCATION"
+msgstr "Tasvir joylashuvidan nusxa ko‘chirish"
+
+msgid "IDS_EMAIL_POP_DEVICE_STORAGE_FULL"
+msgstr "Qurilma xotirasi to‘la"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_ATTACHMENT_Q"
+msgstr "Biriktirma yuklab olinsinmi?"
+
+msgid "IDS_EMAIL_POP_EMAIL_DELETED_FROM_SERVER"
+msgstr "E-pochta serverdan o'chirildi"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_ACTIVATE_PDP"
+msgstr "PDPni faollashtirib bo‘lmadi"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_ADD_BLOCK_RULE"
+msgstr "Bloklash qoidasini qo‘shib bo‘lmadi"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_MARK_AS_UNREAD"
+msgstr "O‘qilmagan sifatida belgilab bo‘lmadi"
+
+msgid "IDS_EMAIL_BODY_INCOMING_MAIL_SERVER_TYPE"
+msgstr "Kiruvchi pochta serveri turi"
+
+msgid "IDS_EMAIL_BODY_LOADING_MORE_EMAILS_ING"
+msgstr "Ko‘proq e-pochtalar yuklanmoqda..."
+
+msgid "IDS_EMAIL_POP_LOG_IN_FAILED"
+msgstr "Kirish bajarilmadi"
+
+msgid "IDS_EMAIL_POP_RETRIEVING_ADDRESS_LIST_ING"
+msgstr "Manzillar ro‘yxati olinmoqda..."
+
+msgid "IDS_EMAIL_OPT_SEND_IMAGE_VIA_EMAIL"
+msgstr "Tasvirni E-pochta orqali yuborish"
+
+msgid "IDS_EMAIL_BODY_YOU_CAN_USE_EMAIL_ON_YOUR_DEVICE_BY_ADDING_YOUR_ACCOUNT_IF_YOU_DO_NOT_HAVE_AN_EMAIL_ACCOUNT_SIGN_UP_FIRST"
+msgstr "Hisob qaydnomangizni qo‘shish orqali e-pochtadan qurilmangizda foydalanishingiz mumkin. Agar e-pochta hisob qaydnomangiz mavjud bo‘lmasa, avval ro‘yxatdan o‘ting"
+
+msgid "IDS_EMAIL_POP_DOWNLOADING_ATTACHMENTS_ON_THE_MOBILE_DEVICE_IS_NOT_ALLOWED_BY_EXCHANGE_SERVER_POLICY"
+msgstr "Mobil qurilmada biriktirmalarni yuklab olish Exchange server tomonidan ruxsat berilmagan"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_DELETE"
+msgstr "O'chirib bo‘lmadi"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_MOVE"
+msgstr "Ko‘chirib bo‘lmadi"
+
+msgid "IDS_EMAIL_POP_MARKED_AS_UNREAD"
+msgstr "O‘qilmagan sifatida belgilash"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_ATTACHMENTS_Q"
+msgstr "Biriktirmalar yuklab olinsinmi?"
+
+msgid "IDS_EMAIL_POP_MAXIMUM_RECIPIENT_EMAIL_LENGTH_EXCEEDED"
+msgstr "Qabul qiluvchi e-pochtasining maksimal uzunligidan oshib ketildi"
+
+msgid "IDS_EMAIL_POP_ACCOUNT_CREATION_CANCELLED"
+msgstr "Hisob qaydnomasi yaratilishi bekor qilindi"
+
+msgid "IDS_EMAIL_MBODY_MAILBOX_LIST"
+msgstr "Pochta qutilari ro‘yxati"
+
+msgid "IDS_EMAIL_BODY_MAILBOX_SETUP"
+msgstr "Pochta qutisini o‘rnatish"
+
+msgid "IDS_EMAIL_POP_ALREADY_DOWNLOADING_T_HEADER"
+msgstr "Avvaldan yuklab olinmoqda"
+
+msgid "IDS_EMAIL_POP_CANCELLING_ATTACHMENT_DOWNLOAD_ING"
+msgstr "Biriktirma yuklab olinishi bekor qilinmoqda..."
+
+msgid "IDS_EMAIL_BODY_SENT_USING_TIZEN_MOBILE"
+msgstr "TIZEN mobil yordamida yuborilgan"
+
+msgid "IDS_EMAIL_POP_EXCHANGE_ACTIVESYNC_ACCOUNT_NOT_AVAILABLE_NOTI"
+msgstr "Exchange ActiveSync hisob qaydnomasidan foydalanib bo‘lmaydi"
+
+msgid "IDS_EMAIL_BODY_RE"
+msgstr "Ja"
+
+msgid "IDS_EMAIL_BODY_FWD_T_EMAIL_PREFIX_ABB"
+msgstr "Boshq/yub"
+
+msgid "IDS_EMAIL_BODY_EXCHANGE_ACTIVESYNC"
+msgstr "Exchange ActiveSync"
+
+msgid "IDS_EMAIL_BODY_GMAIL"
+msgstr "Gmail"
+
+msgid "IDS_EMAIL_BODY_HOTMAIL"
+msgstr "Hotmail"
+
+msgid "IDS_EMAIL_BODY_AOL"
+msgstr "AOL"
+
+msgid "IDS_EMAIL_BODY_YAHOO_E_MAIL"
+msgstr "Yahoo! pochtasi"
+
+msgid "IDS_EMAIL_OPT_ADD_ACCOUNTS"
+msgstr "Hisob qaydnomalarini qo‘shish"
+
+msgid "IDS_EMAIL_BODY_DOWNLOAD_MESSAGE"
+msgstr "Xabar yuklab olish"
+
+msgid "IDS_EMAIL_POP_ALREADY_BLOCKED"
+msgstr "Avval bloklangan"
+
+msgid "IDS_EMAIL_BODY_SEARCH_ON_SERVER"
+msgstr "Serverda qidirish"
+
+msgid "IDS_EMAIL_OPT_RECIPIENT"
+msgstr "Oluvchi"
+
+msgid "IDS_EMAIL_OPT_DELETE_ALL"
+msgstr "Barchasi o'chirish"
+
+msgid "IDS_EMAIL_OPT_RECENT_HPD"
+msgstr "Oxirgi (%d)"
+
+msgid "IDS_EMAIL_OPT_REPLY_TO_SENDER"
+msgstr "Yuboruvchiga javob berish"
+
+msgid "IDS_EMAIL_HEADER_RECENT_T_HEADER"
+msgstr "Oxirgi"
+
+msgid "IDS_EMAIL_OPT_CONTACT_DETAILS"
+msgstr "Kontakt tafsilotlari"
+
+msgid "IDS_EMAIL_OPT_REPLY_TO_ALL"
+msgstr "Barchaga javob berish"
+
+msgid "IDS_EMAIL_BODY_THREADED_LIST"
+msgstr "Bog‘langan ro‘yxat"
+
+msgid "IDS_EMAIL_BODY_SELECT_EMAIL"
+msgstr "E-pochta tanlash"
+
+msgid "IDS_EMAIL_OPT_VIEW_AS"
+msgstr "Quyidagi sifatida ko‘rib chiqish"
+
+msgid "IDS_EMAIL_HEADER_BLOCK_EMAILS"
+msgstr "E-pochtalarni bloklash"
+
+msgid "IDS_EMAIL_HEADER_DELETE"
+msgstr "O'chirish"
+
+msgid "IDS_EMAIL_HEADER_DEFAULT_ACCOUNT"
+msgstr "Sukut his/qaydnoma"
+
+msgid "IDS_EMAIL_HEADER_EMAIL"
+msgstr "E-pochta"
+
+msgid "IDS_EMAIL_BODY_SHOW_EMAILS"
+msgstr "E-pochtalar ko‘rsatilsin"
+
+msgid "IDS_EMAIL_OPT_DATE"
+msgstr "Sana"
+
+msgid "IDS_EMAIL_HEADER_SEARCH"
+msgstr "Qidirish"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_OPEN_EMAIL_MESSAGE"
+msgstr "E-pochta xabarini ochib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_COMPOSE_EMAIL_MESSAGE"
+msgstr "E-pochta xabarini yaratib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_START_EMAIL_APPLICATION"
+msgstr "E-pochta ilovasini ishga tushirib bo‘lmadi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SAVE_SUBJECT_EMPTY"
+msgstr "Saqlab bo‘lmaydi. Mavzu bo‘sh"
+
+msgid "IDS_EMAIL_HEADER_ALL_EMAILS"
+msgstr "Barcha elektron pochta xabarlari"
+
+msgid "IDS_EMAIL_HEADER_MAILBOX_SETUP"
+msgstr "Pochta qutisini o‘rnatish"
+
+msgid "IDS_EMAIL_HEADER_RETRIEVING_OPTIONS"
+msgstr "Qayta olish opsiyalari"
+
+msgid "IDS_EMAIL_HEADER_ADD_ACCOUNT"
+msgstr "Hisob qaydnoma qo‘shish"
+
+msgid "IDS_EMAIL_HEADER_TEXT_COLOUR"
+msgstr "Matn rangi"
+
+msgid "IDS_EMAIL_HEADER_TEXT_BACKGROUND_COLOUR"
+msgstr "Matn foni rangi"
+
+msgid "IDS_EMAIL_BODY_ADDRESS"
+msgstr "Manzil"
+
+msgid "IDS_EMAIL_SK_DECLINE"
+msgstr "Rad etish"
+
+msgid "IDS_EMAIL_OPT_RESEND"
+msgstr "Qayta yuborish"
+
+msgid "IDS_EMAIL_OPT_ATTACH_FILE"
+msgstr "Fayl biriktirish"
+
+msgid "IDS_EMAIL_HEADER_COMPOSE_EMAIL"
+msgstr "E-pochta yozish"
+
+msgid "IDS_EMAIL_HEADER_ADD_ACCOUNTS"
+msgstr "Hisob qaydnomalarini qo‘shish"
+
+msgid "IDS_EMAIL_OPT_PD_MOST_RECENT_EMAILS"
+msgstr "Oxirgi %d e-pochta"
+
+msgid "IDS_EMAIL_POP_YOU_CAN_ONLY_LOG_IN_ONCE_EVERY_PD_MINUTES"
+msgstr "Har %d daqiqada faqat bir marta kirishingiz mumkin"
+
+msgid "IDS_EMAIL_BODY_DEFAULT_SENDING_ACCOUNT"
+msgstr "Birlamchi o'rnatilgan yuborish hisob qaydnomasi"
+
+msgid "IDS_EMAIL_HEADER_DEFAULT_SENDING_ACCOUNT"
+msgstr "Birlamchi o'rnatilgan yuborish hisob qaydnomasi"
+
+msgid "IDS_EMAIL_BODY_DO_NOT_MATCH_FOLDER_WITH_SERVER"
+msgstr "Jildni server bilan bog‘lamang"
+
+msgid "IDS_EMAIL_POP_QUERYING_SERVER_INFORMATION_ING"
+msgstr "Server ma’lumoti so‘rovi..."
+
+msgid "IDS_EMAIL_POP_SERVER_INFORMATION_QUERY_FAILED_ENTER_SERVER_INFORMATION_MANUALLY"
+msgstr "Server ma’lumoti so‘rovi yuborilmadi. Server ma’lumotini qo‘lda kiriting"
+
+msgid "IDS_EMAIL_POP_SECURITY_POLICY_RESTRICTS_USE_OF_POP_IMAP_EMAIL"
+msgstr "Xavfsizlik siyosati POP/IMAP e-pochtasidan foydalanishni cheklaydi"
+
+msgid "IDS_EMAIL_OPT_VIEW"
+msgstr "Ko‘rib chiqish"
+
+msgid "IDS_EMAIL_OPT_COPY_LINK"
+msgstr "'Link'dan nusxa ko‘chirish"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_MARK_AS_READ"
+msgstr "O‘qilgan sifatida belgilab bo‘lmadi"
+
+msgid "IDS_EMAIL_POP_MARKED_AS_READ"
+msgstr "O‘qilgan sifatida belgilash"
+
+msgid "IDS_EMAIL_OPT_COPY_IMAGE_URL"
+msgstr "Tasvir URL-manzilidan nusxa olish"
+
+msgid "IDS_EMAIL_OPT_COPY_URL"
+msgstr "URLdan nusxa olish"
+
+msgid "IDS_EMAIL_OPT_MOVE_TO_SPAMBOX"
+msgstr "Spamlar qutisiga ko‘chirish"
+
+msgid "IDS_EMAIL_POP_DISCARD_CURRENT_MESSAGE_Q"
+msgstr "Joriy xabar rad etilsinmi?"
+
+msgid "IDS_EMAIL_POP_MEETING_REQUEST_DECLINED_MESSAGE_WILL_BE_MOVED_TO_RECYCLE_BIN"
+msgstr "Uchrashuv so‘rovi rad etildi. Xabar Savatga ko‘chiriladi"
+
+msgid "IDS_EMAIL_POP_MEETING_REQUEST_TENTATIVELY_ACCEPTED_MESSAGE_WILL_BE_MOVED_TO_RECYCLE_BIN"
+msgstr "Uchrashuv so‘rovi shartli ravishda qabul qilindi. Xabar Savatga ko‘chiriladi"
+
+msgid "IDS_EMAIL_POP_MEETING_REQUEST_ACCEPTED_MESSAGE_WILL_BE_MOVED_TO_RECYCLE_BIN"
+msgstr "Uchrashuv so‘rovi qabul qilindi. Xabar Savatga ko‘chiriladi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_ATTACH_FILE"
+msgstr "Fayl biriktirib bo‘lmaydi"
+
+msgid "IDS_EMAIL_OPT_CALENDAR"
+msgstr "Kalendar"
+
+msgid "IDS_EMAIL_OPT_MEMO"
+msgstr "Eslatma"
+
+msgid "IDS_EMAIL_OPT_TINY_M_TEXTSIZE"
+msgstr "Mitti"
+
+msgid "IDS_EMAIL_OPT_SMALL_M_TEXTSIZE"
+msgstr "Kichik"
+
+msgid "IDS_EMAIL_OPT_NORMAL_M_TEXTSIZE"
+msgstr "Normal"
+
+msgid "IDS_EMAIL_OPT_LARGE_M_TEXTSIZE"
+msgstr "Katta"
+
+msgid "IDS_EMAIL_OPT_HUGE_M_TEXTSIZE"
+msgstr "Ulkan"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_CC_BCC_MYSELF"
+msgstr "Doim menga Nusxa/Yashirin nusxa yuborish"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_CC_MYSELF"
+msgstr "Har doim bir nusxa o‘zimga yuborilsin"
+
+msgid "IDS_EMAIL_BODY_SEND_READ_REPORT"
+msgstr "O‘qilganlik haqida hisobot yuborish"
+
+msgid "IDS_EMAIL_OPT_VIEW_MODE"
+msgstr "Ko‘rib chiqish rejimi"
+
+msgid "IDS_EMAIL_OPT_STANDARD_VIEW"
+msgstr "Standart ko‘rinish"
+
+msgid "IDS_EMAIL_OPT_CONVERSATION_VIEW"
+msgstr "Suhbat ko‘rinishi"
+
+msgid "IDS_EMAIL_OPT_DATE_HMOST_RECENT"
+msgstr "Sana (Eng oxirgi)"
+
+msgid "IDS_EMAIL_OPT_DATE_HOLDEST"
+msgstr "Sana (Eng eski)"
+
+msgid "IDS_EMAIL_OPT_SENDER_HA_TO_Z"
+msgstr "Yuboruvchi (Adan Yagacha)"
+
+msgid "IDS_EMAIL_OPT_SENDER_HZ_TO_A"
+msgstr "Yuboruvchi (Yadan Agacha)"
+
+msgid "IDS_EMAIL_OPT_READ_UNREAD"
+msgstr "O‘qilgan/O‘qilmagan"
+
+msgid "IDS_EMAIL_OPT_FAVOURITES"
+msgstr "Tanlanganlar"
+
+msgid "IDS_EMAIL_HEADER_ALL_ACCOUNTS"
+msgstr "Barcha hisob qaydnomalar"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAILS"
+msgstr "Elektron pochta xabarlarini tanlash"
+
+msgid "IDS_EMAIL_BODY_MICROSOFT_EXCHANGE_ACTIVESYNC"
+msgstr "Microsoft Exchange ActiveSync"
+
+msgid "IDS_EMAIL_HEADER_VIEW_MODE_ABB"
+msgstr "Ko‘rinish rejimi"
+
+msgid "IDS_EMAIL_BODY_NO_EMAILS"
+msgstr "E-pochta yo‘q"
+
+msgid "IDS_EMAIL_OPT_DOCUMENTS_ABB"
+msgstr "Hujjatlar"
+
+msgid "IDS_EMAIL_OPT_ATTACH"
+msgstr "Biriktirish"
+
+msgid "IDS_EMAIL_OPT_PRINT"
+msgstr "Chop etish"
+
+msgid "IDS_EMAIL_OPT_GALLERY"
+msgstr "Galereya"
+
+msgid "IDS_EMAIL_OPT_MY_FILES"
+msgstr "Mening fayllarim"
+
+msgid "IDS_EMAIL_OPT_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_EMAIL_OPT_INSERT"
+msgstr "Kiritish"
+
+msgid "IDS_EMAIL_BODY_SHOW_IMAGES"
+msgstr "Rasmlarni ko'rsat"
+
+msgid "IDS_EMAIL_OPT_SORT_BY"
+msgstr "Saralash"
+
+msgid "IDS_EMAIL_OPT_FLAG"
+msgstr "Bayroq"
+
+msgid "IDS_EMAIL_OPT_MEETING_REQUEST"
+msgstr "Uchrashish so‘rovi"
+
+msgid "IDS_EMAIL_OPT_ATTACHMENTS"
+msgstr "Biriktirmalar"
+
+msgid "IDS_EMAIL_HEADER_FOLDERS"
+msgstr "Jildlar"
+
+msgid "IDS_EMAIL_OPT_ADD_FOLDER"
+msgstr "Jild qo‘shish"
+
+msgid "IDS_EMAIL_OPT_TITLE"
+msgstr "Sarlavha"
+
+msgid "IDS_EMAIL_HEADER_PD_CONVERSATIONS"
+msgstr "%d suhbat"
+
+msgid "IDS_EMAIL_HEADER_SERVER"
+msgstr "Server"
+
+msgid "IDS_EMAIL_OPT_ALL"
+msgstr "Barchasi"
+
+msgid "IDS_EMAIL_OPT_RECIPIENT_HA_TO_Z"
+msgstr "Qabul qiluvchi (Adan Zgacha)"
+
+msgid "IDS_EMAIL_OPT_RECIPIENT_HZ_TO_A"
+msgstr "Qabul qiluvchi (Zdan Agacha)"
+
+msgid "IDS_EMAIL_HEADER_SEARCH_SHAREPOINT"
+msgstr "SharePointni qidirish"
+
+msgid "IDS_EMAIL_BODY_ENTER_PATH_OF_WINDOWS_SHAREPOINT_SERVICES_OR_WINDOWS_FILE_SHARE_HUNC_TO_ACCESS_DOCUMENTS_REMOTELY"
+msgstr "Hujjatlarga masofadan kirish uchun, Windows SharePoint Xizmatlari yoki Windows faylini ulashish xizmati(UNC) yo‘lini kiriting"
+
+msgid "IDS_EMAIL_OPT_DELETE_FROM_CALENDAR"
+msgstr "Kalendardan o'chirish"
+
+msgid "IDS_EMAIL_BODY_FLICK_UP_TO_SEARCH_ON_SERVER"
+msgstr "Serverda qidirish uchun cherting"
+
+msgid "IDS_EMAIL_BODY_FLICK_UP_TO_SEARCH_ON_SERVER_AGAIN"
+msgstr "Serverda yana qidirish uchun cherting"
+
+msgid "IDS_EMAIL_BODY_RECENT_EMAILS"
+msgstr "Oxrigi e-pochtalar"
+
+msgid "IDS_EMAIL_BODY_DELETING_OPTIONS"
+msgstr "O'chirib tashlash opsiyalari"
+
+msgid "IDS_EMAIL_BODY_FAVOURITES"
+msgstr "Tanlanganlar"
+
+msgid "IDS_EMAIL_BODY_HIGH_M_PRIORITY"
+msgstr "Yuqori"
+
+msgid "IDS_EMAIL_BODY_NORMAL_M_EMAILPRIORITY"
+msgstr "Normal"
+
+msgid "IDS_EMAIL_BODY_LOW_M_EMAILPRIORITY"
+msgstr "Past"
+
+msgid "IDS_EMAIL_BODY_MEETING_REQUEST"
+msgstr "Uchrashish so‘rovi"
+
+msgid "IDS_EMAIL_BODY_MEETING_INVITATION"
+msgstr "Uchrashuv taklifnomasi"
+
+msgid "IDS_EMAIL_OPT_SUGGEST_NEW_TIME_ABB"
+msgstr "Yangi vaqt taklif qiling"
+
+msgid "IDS_EMAIL_BODY_VIEW_IN_CALENDAR"
+msgstr "Kalendarda ko‘rib chiqish"
+
+msgid "IDS_EMAIL_BODY_SEARCH_EMAIL"
+msgstr "E-pochtada qidirish"
+
+msgid "IDS_EMAIL_BODY_ALWAYS_SHOW_THIS_MESSAGE"
+msgstr "Ushbu xabar doim ko‘rsatilsin"
+
+msgid "IDS_EMAIL_BODY_SEND_EMAIL_FROM_THIS_ACCOUNT_BY_DEFAULT"
+msgstr "Ushbu hisob qaydnomasidan sukut bo‘yicha e-pochta xabarini yuborish"
+
+msgid "IDS_EMAIL_BODY_SMTP_SERVER"
+msgstr "SMTP serveri"
+
+msgid "IDS_EMAIL_OPT_SEARCH"
+msgstr "Qidirish"
+
+msgid "IDS_EMAIL_OPT_SHARE"
+msgstr "Ulashish"
+
+msgid "IDS_EMAIL_OPT_MESSAGE"
+msgstr "Xabar"
+
+msgid "IDS_EMAIL_OPT_EMAIL"
+msgstr "E-pochta"
+
+msgid "IDS_EMAIL_OPT_FACEBOOK"
+msgstr "Facebook"
+
+msgid "IDS_EMAIL_OPT_TWITTER"
+msgstr "Twitter"
+
+msgid "IDS_EMAIL_OPT_NFC"
+msgstr "NFC"
+
+msgid "IDS_EMAIL_BODY_SECURITY_OPTIONS"
+msgstr "Xavfsizlik opsiyalari"
+
+msgid "IDS_EMAIL_HEADER_SECURITY_OPTIONS"
+msgstr "Xavfsizlik opsiyalari"
+
+msgid "IDS_EMAIL_BODY_ENCRYPTION_ALGORITHM"
+msgstr "Shifrlash algoritmi"
+
+msgid "IDS_EMAIL_BODY_SIGN_ALGORITHM"
+msgstr "Imzo algoritmi"
+
+msgid "IDS_EMAIL_BODY_EMAIL_CERTIFICATE"
+msgstr "E-pochta sertifikati"
+
+msgid "IDS_EMAIL_BODY_SUNDAY"
+msgstr "Yakshanba"
+
+msgid "IDS_EMAIL_BODY_MONDAY"
+msgstr "Dushanba"
+
+msgid "IDS_EMAIL_BODY_TUESDAY"
+msgstr "Seshanba"
+
+msgid "IDS_EMAIL_BODY_WEDNESDAY"
+msgstr "Chorshanba"
+
+msgid "IDS_EMAIL_BODY_THURSDAY"
+msgstr "Payshaba"
+
+msgid "IDS_EMAIL_BODY_FRIDAY"
+msgstr "Juma"
+
+msgid "IDS_EMAIL_BODY_SATURDAY"
+msgstr "Shanba"
+
+msgid "IDS_EMAIL_BODY_OTHER"
+msgstr "Boshqa"
+
+msgid "IDS_EMAIL_BODY_PHONE"
+msgstr "Telefon"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_DECRYPT_MESSAGE"
+msgstr "Xabar shifrini ochib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_DECRYPT_MESSAGE_CERTIFICATE_NOT_INSTALLED"
+msgstr "Xabar shifrini ochib bo‘lmaydi. Sertifikat o‘rnatilmagan"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SIGN_OR_ENCRYPT_MESSAGE_CERTIFICATE_NOT_INSTALLED"
+msgstr "Xabarni imzolab yoki shifrlab bo‘lmaydi. Sertifikat o‘rnatilmagan"
+
+msgid "IDS_EMAIL_POP_DOWNLOAD_MORE_DETAILS_TO_SHOW_S_MIME_MESSAGES_CONTINUE_Q"
+msgstr "S/MIME xabarlarini ko‘rsatish uchun, qo‘shimcha ma’lumotlarni yuklang. Davom ettirilsinmi?"
+
+msgid "IDS_EMAIL_BODY_LAST_WEEK"
+msgstr "Oxirgi hafta"
+
+msgid "IDS_EMAIL_BODY_PD_WEEKS_AGO"
+msgstr "%d hafta avval"
+
+msgid "IDS_EMAIL_BODY_READ"
+msgstr "O‘qish"
+
+msgid "IDS_EMAIL_BODY_UNREAD"
+msgstr "O‘qilmagan"
+
+msgid "IDS_EMAIL_BODY_CLEAR"
+msgstr "Tozalash"
+
+msgid "IDS_EMAIL_BODY_MANUAL_SETUP"
+msgstr "Qo‘lda o‘rnatish"
+
+msgid "IDS_EMAIL_BODY_OLDER_M_HISTORY"
+msgstr "Eskiroq"
+
+msgid "IDS_EMAIL_HEADER_CHECKING"
+msgstr "Tekshirilmoqda"
+
+msgid "IDS_EMAIL_POP_THIS_ATTACHMENT_CANNOT_BE_DISPLAYED"
+msgstr "Biriktirmani aks ettirib bo‘lmaydi"
+
+msgid "IDS_EMAIL_BODY_SERVER"
+msgstr "Server"
+
+msgid "IDS_EMAIL_BODY_ADD_ACCOUNT"
+msgstr "Hisob qaydnoma qo‘shish"
+
+msgid "IDS_EMAIL_BODY_REMOVE_EVENT_FROM_CALENDAR"
+msgstr "Kalendardan voqeani olib tashlash"
+
+msgid "IDS_EMAIL_POP_GETTING_RECIPIENTS_CERTIFICATES_ING"
+msgstr "Qabul qiluvchilar sertifikatlari olinmoqda..."
+
+msgid "IDS_EMAIL_POP_VALIDATING_CERTIFICATES_ING"
+msgstr "Sertifikatlar tasdiqlanmoqda..."
+
+msgid "IDS_EMAIL_HEADER_CERTIFICATES"
+msgstr "Sertifikatlar"
+
+msgid "IDS_EMAIL_POP_FOLLOWING_RECIPIENTS_HAVE_INVALID_CERTIFICATES"
+msgstr "Quyidagi qabul qiluvchilar noto‘g‘ri sertifikatlarga ega"
+
+msgid "IDS_EMAIL_POP_VERIFYING_SIGNATURE_ING"
+msgstr "Imzo tekshirilmoqda..."
+
+msgid "IDS_EMAIL_BODY_ADVANCED"
+msgstr "Takomillashgan"
+
+msgid "IDS_EMAIL_BODY_SEARCH_BY"
+msgstr "Quyidagi bo‘yicha qidirish"
+
+msgid "IDS_EMAIL_BODY_WINDOWS_LIVE_HOTMAIL"
+msgstr "Windows Live Hotmail"
+
+msgid "IDS_EMAIL_BODY_DELETE_ALL_Q"
+msgstr "Barchasi o'chirilsinmi?"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO"
+msgstr "Quyidagiga ko‘chirish"
+
+msgid "IDS_EMAIL_BODY_TOTAL_EMAILS"
+msgstr "Jami e-pochta xabarlari"
+
+msgid "IDS_EMAIL_BODY_HEADER_ONLY"
+msgstr "Faqat sarlavha"
+
+msgid "IDS_EMAIL_BODY_PHONE_AND_SERVER"
+msgstr "Telefon va server"
+
+msgid "IDS_EMAIL_BODY_PHONE_ONLY"
+msgstr "Faqat telefon"
+
+msgid "IDS_EMAIL_BODY_USE_SAME_USERNAME_PASSWORD_AS_POP3_IMAP4"
+msgstr "Bir xil foydalanuvchi nomi/parolni POP3/IMAP4 sifatida foydalaning"
+
+msgid "IDS_EMAIL_BODY_USE_POP3_IMAP4_BEFORE_SMTP"
+msgstr "SMTPdan oldin POP3/IMAP4dan foydalaning"
+
+msgid "IDS_EMAIL_POP_FAILED_TO_VALIDATE_ACCOUNT_CHECK_EMAIL_ADDRESS_AND_PASSWORD"
+msgstr "Hisob qaydnomasini tasdiqlab bo‘lmadi. Elektron pochta manzili va parolni tekshirish"
+
+msgid "IDS_EMAIL_BODY_SMTP_PORT"
+msgstr "SMTP porti"
+
+msgid "IDS_EMAIL_BODY_SHOW_PASSWORD"
+msgstr "Parol ko‘rsatilsin"
+
+msgid "IDS_EMAIL_BODY_LAST_MONTH"
+msgstr "Oxirgi oy"
+
+msgid "IDS_EMAIL_BODY_1_WEEK_AGO"
+msgstr "1 hafta avval"
+
+msgid "IDS_EMAIL_OPT_LOG_IN"
+msgstr "Kirish"
+
+msgid "IDS_EMAIL_BODY_FORWARD_WITH_FILES"
+msgstr "Fayllar b-n bosh/yub."
+
+msgid "IDS_EMAIL_BODY_REPLY_WITH_BODY"
+msgstr "Matn b-n javob berish"
+
+msgid "IDS_EMAIL_BODY_SAVE_ALL"
+msgstr "Barchasini saqlash"
+
+msgid "IDS_EMAIL_OPT_NEW_MEETING_INVITATION"
+msgstr "Yangi uchrashuv taklifi"
+
+msgid "IDS_EMAIL_OPT_MEETING_INVITATION"
+msgstr "Uchrashuv taklifnomasi"
+
+msgid "IDS_EMAIL_HEADER_REPLY_ABB"
+msgstr "Javob berish"
+
+msgid "IDS_EMAIL_OPT_TO_SENDER_ABB"
+msgstr "Yuboruvchiga"
+
+msgid "IDS_EMAIL_OPT_TO_ALL_ABB"
+msgstr "Barchaga"
+
+msgid "IDS_EMAIL_OPT_ADD_CC_BCC"
+msgstr "Nusxa/Yashirin nusxa qo‘shish"
+
+msgid "IDS_EMAIL_OPT_MOVE_TO_CC"
+msgstr "Nusxaga (Cc) ko‘chirish"
+
+msgid "IDS_EMAIL_OPT_MOVE_TO_BCC"
+msgstr "Yashirin nusxaga (Bcc) ko‘chirish"
+
+msgid "IDS_EMAIL_OPT_VIEW_CONTACT"
+msgstr "Kontaktlarni ko‘rib chiqish"
+
+msgid "IDS_EMAIL_HEADER_ATTACH_ABB"
+msgstr "Biriktirish"
+
+msgid "IDS_EMAIL_HEADER_MOVE_TO"
+msgstr "Quyidagiga ko‘chirish"
+
+msgid "IDS_EMAIL_HEADER_SEARCH_BY"
+msgstr "Quyidagi bo‘yicha qidirish"
+
+msgid "IDS_EMAIL_OPT_ADVANCED"
+msgstr "Takomillashgan"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_NOT_VALID_AND_IS_NOT_TRUSTED"
+msgstr "Ushbu xabardagi raqamli imzo haqiqiy ham ishonchli ham emas"
+
+msgid "IDS_EMAIL_POP_CONNECTION_ERROR"
+msgstr "Ulanish xatosi"
+
+msgid "IDS_EMAIL_BODY_EVERY_30_MINUTES"
+msgstr "Har 30 daqiqa"
+
+msgid "IDS_EMAIL_BODY_EVERY_PD_HOURS"
+msgstr "Har %d soat"
+
+msgid "IDS_EMAIL_BODY_ONCE_A_DAY"
+msgstr "Kunda bir marta"
+
+msgid "IDS_EMAIL_POP_CERTIFICATE_DOES_NOT_MATCH_EMAIL_ADDRESS"
+msgstr "Sertifikat e-pochta manziliga mos kelmadi"
+
+msgid "IDS_EMAIL_BODY_ENCRYPT"
+msgstr "Shifrlash"
+
+msgid "IDS_EMAIL_BODY_SIGN"
+msgstr "Imzo"
+
+msgid "IDS_EMAIL_POP_DECRYPTING_MESSAGE_ING"
+msgstr "Xabar shifri ochilmoqda..."
+
+msgid "IDS_EMAIL_BODY_1_MONTH_AGO"
+msgstr "1 oy oldin"
+
+msgid "IDS_EMAIL_OPT_ACCEPT"
+msgstr "Qabul qilish"
+
+msgid "IDS_EMAIL_OPT_DECLINE"
+msgstr "Rad etish"
+
+msgid "IDS_EMAIL_BODY_ALL_ACCOUNTS"
+msgstr "Barcha hisob qaydnomalar"
+
+msgid "IDS_EMAIL_HEADER_SORT_BY"
+msgstr "Saralash"
+
+msgid "IDS_EMAIL_SK_SORT_BY"
+msgstr "Saralash"
+
+msgid "IDS_EMAIL_SK_DELETE_ALL"
+msgstr "Bar. o'ch"
+
+msgid "IDS_EMAIL_SK_MOVE"
+msgstr "Ko‘chir."
+
+msgid "IDS_EMAIL_SK_BLOCK"
+msgstr "Bloklash"
+
+msgid "IDS_EMAIL_SK_CREATE_FOLDER"
+msgstr "Jild yaratish"
+
+msgid "IDS_EMAIL_HEADER_CREATE_FOLDER"
+msgstr "Jild yaratish"
+
+msgid "IDS_EMAIL_POP_FOLDER_NAME"
+msgstr "Jild nomi"
+
+msgid "IDS_EMAIL_OPT_REPLY"
+msgstr "Javob berish"
+
+msgid "IDS_EMAIL_OPT_FORWARD"
+msgstr "Boshqaga yo‘naltirish"
+
+msgid "IDS_EMAIL_OPT_SHARE_VIA_EMAIL"
+msgstr "E-pochta orqali ulashish"
+
+msgid "IDS_EMAIL_OPT_OPEN"
+msgstr "Ochish"
+
+msgid "IDS_EMAIL_OPT_RECORD_AUDIO"
+msgstr "Audio yozib olish"
+
+msgid "IDS_EMAIL_HEADER_SECURITY"
+msgstr "Xavfsizlik"
+
+msgid "IDS_EMAIL_BODY_PD_ATTACHMENTS"
+msgstr "%d biriktirma"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_OPEN_FILE"
+msgstr "Faylni ochib bo‘lmaydi"
+
+msgid "IDS_EMAIL_POP_RETRIEVING_ING"
+msgstr "Qayta olinmoqda..."
+
+msgid "IDS_EMAIL_BODY_SYNC_SCHEDULE"
+msgstr "Sinx. jadvali"
+
+msgid "IDS_EMAIL_BODY_EVERY_PD_MINUTES"
+msgstr "Har %d daqiqa"
+
+msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
+msgstr "Add address"
+
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "Yangi e-pochta"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "Jild tanlash"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "Video olish"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "Quyidagiga ko‘chirish"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "E-pochta manzilini tanlash"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "Qidirib bo‘lmaydi"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "O‘qilganlar"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "Kontaktlar ro‘yxati, e-pochtalar ro‘yxati va e-pochta xabarlarining eng yuqorisiga o‘tish uchun, ikki marta cherting"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "Yuborishdan avval javobni tahrirlang"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "Javob endi yuborilsin"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "Javob yuborilmasin"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "Imzoni tasdiqlash"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "Imzoni tasdiqlash"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "Imzoni tekshirib bo‘lmaydi. Umumiy kalit o‘rnatilmagan"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "Ushbu xabardagi raqamli imzo haqiqiy va ishonchli"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "Xabar shifrdan chiq"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "E-pochtani saqlash"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "Jild yaratib bo‘lmaydi"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "Rasmga olish"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "添加地址"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "新邮件"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "选择文件夹"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "拍摄录像"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "移到收件人"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "选择电子邮件地址"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "无法搜索"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "已读"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "双击以转至联系人列表、电子邮件列表和电子邮件消息的顶部"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "编辑响应然后发送"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "立即发送响应"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "请勿发送响应"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "验证签名"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "验证签名"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "无法验证签名。公共密钥未安装"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "该消息上的数字签名有效且被信任"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "解密消息"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "保存电子邮件"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "不能创建文件夹"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "拍摄照片"
+
msgstr "大"
msgid "IDS_EMAIL_OPT_HUGE_M_TEXTSIZE"
-msgstr "巨大"
+msgstr "超大"
msgid "IDS_EMAIL_BODY_ALWAYS_CC_BCC_MYSELF"
msgstr "總是抄送/密送自己"
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "加入地址"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "新電子郵件"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "選擇資料夾"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "拍攝影片"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "移動到頂部"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "選擇電子郵件地址"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "無法搜尋"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "已讀取"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "輕觸兩次以前往聯絡人清單、電子郵件清單以及電子郵件訊息的頂部"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "在發送前的編輯回應"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "現在發送回應"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "不要發送回應"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "驗證簽署"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "驗證簽署"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "無法驗證簽名。未安裝公開金鑰"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "此訊息上的數位簽署有效且受信任"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "解密訊息"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "儲存電子郵件"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "無法建立資料夾"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "拍照"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "添加地址"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "新邮件"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "选择文件夹"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "拍摄视频"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "移动到收件人"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "选择电子邮件地址"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "无法搜索"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "阅读"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "双击以转至联系人列表、电子邮件列表和电子邮件消息的顶部"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "编辑响应然后发送"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "立即发送响应"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "请勿发送响应"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "验证签名"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "验证签名"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "无法验证签名。公共密钥未安装"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "该消息上的数字签名有效且被信任"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "解密消息"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "保存电子邮件"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "不能创建文件夹"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "拍摄照片"
+
msgid "IDS_EMAIL_BODY_ADD_ADDRESS"
msgstr "加入地址"
+msgid "IDS_EMAIL_BODY_NEW_EMAIL"
+msgstr "新電子郵件"
+
+msgid "IDS_EMAIL_HEADER_SELECT_FOLDER_ABB"
+msgstr "選取資料夾"
+
+msgid "IDS_EMAIL_BODY_CAPTURE_VIDEO"
+msgstr "拍攝影片"
+
+msgid "IDS_EMAIL_BODY_MOVE_TO_TO"
+msgstr "移動到至"
+
+msgid "IDS_EMAIL_HEADER_SELECT_EMAIL_ADDRESS"
+msgstr "選擇電子郵件位址"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_SEARCH"
+msgstr "無法搜尋"
+
+msgid "IDS_EMAIL_OPT_READ"
+msgstr "已讀取"
+
+msgid "IDS_EMAIL_POP_DOUBLE_TAP_TO_GO_TO_THE_TOP_OF_CONTACTS_LISTS_EMAIL_LISTS_AND_EMAIL_MESSAGES"
+msgstr "輕觸兩次前往聯絡人清單、電子郵件清單以及電子郵件訊息頂部"
+
+msgid "IDS_EMAIL_OPT_EDIT_RESPONSE_BEFORE_SENDING"
+msgstr "在發送前編輯回應"
+
+msgid "IDS_EMAIL_OPT_SEND_RESPONSE_NOW"
+msgstr "立刻發送回應"
+
+msgid "IDS_EMAIL_OPT_DO_NOT_SEND_RESPONSE"
+msgstr "不要發送回應"
+
+msgid "IDS_EMAIL_BUTTON_VERIFY_SIGNATURE"
+msgstr "驗證簽名"
+
+msgid "IDS_EMAIL_HEADER_VERIFY_SIGNATURE_HEADER"
+msgstr "驗證簽名"
+
+msgid "IDS_EMAIL_BODY_UNABLE_TO_VERIFY_SIGNATURE_PUBLIC_KEY_IS_NOT_INSTALLED"
+msgstr "無法驗證簽名。未安裝公開金鑰"
+
+msgid "IDS_EMAIL_POP_THE_DIGITAL_SIGNATURE_ON_THIS_MESSAGE_IS_VALID_AND_TRUSTED"
+msgstr "此訊息的數位簽署有效且受信任"
+
+msgid "IDS_EMAIL_BUTTON_DECRYPT_MESSAGE"
+msgstr "解密訊息"
+
+msgid "IDS_EMAIL_OPT_SAVE_EMAIL_ABB"
+msgstr "儲存電子郵件"
+
+msgid "IDS_EMAIL_POP_UNABLE_TO_CREATE_FOLDER"
+msgstr "無法建立資料夾"
+
+msgid "IDS_EMAIL_BUTTON_TAKE_PICTURE"
+msgstr "拍攝圖片"
+
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${UGDIR})
INSTALL(FILES ${CMAKE_SETTING_BINARY_DIR}/email-setting-theme.edj DESTINATION ${EDJDIR})
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/images/org.tizen.email.png DESTINATION ${ICONDIR})
-# i18n
-#ADD_SUBDIRECTORY(po)
int setup_mailbox;
int navi_flag[16];
int start_account_validation;
- int b_exchange;
int change_view_ing;
int b_on_pause;
int wds_account_creation;
account->user_email_address = g_strdup("<User ID>@gmail.com");
account->incoming_server_password = g_strdup(<User Password>);*/
- vconf_get_int("file/private/com.samsung.email/gmail_receiving_type", (int *)&(account->incoming_server_type));
- vconf_get_int("file/private/com.samsung.email/gmail_receiving_port", &(account->incoming_server_port_number));
- vconf_get_int("file/private/com.samsung.email/gmail_receiving_ssl", &(account->incoming_server_secure_connection));
- account->incoming_server_address = vconf_get_str("file/private/com.samsung.email/gmail_receiving_address");
-
- vconf_get_int("file/private/com.samsung.email/gmail_sending_port", &(account->outgoing_server_port_number));
- vconf_get_int("file/private/com.samsung.email/gmail_sending_ssl", &(account->outgoing_server_secure_connection));
- account->outgoing_server_address = vconf_get_str("file/private/com.samsung.email/gmail_sending_address");
+ vconf_get_int("file/private/org.tizen.email/gmail_receiving_type", (int *)&(account->incoming_server_type));
+ vconf_get_int("file/private/org.tizen.email/gmail_receiving_port", &(account->incoming_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/gmail_receiving_ssl", &(account->incoming_server_secure_connection));
+ account->incoming_server_address = vconf_get_str("file/private/org.tizen.email/gmail_receiving_address");
+
+ vconf_get_int("file/private/org.tizen.email/gmail_sending_port", &(account->outgoing_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/gmail_sending_ssl", &(account->outgoing_server_secure_connection));
+ account->outgoing_server_address = vconf_get_str("file/private/org.tizen.email/gmail_sending_address");
account->outgoing_server_user_name = g_strdup(account->incoming_server_user_name);
account->outgoing_server_password = g_strdup(account->incoming_server_password);
account->user_email_address = g_strdup("<User ID>@yahoo.com");
account->incoming_server_password = g_strdup(<User Password>);*/
- vconf_get_int("file/private/com.samsung.email/yahoo_receiving_type", (int *)&(account->incoming_server_type));
- vconf_get_int("file/private/com.samsung.email/yahoo_receiving_port", &(account->incoming_server_port_number));
- vconf_get_int("file/private/com.samsung.email/yahoo_receiving_ssl", &(account->incoming_server_secure_connection));
- account->incoming_server_address = vconf_get_str("file/private/com.samsung.email/yahoo_receiving_address");
+ vconf_get_int("file/private/org.tizen.email/yahoo_receiving_type", (int *)&(account->incoming_server_type));
+ vconf_get_int("file/private/org.tizen.email/yahoo_receiving_port", &(account->incoming_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/yahoo_receiving_ssl", &(account->incoming_server_secure_connection));
+ account->incoming_server_address = vconf_get_str("file/private/org.tizen.email/yahoo_receiving_address");
- account->outgoing_server_address = vconf_get_str("file/private/com.samsung.email/yahoo_sending_address");
- vconf_get_int("file/private/com.samsung.email/yahoo_sending_port", &(account->outgoing_server_port_number));
- vconf_get_int("file/private/com.samsung.email/yahoo_sending_ssl", &(account->outgoing_server_secure_connection));
+ account->outgoing_server_address = vconf_get_str("file/private/org.tizen.email/yahoo_sending_address");
+ vconf_get_int("file/private/org.tizen.email/yahoo_sending_port", &(account->outgoing_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/yahoo_sending_ssl", &(account->outgoing_server_secure_connection));
account->outgoing_server_user_name = g_strdup(account->incoming_server_user_name);
account->outgoing_server_password = g_strdup(account->incoming_server_password);
account->user_email_address = g_strdup("<User ID>@aol.com");
account->incoming_server_password = g_strdup(<User Password>);*/
- vconf_get_int("file/private/com.samsung.email/hotmail_receiving_type", (int *)&(account->incoming_server_type));
- vconf_get_int("file/private/com.samsung.email/hotmail_receiving_port", &(account->incoming_server_port_number));
- vconf_get_int("file/private/com.samsung.email/hotmail_receiving_ssl", &(account->incoming_server_secure_connection));
- account->incoming_server_address = vconf_get_str("file/private/com.samsung.email/hotmail_receiving_address");
+ vconf_get_int("file/private/org.tizen.email/hotmail_receiving_type", (int *)&(account->incoming_server_type));
+ vconf_get_int("file/private/org.tizen.email/hotmail_receiving_port", &(account->incoming_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/hotmail_receiving_ssl", &(account->incoming_server_secure_connection));
+ account->incoming_server_address = vconf_get_str("file/private/org.tizen.email/hotmail_receiving_address");
- account->outgoing_server_address = vconf_get_str("file/private/com.samsung.email/hotmail_sending_address");
- vconf_get_int("file/private/com.samsung.email/hotmail_sending_port", &(account->outgoing_server_port_number));
- vconf_get_int("file/private/com.samsung.email/hotmail_sending_ssl", &(account->outgoing_server_secure_connection));
+ account->outgoing_server_address = vconf_get_str("file/private/org.tizen.email/hotmail_sending_address");
+ vconf_get_int("file/private/org.tizen.email/hotmail_sending_port", &(account->outgoing_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/hotmail_sending_ssl", &(account->outgoing_server_secure_connection));
account->outgoing_server_user_name = g_strdup(account->incoming_server_user_name);
account->outgoing_server_password = g_strdup(account->incoming_server_password);
account->user_email_address = g_strdup("<User ID>@aol.com");
account->incoming_server_password = g_strdup(<User Password>);*/
- vconf_get_int("file/private/com.samsung.email/aol_receiving_type", (int *)&(account->incoming_server_type));
- vconf_get_int("file/private/com.samsung.email/aol_receiving_port", &(account->incoming_server_port_number));
- vconf_get_int("file/private/com.samsung.email/aol_receiving_ssl", &(account->incoming_server_secure_connection));
- account->incoming_server_address = vconf_get_str("file/private/com.samsung.email/aol_receiving_address");
+ vconf_get_int("file/private/org.tizen.email/aol_receiving_type", (int *)&(account->incoming_server_type));
+ vconf_get_int("file/private/org.tizen.email/aol_receiving_port", &(account->incoming_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/aol_receiving_ssl", &(account->incoming_server_secure_connection));
+ account->incoming_server_address = vconf_get_str("file/private/org.tizen.email/aol_receiving_address");
- account->outgoing_server_address = vconf_get_str("file/private/com.samsung.email/aol_sending_address");
- vconf_get_int("file/private/com.samsung.email/aol_sending_port", &(account->outgoing_server_port_number));
- vconf_get_int("file/private/com.samsung.email/aol_sending_ssl", &(account->outgoing_server_secure_connection));
+ account->outgoing_server_address = vconf_get_str("file/private/org.tizen.email/aol_sending_address");
+ vconf_get_int("file/private/org.tizen.email/aol_sending_port", &(account->outgoing_server_port_number));
+ vconf_get_int("file/private/org.tizen.email/aol_sending_ssl", &(account->outgoing_server_secure_connection));
account->outgoing_server_user_name = g_strdup(account->incoming_server_user_name);
account->outgoing_server_password = g_strdup(account->incoming_server_password);
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(ug-email-viewer-efl C)
+
+SET(SRCS
+ ./src/email-viewer.c
+ ./src/email-viewer-webview.c
+ ./src/email-viewer-logic.c
+ ./src/email-viewer-utils.c)
+SET(CMAKE_SKIP_BUILD_RPATH TRUE)
+
+IF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+ SET(CMAKE_BUILD_TYPE "Release")
+ENDIF("${CMAKE_BUILD_TYPE}" STREQUAL "")
+MESSAGE("Build type: ${CMAKE_BUILD_TYPE}")
+
+SET(CMAKE_MAILVIEWER_SOURCE_DIR "${CMAKE_SOURCE_DIR}/viewer")
+SET(CMAKE_MAILVIEWER_BINARY_DIR "${CMAKE_BINARY_DIR}/viewer")
+INCLUDE_DIRECTORIES(${CMAKE_MAILVIEWER_SOURCE_DIR}/include)
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/common/include)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules(pkgs-viewer REQUIRED appcore-efl ui-gadget-1 x11 elementary ecore glib-2.0 gobject-2.0
+ status capi-media-metadata-extractor capi-media-image-util
+ email-service edbus capi-appfw-application vconf ewebkit2 contacts-service sysman bundle dlog efreet-mime mm-fileinfo mmutil-jpeg libmedia-utils calendar ethumb)
+
+FOREACH(flag ${pkgs-viewer_CFLAGS})
+ SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+#SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -finstrument-functions")
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
+SET(CMAKE_LDFLAGS "-Wl,-z,nodelete")
+
+FIND_PROGRAM(UNAME NAMES uname)
+EXEC_PROGRAM("${UNAME}" ARGS "-m" OUTPUT_VARIABLE "ARCH")
+IF("${ARCH}" STREQUAL "arm")
+ ADD_DEFINITIONS("-DTARGET")
+ MESSAGE("add -DTARGET")
+ SET(CMAKE_C_FLAGS_RELEASE "-mabi=aapcs-linux -msoft-float -O2")
+ENDIF("${ARCH}" STREQUAL "arm")
+
+ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
+ADD_DEFINITIONS("-DDEBUG")
+ADD_DEFINITIONS("-DFACTORYFS=\"$ENV{FACTORYFS}\"")
+ADD_DEFINITIONS("-DDATAFS=\"$ENV{DATAFS}\"")
+ADD_DEFINITIONS("-D_POPUP_WITH_LIST")
+ADD_DEFINITIONS("-D_NEW_CT_SVC_API")
+
+ADD_LIBRARY(${PROJECT_NAME} SHARED ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} email-common ${CMAKE_LDFLAGS} ${pkgs-viewer_LDFLAGS})
+
+ADD_CUSTOM_TARGET(email-viewer-theme.edj
+ COMMAND edje_cc -id ${CMAKE_SOURCE_DIR}/images
+ ${CMAKE_MAILVIEWER_SOURCE_DIR}/theme/email-viewer-theme.edc ${CMAKE_MAILVIEWER_BINARY_DIR}/email-viewer-theme.edj
+ DEPENDS ${CMAKE_MAILVIEWER_SOURCE_DIR}/theme/email-viewer-theme.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} email-viewer-theme.edj)
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${UGDIR})
+INSTALL(FILES ${CMAKE_MAILVIEWER_BINARY_DIR}/email-viewer-theme.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_MAILVIEWER_SOURCE_DIR}/theme/_email_default.html DESTINATION ${DATADIR})
+
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef EMAIL_VIEWER_JS_H_
+#define EMAIL_VIEWER_JS_H_
+
+#include "email-viewer.h"
+
+#define VIEWER_JS_FILE_PATH JSDIR"/email-viewer.js"
+
+#define COMPOSER_JS_REMOVE_IM "IM_JS.parentNode.removeChild(IM_JS);"
+
+#define VIEWER_JS_GET_HTML_BODY_CONTENT \
+ "function getHtmlContent() { " \
+ "console.log(\"Here\");" \
+ "var elements = document.getElementsByTagName(\"body\");" \
+ "console.log(\"elements[0].outerHTML : \" + elements[0].outerHTML);" \
+ "return elements[0].outerHTML;" \
+ "};" \
+ "getHtmlContent();"
+
+#define VIEWER_JS_INSERT_IM(s) \
+ "var IM_JS = document.createElement(\"script\");" \
+ "IM_JS.setAttribute(\"type\", \"text/javascript\");" \
+ "IM_JS.setAttribute(\"src\", \""s"\");" \
+ "console.log(IM_JS);" \
+ "if (typeof IM_JS != \"undefined\")" \
+ "document.getElementsByTagName(\"head\")[0].appendChild(IM_JS);"
+
+
+#endif /* EMAIL_VIEWER_JS_H_ */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_email_viewer_logic_H__
+#define __DEF_email_viewer_logic_H__
+
+#include <Elementary.h>
+#include <glib.h>
+#include <sys/time.h>
+#include "email-api.h"
+#include "email-types.h"
+
+#define ATTACH_MAX 65536
+#define CONCAT_FORMAT(x, y, z) ((x<<16) | (y<<8) | z)
+
+typedef struct _EmailViewerPrivate EmailViewerPrivate;
+struct _EmailViewerPrivate {
+ int mailbox_id;
+ int mail_id;
+ int account_id;
+ unsigned int download_id;
+ gboolean download_mail;
+ gboolean multi_body;
+ gboolean b_att_open;
+ gboolean b_att_save;
+ gboolean b_all_att_save;
+ char *file_id;
+ char *att_file_id;
+ int file_size;
+ int attachment_id;
+ unsigned int view_creation_id;
+ unsigned int download_progress_id;
+ unsigned int download_fail_id;
+ unsigned int email_handle;
+ unsigned int download_all_email_handle[ATTACH_MAX];
+ unsigned int download_all_cnt;
+ unsigned int download_all_fail_cnt;
+ email_mail_data_t *mail_info;
+ email_attachment_data_t *attachment_info;
+ email_address_info_list_t *addrs_info_list;
+ int attachment_count;
+};
+
+typedef struct _EmailViewerProp EmailViewerProp;
+struct _EmailViewerProp {
+ int composer_type;
+ int account_id;
+ int mail_id;
+ int status;
+ int status2;
+ int priority;
+ int att_len;
+ int real_att_len;
+
+ char *src_box;
+ char *sender;
+ char *sender_display_name;
+ char *recipient_to;
+ char *recipient_cc;
+ char *recipient_bcc;
+ char *from_contact_name;
+ char *to_contact_name;
+ char *cc_contact_name;
+ char *bcc_contact_name;
+
+ unsigned int date;
+ unsigned int time;
+ time_t mktime;
+
+ char *subject;
+ char *charset;
+ char *body;
+ char *body_uri;
+ GList *attachments;
+
+ gint64 total_att_size;
+
+ gboolean has_html;
+ gboolean has_attachment;
+ gboolean seen;
+ gboolean lock;
+ gboolean favorite;
+ gboolean request_report;
+ int body_download;
+};
+
+typedef struct _EmailAttachmentType EmailAttachmentType;
+struct _EmailAttachmentType {
+ int attach_id;
+ int index;
+ char *name;
+ char *path;
+ gint64 size;
+ gboolean download_yn;
+ gboolean drm;
+ gboolean inline_content;
+};
+
+gboolean viewer_get_internal_mail_info(EmailViewerProp *prop, EmailViewerPrivate *email_data);
+void viewer_make_internal_mail(EmailViewerProp *prop, EmailViewerPrivate *email_data);
+void viewer_set_mail_seen(EmailViewerProp *prop, email_mail_data_t * mail_info);
+
+#endif /* __DEF_email_viewer_logic_H__ */
+
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_email_viewer_utils_H__
+#define __DEF_email_viewer_utils_H__
+
+#include <glib.h>
+#include <glib/gprintf.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+#include <Elementary.h>
+#include "email-viewer.h"
+
+#undef STR_VALID
+#define STR_VALID(str) \
+ ((str != NULL && strlen(str) > 0) ? TRUE : FALSE)
+
+#undef STR_INVALID
+#define STR_INVALID(str) \
+ ((str == NULL || strlen(str) == 0) ? TRUE : FALSE)
+
+#undef STR_LEN
+#define STR_LEN(str) \
+ ({ char *s = str; (s) ? strlen(s) : 0; })
+
+/* GList iterator */
+#define LIST_ITER_START(i, list) \
+ for (i = 0; i < g_list_length(list); ++i)
+
+#define LIST_ITER_START_REVERSE(i, list) \
+ for (i = (g_list_length(list) - 1); i >= 0; --i)
+
+#define LIST_ITER_GET(i, list) \
+ g_list_nth(list, i)
+
+#define LIST_ITER_GET_DATA(i, list) \
+ g_list_nth_data(list, i)
+
+typedef void (*popup_cb) (void *data, Evas_Object *obj, void *event_info);
+
+Evas_Object *viewer_make_thumbnail(char *path, Evas_Object *parent);
+void _create_notify(EmailViewerUGD *ug_data, char *header, char *content,
+ int btn_num, char *btn1_lb, popup_cb resp_cb1,
+ char *btn2_lb, popup_cb resp_cb2, popup_cb resp_block_cb);
+
+int _find_folder_id_using_folder_type(EmailViewerUGD *ug_data, email_mailbox_type_e mailbox_type);
+
+void _move_email(EmailViewerUGD *ug_data, int dest_folder_id, gboolean is_delete);
+void _delete_email(EmailViewerUGD *ug_data);
+void _notify_mailbox_size(EmailViewerUGD *ug_data, char *size);
+
+#endif /* __DEF_email_viewer_utils_H__ */
+
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __DEF_email_viewer_webview_H__
+#define __DEF_email_viewer_webview_H__
+
+#include "email-viewer.h"
+
+#define EMAIL_TMP_FILE_PATH DATADIR"/_email.tmp"
+
+Evas_Object *viewer_get_webview(EmailViewerUGD *ug_data, gboolean has_html);
+void viewer_set_webview_content(EmailViewerUGD *ug_data, int reload);
+char *viewer_set_html_content_file(EmailViewerWebview *wvd);
+void viewer_coords_ewk_to_evas(Evas_Object *view, int ewkX, int ewkY, int *evasX, int *evasY);
+void viewer_coords_evas_to_ewk(Evas_Object *view, int evasX, int evasY, int *ewkX, int *ewkY);
+Eina_Bool viewer_send_message(void *data);
+
+#endif /* __DEF_email_viewer_webview_H__ */
+
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _DEF_email_viewer_H_
+#define _DEF_email_viewer_H_
+
+#include <Elementary.h>
+#include <libintl.h>
+#include <appcore-efl.h>
+#undef _
+#include <ui-gadget-module.h>
+#include <Evas.h>
+#include <Ecore_X.h>
+#include <Edje.h>
+#include <Eina.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <time.h>
+#include <E_DBus.h>
+#include <sysman.h>
+#include <aul.h>
+#include <db-util.h>
+#include <vconf.h>
+#include <vconf-keys.h>
+#include <glib.h>
+#include <glib-object.h>
+#include <EWebKit2.h>
+
+#include "email-viewer-logic.h"
+#include <contacts-svc.h>
+#include "email-utils.h"
+#include "email-locale.h"
+
+#define VIEWER_PACKAGE "email-viewer"
+#define EV_THEME_PATH EDJDIR"/email-viewer-theme.edj"
+#define PATH_VTCALL "/usr/bin/vtmain"
+
+#define _EDJ(o) elm_layout_edje_get(o)
+
+#define DEFAULT_CHARSET "UTF-8"
+
+#define MAILBOX_STR_MAX 128
+#define MAX_STR_LEN 1024
+#define MAX_LABEL_LEN 512
+
+#define CONTACTUI_REQ_ADD_PHONE_NUMBER 19
+#define CONTACTUI_REQ_ADD_EMAIL 20
+#define CONTACTUI_REQ_ADD_URL 21
+#define CONTACTUI_REQ_SELECT_UPDATE_ITEM 11
+#define CONTACTUI_UPDATE_PHONE_NUMBER 0
+#define CONTACTUI_UPDATE_EMAIL 1
+#define CONTACTUI_UPDATE_HOMEPAGE 2
+#define CONTACT_PHONE_CONTACT 0
+#define CONTACTUI_REQ_CONTACT_DETAIL_INFO_VIEW 43
+
+#define EMAIL_VIEW_MAX_TO_COUNT 50
+#define EMAIL_VIEW_MAX_CC_COUNT 50
+#define EMAIL_VIEW_MAX_BCC_COUNT 50
+
+#define ICON_REPLY IMGDIR"/M02_controlbar_icon_reply.png"
+#define ICON_REPLY_ALL IMGDIR"/M02_controlbar_icon_reply.png"
+#define ICON_FORWARD IMGDIR"/M02_controlbar_icon_forward.png"
+#define ICON_MOVE IMGDIR"/M02_controlbar_icon_move.png"
+#define ICON_DELETE IMGDIR"/M02_controlbar_icon_delete.png"
+#define ICON_RESEND IMGDIR"/M02_controlbar_icon_resend.png"
+#define ICON_ADD_TO_CALENDAR IMGDIR"/M02_controlbar_icon_add_calendar.png"
+#define ICON_CONTROLBAR_MORE IMGDIR"/M02_controlbar_icon_more.png"
+
+#define EMAIL_DEFAULT_HTML "file://"DATADIR"/_email_default.html"
+
+#define EMAIL_VIEWER_NOC_WIDTH 710.0
+#define EMAIL_VIEWER_NOC_HIGHT 949.0
+
+typedef enum {
+ EMAIL_POPUP_BODY_DN_OK = 10,
+ EMAIL_POPUP_EMAIL_DELETE_OK,
+ EMAIL_POPUP_EMAIL_MOVETO_SPAM_OK,
+ EMAIL_POPUP_EMAIL_MOVETO_INBOX_OK,
+ EMAIL_POPUP_BODY_DN_CANCEL,
+ EMAIL_POPUP_ATT_DN_CANCEL,
+ EMAIL_POPUP_ATT_ALL_DN_CANCEL,
+ EMAIL_POPUP_HTML_LOAD_CANCEL,
+ EMAIL_POPUP_MAX
+} EV_POPUP_RESPONSE_ID;
+
+typedef enum {
+ BODY_TYPE_TEXT = 0,
+ BODY_TYPE_HTML = 1,
+ BODY_TYPE_INVALID
+} MESSAGE_BODY_TYPE;
+
+typedef enum {
+ EMAIL_VIEWER_PROGRESSBAR_ATT = 0,
+ EMAIL_VIEWER_PROGRESSBAR_ATT_ALL,
+ EMAIL_VIEWER_PROGRESSBAR_BODY,
+ EMAIL_VIEWER_PROGRESSBAR_HTML,
+ EMAIL_VIEWER_PROGRESSBAR_MAX
+} EMAIL_VIEWER_PROGRESSBAR_TYPE;
+
+typedef struct list_data list_data;
+struct list_data {
+ gchar *mailbox_ug;
+
+ gchar *from;
+ gchar *title;
+ gchar *timeordate;
+ gchar *group_title;
+ gboolean is_attachment;
+ gboolean is_seen;
+ gboolean is_sending_now;
+ gboolean is_body_download;
+ gint mail_id;
+ gint account_id;
+ gint chksel;
+ gint idx;
+ Elm_Object_Item *item;
+};
+
+typedef struct _EMAIL_CONTACT_LIST_INFO_S {
+ int index;
+#ifndef _NEW_CT_SVC_API
+ char *first_name;
+ char *last_name;
+#else
+ char *display;
+#endif
+ char *email_address;
+ char display_name[40];
+} EMAIL_CONTACT_LIST_INFO_S;
+
+typedef struct _EmailViewerWebview EmailViewerWebview;
+struct _EmailViewerWebview {
+ Evas_Coord minw, minh;
+ Evas_Coord w, h;
+ int content_w, content_h;
+ float zoom_rate;
+
+ MESSAGE_BODY_TYPE body_type;
+ MESSAGE_BODY_TYPE body_type_prev;
+
+ char *html_content;
+ char *text_content;
+ char *uri;
+ char *charset;
+};
+
+typedef struct ug_data EmailViewerUGD;
+struct ug_data {
+ Evas_Object *base;
+ ui_gadget_h ug;
+
+ /* base */
+ Evas *evas;
+ Evas_Object *win_main;
+ Evas_Object *layout_main;
+ Evas_Object *sub_ly;
+ Evas_Object *bg;
+ Elm_Theme *theme;
+ int main_w;
+ int main_h;
+
+ /* arguments */
+ int account_id;
+ int account_type;
+ int mail_id;
+ char *mailbox_name;
+ int mailbox_id;
+ char account_email_address[MAX_STR_LEN];
+
+ /* for flick */
+ int prev_mail_id;
+ int next_mail_id;
+ int list_prev_idx;
+ int list_next_idx;
+ int mail_list_cur_idx;
+ GList *mail_list;
+
+ /* flags */
+ int got_att;
+ int b_internal;
+ int subject_onoff_flag;
+ int attach_onoff_flag;
+ int reset_view;
+ int b_noc;
+ int b_direct_destroy;
+ int b_partial_body;
+ int m_is_multi_touch;
+ int scroller_locked;
+ int b_contact_ug_launched;
+ int display_download_result;
+ int option_header_opened;
+ Eina_Bool b_load_finished;
+ Eina_Bool b_show_remote_images;
+ Eina_Bool is_webview_scrolling;
+ Eina_Bool is_main_scroller_scrolling;
+
+ /* for ug create */
+ int create_contact_arg;
+ int update_contact_type;
+
+ /* Scalable UI */
+ float scale_factor;
+ float webview_width;
+ float webview_height;
+ float webview_width_landscape;
+ float webview_height_landscape;
+ int webview_margin;
+ int webview_margin_landscape;
+
+ /* for cut link */
+ Ecore_Timer *cutlink_timer;
+ Eina_Bool last_click_have_link;
+ Eina_Bool last_click_have_image;
+ char *last_click_link_url;
+ char *last_click_link_text;
+ char *last_click_img_url;
+
+ /* rotation */
+ int isRotate;
+
+ /* mailbox list */
+ email_mailbox_type_e mailbox_type;
+ GList *folder_list;
+ email_mailbox_t *move_mailbox_list;
+ int move_mailbox_count;
+
+ /* Evas Object */
+ Evas_Object *dg_subject;
+ Evas_Object *lb_subject;
+ Evas_Object *ly_subject;
+ Evas_Object *dg_attach;
+ Evas_Object *addrs;
+ Evas_Object *scroller;
+ Evas_Object *conformant;
+ Evas_Object *webview_bx;
+ Evas_Object *main_bx;
+ Evas_Object *navi_bar;
+ Evas_Object *ctr_bar;
+ Evas_Object *up_ctrl_bar;
+ Evas_Object *webview;
+ Evas_Object *webkit;
+ Evas_Object *con_popup;
+ Evas_Object *timeout_popup;
+ Evas_Object *select_info;
+ Evas_Object *selectioninfo_layout;
+ Evas_Object *notify;
+ Evas_Object *pb_notify;
+ Evas_Object *pb_notify_lb;
+ Evas_Object *dn_popup;
+ Evas_Object *dn_progress;
+ Evas_Object *att_progress;
+ Evas_Object *b_btn;
+ Evas_Object *prev_btn;
+ Evas_Object *more_btn;
+ Evas_Object *next_btn;
+ Evas_Object *dn_btn;
+ Evas_Object *partial_dn_btn;
+ Evas_Object *partial_dn_btn_bx;
+ Evas_Object *top_sp;
+ Evas_Object *noc_bx;
+ Evas_Object *noc;
+ Evas_Object *to_mbe;
+ Evas_Object *cc_mbe;
+ Evas_Object *bcc_mbe;
+
+ Evas_Object *opt_btn1;
+ Evas_Object *opt_btn2;
+ Evas_Object *opt_btn3;
+ Evas_Object *move_cbar;
+
+ Evas_Object *to_ly;
+ Evas_Object *cc_ly;
+ Evas_Object *bcc_ly;
+ Evas_Object *from_btn;
+ Evas_Object *attach_hd_ly;
+ Evas_Object **attach_ex_ly;
+ Evas_Object *attach_hd_bk;
+ Evas_Object **attach_ex_bk;
+
+ Evas_Object *progress_bar[ATTACH_MAX];
+ Evas_Object *progress_bar_ly[ATTACH_MAX];
+
+ Elm_Object_Item *reply_ctr_it;
+ Elm_Object_Item *replyall_ctr_it;
+ Elm_Object_Item *forward_ctr_it;
+ Elm_Object_Item *calendar_ctr_it;
+ Elm_Object_Item *resend_ctr_it;
+ Elm_Object_Item *move_ctr_it;
+ Elm_Object_Item *del_ctr_it;
+ Elm_Object_Item *more_ctr_it;
+
+ Elm_Object_Item *more_ctx_block_item;
+
+ Elm_Object_Item *navi_main_it;
+ Elm_Object_Item *navi_move_it1;
+ Elm_Object_Item *navi_move_it2;
+
+ E_DBus_Connection *edbus_conn;
+ EmailViewerWebview *webview_data;
+ EmailViewerPrivate *email_data;
+ EmailViewerProp *property;
+
+ Evas_Object *gl;
+ Elm_Genlist_Item_Class itc1;
+ Elm_Genlist_Item_Class itc2;
+ Elm_Genlist_Item_Class itc3;
+
+ GList *from_list;
+ GList *to_list;
+ GList *cc_list;
+ GList *bcc_list;
+
+ ui_gadget_h ug_composer;
+ ui_gadget_h ug_image_viewer;
+ ui_gadget_h ug_contacts_search;
+ ui_gadget_h ug_calendar_edit;
+
+ Ecore_Idler *idler;
+ Ecore_Timer *timer;
+};
+
+void _hide_view(EmailViewerUGD *ug_data);
+void _launch_composer(EmailViewerUGD *ug_data, int type);
+
+#endif /* __DEF_email-viewer_H__ */
+
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "email-viewer-logic.h"
+#include "email-viewer-utils.h"
+#include "email-utils.h"
+#include "email-engine.h"
+#include "email-debug.h"
+
+void _set_mail_flags(EmailViewerProp *prop, EmailViewerPrivate *email_data);
+static void _set_status(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _set_priority(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _set_lock(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _set_favorite(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _set_request_report(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _set_body_download(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_sender(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_date(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_recipients(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_subject(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_body(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_html_body(EmailViewerProp *prop, email_mail_data_t * mail_info);
+static void _make_internal_attachments(EmailViewerProp *prop, email_attachment_data_t *attachment_info, int attachment_count);
+static char *_str_removing_quots(char *src);
+
+gboolean viewer_get_internal_mail_info(EmailViewerProp *prop, EmailViewerPrivate *email_data)
+{
+ debug_log("");
+
+ int err = 0;
+
+ if (email_data->mail_info) {
+ debug_log("mail_info freed");
+ email_free_mail_data(&(email_data->mail_info), 1);
+ email_data->mail_info = NULL;
+ }
+
+ if (email_data->attachment_info && email_data->attachment_count > 0) {
+ debug_log("attachment_info freed p[%p] n[%d]", email_data->attachment_info, email_data->attachment_count);
+ email_free_attachment_data(&(email_data->attachment_info), email_data->attachment_count);
+ email_data->attachment_info = NULL;
+ email_data->attachment_count = 0;
+ }
+
+ if ((err = email_get_mail_data(email_data->mail_id, &(email_data->mail_info))) != EMAIL_ERROR_NONE) {
+ debug_log("fail to get mail data - err (%d)", err);
+ return FALSE;
+ }
+
+ if (email_data->mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return FALSE;
+ }
+
+ if ((err = email_get_attachment_data_list(email_data->mail_id, &(email_data->attachment_info), &(email_data->attachment_count))) != EMAIL_ERROR_NONE) {
+ debug_log("fail to get attachment data - err (%d)", err);
+ return FALSE;
+ }
+
+ _set_mail_flags(prop, email_data);
+
+ return TRUE;
+}
+
+void viewer_make_internal_mail(EmailViewerProp *prop, EmailViewerPrivate *email_data)
+{
+ debug_log("");
+ email_mail_data_t *mail_info = email_data->mail_info;
+ email_attachment_data_t *attachment_info = email_data->attachment_info;
+ int attachment_count = email_data->attachment_count;
+
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ /* sender */
+ _make_internal_sender(prop, mail_info);
+
+ /* datetime */
+ _make_internal_date(prop, mail_info);
+
+ /* recipient to, cc, bcc */
+ _make_internal_recipients(prop, mail_info);
+
+ /* subject */
+ _make_internal_subject(prop, mail_info);
+
+ /* body */
+ _make_internal_body(prop, mail_info);
+
+ /* html body */
+ _make_internal_html_body(prop, mail_info);
+
+ /* attachment */
+ _make_internal_attachments(prop, attachment_info, attachment_count);
+}
+
+void viewer_set_mail_seen(EmailViewerProp *prop, email_mail_data_t *mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ int err = 0;
+
+ if (!mail_info->flags_seen_field) {
+ debug_log("newly arrived mail");
+
+ int mail_id = mail_info->mail_id;
+ err = email_set_flags_field(mail_info->account_id, &mail_id, 1, EMAIL_FLAGS_SEEN_FIELD, 1, 1);
+
+ if (err != EMAIL_ERROR_NONE) {
+ debug_log("Failed to modify mail seen flag");
+ }
+ }
+}
+
+void _set_mail_flags(EmailViewerProp *prop, EmailViewerPrivate *email_data)
+{
+ debug_log("");
+ email_mail_data_t *mail_info = email_data->mail_info;
+
+ _set_status(prop, mail_info);
+ _set_priority(prop, mail_info);
+ _set_lock(prop, mail_info);
+ _set_favorite(prop, mail_info);
+ _set_request_report(prop, mail_info);
+ _set_body_download(prop, mail_info);
+}
+
+static void _set_status(EmailViewerProp *prop, email_mail_data_t *mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ prop->status2 = mail_info->save_status;
+ debug_log("status2 (%d)", prop->status2);
+}
+
+static void _set_priority(EmailViewerProp *prop, email_mail_data_t *mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ prop->priority = mail_info->priority;
+ debug_log("priority (%d)", prop->priority);
+}
+
+static void _set_lock(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ prop->lock = mail_info->lock_status ? TRUE : FALSE;
+ debug_log("lock (%d)", prop->lock);
+}
+
+static void _set_favorite(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ prop->favorite = mail_info->flags_flagged_field;
+ debug_log("favorite (%d)", prop->favorite);
+}
+
+static void _set_request_report(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ email_account_t *account = NULL;
+ if (!email_engine_get_account_full_data(mail_info->account_id, &account)) {
+ debug_log("Failed email_engine_get_account_full_data");
+ return;
+ }
+
+ if (account) {
+ account_user_data_t *ud = (account_user_data_t*)account->user_data;
+ if (ud != NULL) {
+ debug_log("send_read_report is %d", ud->send_read_report);
+ prop->request_report = ud->send_read_report;
+ }
+ email_free_account(&account, 1);
+ account = NULL;
+ }
+ debug_log("request_report (%d)", prop->request_report);
+}
+
+static void _set_body_download(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ if (mail_info == NULL) {
+ debug_log("mail_info is NULL");
+ return;
+ }
+
+ prop->body_download = mail_info->body_download_status;
+ debug_log("body_download (%d)", prop->body_download);
+}
+
+static void _make_internal_sender(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ gchar **vector;
+ if (STR_VALID(mail_info->full_address_from)) {
+ if (STR_VALID(prop->sender)) {
+ free(prop->sender);
+ prop->sender = NULL;
+ }
+ debug_log("head from (%s)", mail_info->full_address_from);
+
+ vector = g_strsplit_set(mail_info->full_address_from, "<>", -1);
+ if (vector == NULL) {
+ debug_log("vector == NULL");
+ return;
+ }
+
+ prop->sender_display_name = _str_removing_quots(vector[0]);
+ prop->sender = g_strdup(vector[1]);
+
+ debug_log("display name (%s)", prop->sender_display_name);
+ debug_log("sender (%s)", prop->sender);
+
+ g_strfreev(vector);
+ }
+ debug_log("sender (%s)", prop->sender ? prop->sender : "@niL");
+}
+
+static void _make_internal_date(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+
+ prop->mktime = mail_info->date_time;
+}
+
+static void _make_internal_recipients(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+
+ if (STR_VALID(mail_info->full_address_to)) {
+ if (STR_VALID(prop->recipient_to)) {
+ free(prop->recipient_to);
+ prop->recipient_to = NULL;
+ }
+ prop->recipient_to = g_strdup(mail_info->full_address_to);
+ }
+ debug_log("recipient to (%s)", prop->recipient_to);
+
+ if (STR_VALID(mail_info->full_address_cc)) {
+ if (STR_VALID(prop->recipient_cc)) {
+ free(prop->recipient_cc);
+ prop->recipient_cc = NULL;
+ }
+ prop->recipient_cc = g_strdup(mail_info->full_address_cc);
+ }
+ debug_log("recipient cc (%s)", prop->recipient_cc);
+
+ if (STR_VALID(mail_info->full_address_bcc)) {
+ if (STR_VALID(prop->recipient_bcc)) {
+ free(prop->recipient_bcc);
+ prop->recipient_bcc = NULL;
+ }
+ prop->recipient_bcc = g_strdup(mail_info->full_address_bcc);
+ }
+ debug_log("recipient bcc (%s)", prop->recipient_bcc);
+}
+
+static void _make_internal_subject(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ if (!STR_VALID(mail_info->subject)) {
+ debug_log("mail_info->head->subject is not valid");
+ return;
+ }
+
+ if (STR_VALID(prop->subject)) {
+ free(prop->subject);
+ prop->subject = NULL;
+ }
+ prop->subject = g_strdup(mail_info->subject);
+
+ debug_log("subject (%s)", prop->subject);
+}
+
+static void _make_internal_body(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+ char *body_plain = NULL;
+
+ if (STR_VALID(mail_info->file_path_plain)) {
+ if (STR_VALID(prop->body_uri)) {
+ free(prop->body_uri);
+ prop->body_uri = NULL;
+ }
+ prop->body_uri = g_strdup(mail_info->file_path_plain);
+ }
+
+ char *plain_charset = email_parse_get_filename_from_path(mail_info->file_path_plain);
+
+ if (STR_VALID(plain_charset)) {
+ if (STR_VALID(prop->charset)) {
+ free(prop->charset);
+ prop->charset = NULL;
+ }
+ prop->charset = g_strdup(plain_charset);
+ debug_log("charset: %s", prop->charset);
+ g_free(plain_charset);
+ }
+
+ if (STR_VALID(mail_info->file_path_plain)) {
+ if (STR_VALID(prop->body)) {
+ free(prop->body);
+ prop->body = NULL;
+ }
+ body_plain = email_get_buff_from_file(mail_info->file_path_plain, 0);
+ prop->body = body_plain;
+ }
+}
+
+static void _make_internal_html_body(EmailViewerProp *prop, email_mail_data_t * mail_info)
+{
+ debug_log("");
+
+ char *html = mail_info->file_path_html;
+
+ if (STR_VALID(html)) {
+ debug_log("html body path (%s)", html);
+
+ if (STR_VALID(prop->body_uri)) {
+ free(prop->body_uri);
+ prop->body_uri = NULL;
+ }
+
+ prop->body_uri = g_strdup(mail_info->file_path_html);
+ prop->has_html = TRUE;
+
+ if (prop->body_uri) {
+ if (STR_VALID(prop->charset)) {
+ free(prop->charset);
+ prop->charset = NULL;
+ }
+
+ prop->charset = email_parse_get_filename_from_path(prop->body_uri);
+ debug_log("charset: %s", prop->charset);
+ }
+ }
+}
+
+static void _make_internal_attachments(EmailViewerProp *prop, email_attachment_data_t *attachment_info, int attachment_count)
+{
+ debug_log("");
+ int index = 0;
+
+ if (attachment_info == NULL) {
+ debug_log("attachment_info is NULL");
+ return;
+ }
+
+ if (attachment_count <= 0) {
+ debug_log("attachment_count <= 0");
+ return;
+ }
+
+ if (prop->attachments) {
+ debug_log("Free the existing attachments..");
+ int i;
+ LIST_ITER_START(i, prop->attachments) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, prop->attachments);
+ if (info->name)
+ free(info->name);
+ if (info->path)
+ free(info->path);
+ }
+ g_list_free(prop->attachments);
+ prop->attachments = NULL;
+ prop->real_att_len = 0;
+ prop->total_att_size = 0;
+ prop->att_len = 0;
+ }
+
+ int i = 0;
+ for (i = 0; i < attachment_count; i++) {
+ email_attachment_data_t *attachment = attachment_info + i;
+ debug_log("attachments id (%d)", attachment->attachment_id);
+ debug_log("attachments name (%s)", attachment->attachment_name ? attachment->attachment_name : "@niL");
+ debug_log("attachments path (%s)", attachment->attachment_path ? attachment->attachment_path : "@niL");
+ debug_log("attachments size (%d)", attachment->attachment_size);
+ debug_log("attachments download (%d)", attachment->save_status);
+ debug_log("attachments drm (%d)", attachment->drm_status);
+ debug_log("attachments inline? (%d)", attachment->inline_content_status);
+
+ EmailAttachmentType *attachment_item = g_new0(EmailAttachmentType, 1);
+ if (attachment_item) {
+ /* id */
+ attachment_item->attach_id = attachment->attachment_id;
+
+ /* index */
+ attachment_item->index = ++index;
+
+ /* name */
+ if (STR_VALID(attachment->attachment_name)) {
+ attachment_item->name = g_strdup(attachment->attachment_name);
+ }
+ /* path */
+ if (STR_VALID(attachment->attachment_path)) {
+ if (STR_INVALID(attachment_item->name)) {
+ attachment_item->name = email_parse_get_filename_from_path(attachment->attachment_path);
+ }
+ attachment_item->path = g_strdup(attachment->attachment_path);
+ }
+ /* size */
+ if (attachment->attachment_size <= 0) {
+ attachment_item->size = email_get_file_size(attachment->attachment_path);
+ } else {
+ attachment_item->size = (guint64) attachment->attachment_size;
+ debug_log("attachment_item size (%d)", (gint) attachment_item->size);
+ }
+
+ /* downloaded. */
+ attachment_item->download_yn = attachment->save_status ? TRUE : FALSE;
+
+ /* drm */
+ attachment_item->drm = attachment->drm_status ? TRUE : FALSE;
+
+ /* inline */
+ attachment_item->inline_content = attachment->inline_content_status ? TRUE : FALSE;
+ if (!attachment->inline_content_status) {
+ (prop->real_att_len)++;
+ prop->total_att_size += (guint64) attachment->attachment_size;
+ }
+
+ (prop->att_len)++;
+
+ prop->attachments = g_list_append(prop->attachments, attachment_item);
+ }
+ }
+
+ if (prop->real_att_len > 0)
+ prop->has_attachment = TRUE;
+}
+
+static char *_str_removing_quots(char *src)
+{
+ int i = 0, j = 0;
+ int len = strlen(src);
+ char *ret;
+
+ ret = (char *)malloc(len + 1);
+ memset(ret, 0, len + 1);
+
+ for (i = 0; i < len; i++) {
+ if (src[i] != '"') {
+ ret[j++] = src[i];
+ }
+ }
+
+ return ret;
+}
+
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <sys/time.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <time.h>
+#include <errno.h>
+#include <Ethumb.h>
+#include <mm_file.h>
+#include <mm_util_jpeg.h>
+#include <mm_error.h>
+#include <Efreet_Mime.h>
+#include <status.h>
+
+#include "email-viewer-utils.h"
+#include "email-common-types.h"
+#include "email-utils.h"
+#include "email-engine.h"
+#include "email-debug.h"
+
+#define MYFILE_IMGE_PATH "/opt/apps/com.samsung.myfile/res/images"
+#define MB_SVC_FILE_PATH_LEN_MAX 255
+
+static void _thumbnail_generated_cb(void *data, Ethumb *e, Eina_Bool success);
+
+struct _mtd {
+ char *category; /* Not used at present */
+ char *key;
+ char *icon_path;
+ char *exe_path; /* Not used at present */
+ char *param; /* Not used at present */
+ int is_direct_launch; /* Not used at present */
+ int need_sort_param; /* Not used at present */
+ int having_a_thumbnail; /* Not used at present */
+};
+
+static struct _mtd mtd_main[] = {
+ {"ETC", "etc", MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL, NULL, TRUE, FALSE, FALSE},
+ {"Music", "audio/mpeg", IMGDIR "/U01_icon_music.png", "music", NULL, TRUE, TRUE, TRUE},
+ {"Music", "audio/x-wav", IMGDIR "/U01_icon_music.png", "music", NULL, TRUE, TRUE, TRUE},
+ {"Music", "audio/x-ms-wma", IMGDIR "/U01_icon_music.png", "music", NULL, TRUE, TRUE, TRUE},
+ {"Voice", "audio/AMR", IMGDIR "/U01_icon_music.png", "voicerecorder", NULL, TRUE, FALSE, FALSE},
+ {"Video", "video/x-msvideo", IMGDIR "/U01_icon_video.png", "video-player", NULL, TRUE, FALSE, TRUE},
+ {"Video", "video/mp4", IMGDIR "/U01_icon_video.png", "video-player", NULL, TRUE, FALSE, TRUE},
+ {"Video", "video/3gpp", IMGDIR "/U01_icon_video.png", "video-player", NULL, TRUE, FALSE, TRUE},
+ {"Video", "video/x-ms-asf", IMGDIR "/U01_icon_video.png", "video-player", NULL, TRUE, FALSE, TRUE},
+ {"Video", "video/x-ms-wmv", IMGDIR "/U01_icon_video.png", "video-player", NULL, TRUE, FALSE, TRUE},
+ {"Image", "image/svg+xml", MYFILE_IMGE_PATH "/myfile_icon_svg.png", "svg-viewer", NULL, TRUE, FALSE, FALSE},
+ {"PDF", "application/pdf", IMGDIR "/U01_icon_pdf.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Doc", "application/msword", IMGDIR "/U01_icon_word.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Doc", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", IMGDIR "/U01_icon_word.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"PPT", "application/vnd.ms-powerpoint", IMGDIR "/U01_icon_ppt.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"PPT", "application/vnd.openxmlformats-officedocument.presentationml.presentation", IMGDIR "/U01_icon_ppt.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Text", "text/plain", IMGDIR "/U01_icon_text.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Text", "text/html", IMGDIR "/U01_icon_html.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Excel", "application/vnd.ms-excel", IMGDIR "/U01_icon_excel.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", IMGDIR "/U01_icon_excel.png", "documents", NULL, TRUE, FALSE, FALSE},
+ {"Flash", "application/x-shockwave-flash", IMGDIR "/U01_icon_swf.png", "flash-player", NULL, TRUE, FALSE, TRUE},
+ {"None", "video/x-flv", IMGDIR "/U01_icon_video.png", NULL, NULL, FALSE, FALSE, FALSE},
+ {"Java", "text/vnd.sun.j2me.app-descriptor", MYFILE_IMGE_PATH "/myfile_icon_java.png", NULL, NULL, FALSE, FALSE, FALSE},
+ {"Java", "application/x-java-archive", MYFILE_IMGE_PATH "/myfile_icon_java.png", NULL, NULL, FALSE, FALSE, FALSE},
+ {"SVG", "image/svg+xml", MYFILE_IMGE_PATH "/myfile_icon_svg.png", "svg-viewer", NULL, TRUE, FALSE, FALSE},
+ {"ETC", "etc", MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL, NULL, TRUE, FALSE, FALSE},
+ {"VCARD", "text/directory", MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL, NULL, FALSE, FALSE, FALSE},
+ {"VCALENDAR", "text/calendar", MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL, NULL, FALSE, FALSE, FALSE},
+ {NULL, NULL, NULL, NULL}
+};
+
+static void _popup_response_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+}
+
+Evas_Object *viewer_make_thumbnail(char *path, Evas_Object *parent)
+{
+ debug_log("");
+
+ if (parent == NULL) {
+ debug_log("parent obj is NULL");
+ return NULL;
+ }
+
+ Evas_Object *icon = NULL;
+ icon = elm_icon_add(parent);
+
+ if (STR_INVALID(path)) {
+ elm_icon_file_set(icon, MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL);
+ evas_object_size_hint_min_set(icon, 30, 30);
+ return icon;
+ }
+
+ char *default_icon_path = NULL;
+ char thumb_path[MB_SVC_FILE_PATH_LEN_MAX] = { 0, };
+
+ debug_log("file path: %s", path);
+ efreet_mime_init();
+ char *type = (char *)efreet_mime_type_get(ecore_file_file_get(path));
+ char *mime_type = g_strdup(type);
+ debug_log("mime type: %s", mime_type);
+ efreet_mime_shutdown();
+
+ if (mime_type) {
+ struct _mtd *mtd = (struct _mtd *)mtd_main;
+
+ while (mtd && mtd->key) {
+ if (strncmp(mime_type, mtd->key, strlen(mime_type)) == 0) {
+ debug_log("key (%s)", mtd->key);
+ debug_log("type(%s)", type);
+ default_icon_path = g_strdup(mtd->icon_path);
+ debug_log("default_icon_path: %s", default_icon_path);
+ break;
+ }
+ mtd++;
+ }
+
+ if (strncmp(mime_type, "image", 5) == 0) {
+ Ethumb *e = NULL;
+ e = ethumb_new();
+
+ ethumb_thumb_format_set(e, ETHUMB_THUMB_FDO);
+ ethumb_thumb_aspect_set(e, ETHUMB_THUMB_KEEP_ASPECT);
+ ethumb_thumb_size_set(e, 40, 40);
+ ethumb_thumb_category_set(e, "thumbnails");
+ ethumb_thumb_dir_path_set(e, DATADIR);
+ ethumb_file_set(e, path, NULL);
+
+ const char *thumb_path_tmp = NULL;
+ const char *key = NULL;
+ ethumb_thumb_path_get(e, &thumb_path_tmp, &key);
+
+ if (!ecore_file_exists(thumb_path_tmp)) {
+ if (!ethumb_exists(e)) {
+ ethumb_generate(e, _thumbnail_generated_cb, NULL, NULL);
+ }
+ }
+
+ if (thumb_path_tmp) {
+ debug_log("thumbnail path = %s", thumb_path);
+ snprintf(thumb_path, sizeof(thumb_path), "%s", thumb_path_tmp);
+ }
+
+ ethumb_free(e);
+ } else if (strncmp(mime_type, "video", 5) == 0) {
+ int ret = 0;
+ int video_track_num = 0;
+ int video_w = 0;
+ int video_h = 0;
+ int thumb_len = 0;
+ void *stream = NULL;
+ MMHandleType content_attrs = 0;
+
+ ret = mm_file_create_content_attrs(&content_attrs, path);
+
+ if (ret == MM_ERROR_NONE && content_attrs) {
+ mm_file_get_attrs(content_attrs, NULL,
+ MM_FILE_CONTENT_VIDEO_TRACK_COUNT,
+ &video_track_num, NULL);
+
+ if (video_track_num) {
+ mm_file_get_attrs(content_attrs, NULL,
+ MM_FILE_CONTENT_VIDEO_WIDTH, &video_w,
+ MM_FILE_CONTENT_VIDEO_HEIGHT, &video_h,
+ MM_FILE_CONTENT_VIDEO_THUMBNAIL, &stream,
+ &thumb_len, NULL);
+
+ if (stream) {
+ int mm_ret = 0;
+ char filename[1024] = { 0, };
+ char *file_name = NULL;
+ char *file_ext = NULL;
+
+ email_parse_get_filename_n_ext_from_path(path, &file_name, &file_ext);
+ snprintf(filename, sizeof(filename), "%s%s%s%s", DATADIR"/", file_name, file_ext, ".jpg");
+ g_free(file_name);
+ g_free(file_ext);
+
+ mm_ret = mm_util_jpeg_encode_to_file(filename, stream,
+ video_w, video_h,
+ MM_UTIL_JPEG_FMT_RGB888, 70);
+
+ if (ecore_file_exists(filename)) {
+ snprintf(thumb_path, sizeof(thumb_path), "%s", filename);
+ debug_log("file : %s, thumb_path : %s", path, thumb_path);
+ }
+ }
+ }
+
+ mm_file_destroy_content_attrs(content_attrs);
+ } else {
+ debug_log("fail to mm_file_create_content_attrs - error(%x)", ret);
+ }
+ } else if (strncmp(mime_type, "audio", 5) == 0) {
+ int tag_ret = 0;
+ MMHandleType tag_attrs = 0;
+
+ tag_ret = mm_file_create_tag_attrs(&tag_attrs, path);
+
+ if (tag_ret == MM_ERROR_NONE && tag_attrs) {
+ char *error = NULL;
+ char *art_name = NULL;
+ int art_len = 0;
+ int art_size = 0;
+
+ tag_ret = mm_file_get_attrs(tag_attrs, &error,
+ MM_FILE_TAG_ARTWORK, &art_name, &art_len,
+ MM_FILE_TAG_ARTWORK_SIZE, &art_size, NULL);
+
+ if (tag_ret != MM_ERROR_NONE) {
+ if (error) {
+ debug_log("fail to mm_file_get_attrs() - ret(%x), error(%s)", tag_ret, error);
+ free(error);
+ } else {
+ debug_log("fail to mm_file_get_attrs() - ret(%x)", tag_ret);
+ }
+ }
+
+ if (art_name) {
+ gchar *mm_path = NULL;
+ int fd = g_file_open_tmp(NULL, &mm_path, NULL);
+
+ if (fd != -1) {
+ FILE *fp = fdopen(fd, "w");
+ if (fp == NULL) {
+ debug_log("fail to fdopen()");
+ close(fd);
+ } else {
+ int n = fwrite((unsigned char *)art_name, sizeof(char), art_size, fp);
+ if (n != art_size) {
+ debug_log("fail to fwrite()");
+ fclose(fp);
+ close(fd);
+ } else {
+ fflush(fp);
+ fclose(fp);
+ close(fd);
+ }
+ }
+ }
+
+ snprintf(thumb_path, sizeof(thumb_path), "%s", mm_path);
+ debug_log("file : %s, albumart_path : %s", path, thumb_path);
+ if (mm_path)
+ g_free(mm_path);
+ }
+ }
+
+ mm_file_destroy_tag_attrs(tag_attrs);
+ }
+
+ if (strlen(thumb_path) > 0) {
+ debug_log("thumbpath: %s", thumb_path);
+ elm_icon_file_set(icon, thumb_path, NULL);
+ } else {
+ if (default_icon_path) {
+ debug_log("thumbpath: %s", default_icon_path);
+ elm_icon_file_set(icon, default_icon_path, NULL);
+ } else {
+ elm_icon_file_set(icon, MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL);
+ evas_object_size_hint_min_set(icon, 30, 30);
+ }
+ }
+ } else {
+ elm_icon_file_set(icon, MYFILE_IMGE_PATH "/myfile_icon_etc.png", NULL);
+ evas_object_size_hint_min_set(icon, 30, 30);
+ }
+
+ g_free(mime_type);
+ g_free(default_icon_path);
+
+ return icon;
+}
+
+static void _thumbnail_generated_cb(void *data, Ethumb *e, Eina_Bool success)
+{
+ debug_log("");
+
+ if (success) {
+ debug_log("Succeed in thumbnail generation");
+ } else {
+ debug_log("Fail to create thumbnail");
+ }
+}
+
+void _create_notify(EmailViewerUGD *ug_data, char *header, char *content,
+ int btn_num, char *btn1_lb, popup_cb resp_cb1,
+ char *btn2_lb, popup_cb resp_cb2, popup_cb resp_block_cb)
+{
+ debug_log("");
+ Evas_Object *notify = NULL;
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+
+ notify = elm_popup_add(ug_data->win_main);
+ debug_log("notify: %p, win_main: %p", notify, ug_data->win_main);
+ if (!notify) {
+ debug_log("elm_popup_add returns NULL");
+ return;
+ }
+ evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ ug_data->notify = notify;
+
+ if (header) {
+ elm_object_part_text_set(notify, "title,text", header);
+ }
+
+ if (content) {
+ elm_object_text_set(notify, content);
+ }
+
+ if (btn_num == 0) {
+ elm_popup_timeout_set(notify, 2.0);
+ evas_object_smart_callback_add(notify, "block,clicked", resp_block_cb, ug_data);
+ }
+
+ if (btn_num == 1) {
+ Evas_Object *btn1 = elm_button_add(notify);
+ elm_object_style_set(btn1, "popup_button/default");
+ elm_object_text_set(btn1, btn1_lb);
+ elm_object_part_content_set(notify, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", resp_cb1, ug_data);
+ }
+ if (btn_num == 2) {
+ Evas_Object *btn1 = elm_button_add(notify);
+ elm_object_style_set(btn1, "popup_button/default");
+ elm_object_text_set(btn1, btn1_lb);
+ elm_object_part_content_set(notify, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", resp_cb1, ug_data);
+
+ Evas_Object *btn2 = elm_button_add(notify);
+ elm_object_style_set(btn2, "popup_button/default");
+ elm_object_text_set(btn2, btn2_lb);
+ elm_object_part_content_set(notify, "button2", btn2);
+ evas_object_smart_callback_add(btn2, "clicked", resp_cb2, ug_data);
+ }
+
+ evas_object_show(notify);
+}
+
+int _find_folder_id_using_folder_type(EmailViewerUGD *ug_data, email_mailbox_type_e mailbox_type)
+{
+ debug_log("");
+ if (ug_data->folder_list == NULL) {
+ return -1;
+ }
+
+ int i = 0;
+ int cnt = g_list_length(ug_data->folder_list);
+ for (i = 0; i < cnt; i++) {
+ EmailMailboxNameAndAlias *nameandalias = (EmailMailboxNameAndAlias *) g_list_nth_data(ug_data->folder_list, i);
+ int folder_id = nameandalias->mailbox_id;
+ if (mailbox_type == nameandalias->mailbox_type) {
+ return folder_id;
+ }
+ }
+
+ return -1;
+}
+
+void _move_email(EmailViewerUGD *ug_data, int dest_folder_id, gboolean is_delete)
+{
+ debug_log("");
+
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ if (!email_engine_move_mail(priv->account_id, dest_folder_id, priv->mail_id)) {
+ debug_log("Moving email is failed.");
+
+ if (is_delete)
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_DELETE"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ else
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_MOVE"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+
+ } else {
+ debug_log("account_id: %d, moveto folder id: %d, mail_id: %d", priv->account_id, dest_folder_id, priv->mail_id);
+ char str[128] = { 0, };
+ if (is_delete)
+ snprintf(str, sizeof(str), "%s", dgettext("sys_string", "IDS_COM_POP_DELETED"));
+ else
+ snprintf(str, sizeof(str), "%s", dgettext("sys_string", "IDS_COM_POP_MOVED"));
+ int ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+ }
+}
+
+void _delete_email(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ int sync = EMAIL_DELETE_LOCAL_AND_SERVER;
+ if (ug_data->account_type == EMAIL_SERVER_TYPE_POP3) {
+ email_account_t *account_data = NULL;
+ if (email_engine_get_account_full_data(ug_data->account_id, &account_data)) {
+ debug_log("email_engine_get_account");
+ if (account_data) {
+ account_user_data_t *user_data = (account_user_data_t*)account_data->user_data;
+ if (user_data != NULL) {
+ debug_log("pop3_deleting_option:%d", user_data->pop3_deleting_option);
+ if (user_data->pop3_deleting_option == 0) {
+ sync = EMAIL_DELETE_LOCALLY;
+ } else if (user_data->pop3_deleting_option == 1) {
+ sync = EMAIL_DELETE_LOCAL_AND_SERVER;
+ }
+ }
+ email_free_account(&account_data, 1);
+ account_data = NULL;
+ }
+ }
+ }
+
+ if (!email_engine_delete_mail(priv->account_id, priv->mailbox_id, priv->mail_id, sync)) {
+ debug_log("Deleting email is failed.");
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_DELETE"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ } else {
+ debug_log("account_id: %d, mailbox_id: %d, mail_id: %d", priv->account_id, priv->mailbox_id, priv->mail_id);
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", dgettext("sys_string", "IDS_COM_POP_DELETED"));
+ int ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+ }
+}
+
+void _notify_mailbox_size(EmailViewerUGD *ug_data, char *size)
+{
+ debug_log("");
+ RETURN_IF_FAIL(ug_data != NULL);
+ RETURN_IF_FAIL(ug_data->ug != NULL);
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ /* Send mailbox resize notification to mailbox */
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX_SIZE, size);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_result(ug_data->ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "email-viewer-webview.h"
+#include "email-viewer-js.h"
+
+#include "email-debug.h"
+#include "email-engine.h"
+#include "email-html-converter.h"
+
+static void _webview_script_executed_cb(Evas_Object *o, const char *result, void *data);
+static void _webview_get_html_content_cb(Evas_Object *o, const char *result, void *data);
+static void _webview_load_finished_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_load_error_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_load_committed_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_load_noemptylayout_finished_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_load_progress_cb(void *data, Evas_Object *obj, void *event_info);
+
+/* Double_Scroller */
+static void _webview_edge_top_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_edge_bottom_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_scroll_down_cb(void *data, Evas_Object *obj, void *event_info);
+static void _webview_scroll_up_cb(void *data, Evas_Object *obj, void *event_info);
+static int _send_read_report_mail(EmailViewerUGD *ug_data);
+
+extern EmailViewerUGD *_g_ug_data;
+extern ui_gadget_h _g_mailbox_ug;
+
+Evas_Object *viewer_get_webview(EmailViewerUGD *ug_data, gboolean has_html)
+{
+ debug_log("");
+
+ Evas_Object *ewk_view = ewk_view_add(evas_object_evas_get(ug_data->win_main/*layout_main*/));
+ ug_data->webview = ewk_view;
+
+ Ewk_Setting *setting = ewk_view_setting_get(ewk_view);
+
+ ewk_setting_auto_fitting_set(setting, EINA_FALSE);
+ ewk_setting_enable_text_zoom_set(setting, EINA_TRUE);
+
+ if (ewk_setting_load_remote_images_set(setting, ug_data->b_show_remote_images) == EINA_FALSE) {
+ debug_log("SET remote images is FAILED!");
+ }
+
+ /* Double_Scroller */
+ ewk_view_vertical_panning_hold_set(ug_data->webview, EINA_TRUE);
+ evas_object_smart_callback_add(ug_data->webview, "edge,top", _webview_edge_top_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "edge,bottom", _webview_edge_bottom_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "scroll,down", _webview_scroll_down_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "scroll,up", _webview_scroll_up_cb, ug_data);
+
+ /*evas_object_smart_callback_add(ug_data->webkit, "load,progress", _webview_progressed_cb, ug_data);*/
+ evas_object_smart_callback_add(ug_data->webview, "load,committed", _webview_load_committed_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "load,finished", _webview_load_finished_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "load,nonemptylayout,finished", _webview_load_noemptylayout_finished_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "load,progress", _webview_load_progress_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->webview, "load,error", _webview_load_error_cb, ug_data);
+
+ evas_object_show(ug_data->webview);
+
+ return ug_data->webview;
+}
+
+void viewer_set_webview_content(EmailViewerUGD *ug_data, int reload)
+{
+ debug_log("");
+
+ if (!ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ if (ug_data->webview_data == NULL) {
+ debug_log("webview_data is NULL");
+ return;
+ }
+
+ EmailViewerWebview *wvd = ug_data->webview_data;
+
+ if (reload && (wvd->body_type == wvd->body_type_prev)) {
+ debug_log("reload current uri");
+ ewk_view_reload(ug_data->webview);
+ return;
+ }
+
+ char tmp_file_path[MAX_STR_LEN] = { 0, };
+ char *tmp_file_name = NULL;
+
+ /* set content */
+ if (wvd->body_type == BODY_TYPE_HTML) {
+ if (wvd->uri == NULL) {
+ debug_log("invalid uri");
+ return;
+ }
+
+ snprintf(tmp_file_path, sizeof(tmp_file_path), "file://%s", wvd->uri);
+ debug_log("file://%s", wvd->uri);
+
+ /* Fix for issue - Sometimes html content of previous mail is shown
+ * Set the default html page if file size is 0 */
+ struct stat statbuf = { 0 };
+ int status = lstat(wvd->uri, &statbuf);
+ if (!status) {
+ debug_log("Total file size: %d", (int)statbuf.st_size);
+ if ((int)statbuf.st_size == 0) {
+ debug_log("Set URI with default html");
+ ewk_view_uri_set(ug_data->webview, EMAIL_DEFAULT_HTML);
+ return;
+ }
+ }
+ } else if (wvd->body_type == BODY_TYPE_TEXT) {
+ /* generate temporary html file for viewing */
+ tmp_file_name = viewer_set_html_content_file(wvd);
+
+ sprintf(tmp_file_path, "file://%s", tmp_file_name);
+ debug_log("file://%s", tmp_file_name);
+ }
+
+ debug_log("default encoding:%s", ug_data->property->charset);
+ Ewk_Setting *setting = ewk_view_setting_get(ug_data->webview);
+ ewk_setting_default_encoding_set(setting, ug_data->property->charset);
+// ewk_view_encoding_custom_set(ug_data->webview, ug_data->property->charset);
+ ewk_view_uri_set(ug_data->webview, tmp_file_path);
+}
+
+char *viewer_set_html_content_file(EmailViewerWebview *wvd)
+{
+ debug_log("");
+
+ FILE *fp;
+ char *html;
+ char *tmp_file_name;
+ char *email_content = "\0";
+
+ tmp_file_name = EMAIL_TMP_FILE_PATH ".html";
+ unlink(tmp_file_name); /*remove previous file*/
+
+ email_content = wvd->text_content;
+ html = email_html_converter(email_content, wvd->charset);
+ debug_log("html:%s", html);
+ fp = fopen(tmp_file_name, "w");
+ if (fp != NULL) {
+ fputs(html, fp);
+ fclose(fp);
+ }
+
+ if (html)
+ g_free(html);
+
+ return tmp_file_name;
+}
+
+void viewer_coords_ewk_to_evas(Evas_Object *view, int ewkX, int ewkY, int *evasX, int *evasY)
+{
+ int scrollX, scrollY, viewX, viewY;
+ ewk_view_scroll_pos_get(view, &scrollX, &scrollY);
+ evas_object_geometry_get(view, &viewX, &viewY, NULL, NULL);
+
+ *evasX = ewkX - scrollX + viewX;
+ *evasY = ewkY - scrollY + viewY;
+}
+
+void viewer_coords_evas_to_ewk(Evas_Object *view, int evasX, int evasY, int *ewkX, int *ewkY)
+{
+ debug_log("evasX:%d, evasY:%d", evasX, evasY);
+ int scrollX, scrollY, viewX, viewY;
+ ewk_view_scroll_pos_get(view, &scrollX, &scrollY);
+ evas_object_geometry_get(view, &viewX, &viewY, NULL, NULL);
+ debug_log("scrollX:%d, scrollY:%d, viewX:%d, viewY:%d", scrollX, scrollY, viewX, viewY);
+
+ *ewkX = evasX + scrollX - viewX;
+ *ewkY = evasY + scrollY - viewY;
+}
+
+Eina_Bool viewer_send_message(void *data)
+{
+ debug_log("");
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->timer) {
+ ecore_timer_del(ug_data->timer);
+ ug_data->timer = NULL;
+ }
+
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return EINA_FALSE;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_KEY_UNLOCK_LIST);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+
+ return EINA_FALSE;
+}
+
+static void _webview_script_executed_cb(Evas_Object *o, const char *result, void *data)
+{
+ debug_log("");
+}
+
+static void _webview_get_html_content_cb(Evas_Object *o, const char *result, void *data)
+{
+ debug_log("");
+
+// EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+// ug_data->saved_html_content = g_strdup(result);
+// debug_log("ug_data->saved_html_content => %s", ug_data->saved_html_content);
+}
+
+static void _webview_load_finished_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (_g_ug_data == NULL) {
+ debug_log("_g_ug_data == NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ ug_data->b_load_finished = EINA_TRUE;
+
+ /*_measure_webview_xy(ug_data);*/
+
+ if (ug_data->timer) {
+ ecore_timer_del(ug_data->timer);
+ ug_data->timer = NULL;
+ }
+
+ ug_data->timer = ecore_timer_add(0.0, viewer_send_message, ug_data);
+
+ if (ewk_view_script_execute(ug_data->webview, VIEWER_JS_INSERT_IM(VIEWER_JS_FILE_PATH), _webview_script_executed_cb, 0) == EINA_FALSE)
+ debug_log("VIEWER_JS_INSERT_IM(VIEWER_JS_FILE_PATH) failed.");
+}
+
+static void _webview_load_error_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _webview_load_committed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _webview_load_noemptylayout_finished_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _webview_load_progress_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+/* Double_Scroller */
+static void _webview_edge_top_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (_g_ug_data == NULL) {
+ debug_log("_g_ug_data == NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->is_webview_scrolling) {
+ debug_log("main scroller start");
+ ewk_view_vertical_panning_hold_set(ug_data->webview, EINA_TRUE); //stop
+
+ if (elm_widget_scroll_freeze_get(ug_data->scroller) > 0)
+ elm_object_scroll_freeze_pop(ug_data->scroller); //restart
+
+ /* WORKAROUND. To fix scrolling problem when screen is on the bottom of webview. (Do panning to top fast) */
+ int x, y, w, h;
+ elm_scroller_region_get(ug_data->scroller, &x, &y, &w, &h);
+ debug_log("main_scroller(x:%d, y:%d, w:%d, h:%d)", x, y, w, h);
+ elm_scroller_region_bring_in(ug_data->scroller, x, 0, w, h);
+
+ ug_data->is_main_scroller_scrolling = EINA_TRUE;
+ ug_data->is_webview_scrolling = EINA_FALSE;
+ }
+}
+
+static void _webview_edge_bottom_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _webview_scroll_down_cb(void *data, Evas_Object *obj, void *event_info)
+{
+// debug_log("");
+}
+
+static void _webview_scroll_up_cb(void *data, Evas_Object *obj, void *event_info)
+{
+// debug_log("");
+}
+
+static int _send_read_report_mail(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ int err = 0;
+
+ email_account_t *account = NULL;
+ email_option_t option;
+ if (!email_engine_get_account_full_data(ug_data->account_id, &account)) {
+ debug_log("Failed email_engine_get_account_full_data");
+ goto error;
+ }
+
+ if (account) {
+ memcpy(&option, &(account->options), sizeof(email_option_t));
+ }
+
+ int output_receipt_mail_id = 0;
+ if ((err = email_add_read_receipt(ug_data->email_data->mail_id, &output_receipt_mail_id)) != EMAIL_ERROR_NONE) {
+ debug_log(" fail sending [%d]", err);
+ goto error;
+ }
+ debug_log("output_receipt_mail_id of saved email = %d", output_receipt_mail_id);
+
+ unsigned handle = 0;
+
+ if ((err = email_send_mail(output_receipt_mail_id, &option, &handle)) != EMAIL_ERROR_NONE) {
+ debug_log(" fail sending [%d]", err);
+ goto error;
+ } else {
+ debug_log(" finish sending");
+ }
+
+ error:
+ if (account) {
+ debug_log("[_send_read_report_mail] email_free_account is called");
+ email_free_account(&account, 1);
+ account = NULL;
+ }
+
+ return 1;
+}
+
+#if 0
+static void _measure_webview_xy(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ int a, b, c, d;
+ evas_object_geometry_get(ug_data->navi_bar, &a, &b, &c, &d);
+ debug_log("navi_bar x[%d] y[%d] w[%d] h[%d]", a, b, c, d);
+ evas_object_geometry_get(ug_data->sub_ly, &a, &b, &c, &d);
+ debug_log("sub_ly x[%d] y[%d] w[%d] h[%d]", a, b, c, d);
+ evas_object_geometry_get(ug_data->ctr_bar, &a, &b, &c, &d);
+ debug_log("ctr_bar x[%d] y[%d] w[%d] h[%d]", a, b, c, d);
+ evas_object_geometry_get(ug_data->webview_bx, &a, &b, &c, &d);
+ debug_log("webview_bx x[%d] y[%d] w[%d] h[%d]", a, b, c, d);
+}
+#endif
+
+/* EOF */
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef UG_MODULE_API
+#define UG_MODULE_API __attribute__ ((visibility("default")))
+#endif
+
+/* Header Include */
+#include <contacts-ug.h>
+#include <calendar-svc-provider.h>
+#include <media-util-register.h>
+#include <media-util-err.h>
+#include <app_service.h>
+#include <status.h>
+
+#include "email-viewer.h"
+#include "email-viewer-webview.h"
+#include "email-viewer-utils.h"
+#include "email-engine.h"
+#include "email-utils.h"
+#include "email-common-types.h"
+#include "email-debug.h"
+
+#define EMAIL_VCONF_KEY_BLOCK_RULE_CHANGED "file/private/org.tizen.email/spam_rule_changed"
+
+/* Global Val */
+EmailViewerUGD *_g_ug_data = NULL;
+E_DBus_Connection *_g_viewer_dbus_conn = NULL;
+E_DBus_Signal_Handler *_g_viewer_signal_handler_network = NULL;
+E_DBus_Signal_Handler *_g_viewer_signal_handler_storage = NULL;
+
+extern ui_gadget_h _g_mailbox_ug;
+extern char *icu_locale;
+extern enum appcore_time_format icu_timeformat;
+extern void _set_mail_flags(EmailViewerProp *prop, EmailViewerPrivate *email_data);
+
+/* appcore */
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h data, void *priv);
+static void on_start(ui_gadget_h ug, service_h data, void *priv);
+static void on_pause(ui_gadget_h ug, service_h data, void *priv);
+static void on_resume(ui_gadget_h ug, service_h data, void *priv);
+static void on_destroy(ui_gadget_h ug, service_h data, void *pd);
+static void on_message(ui_gadget_h ug, service_h msg, service_h data, void *priv);
+static void on_event(ui_gadget_h ug, enum ug_event event, service_h data, void *priv);
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h data, void *priv);
+
+/* ui-gadget */
+static void layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv);
+static void result_cb(ui_gadget_h ug, service_h result, void *priv);
+static void destroy_cb(ui_gadget_h ug, void *priv);
+static ui_gadget_h create_ug(char *ug_name, service_h bd, void *data);
+
+/* View related */
+static void _create_view(EmailViewerUGD *ug_data);
+static void _reset_view(EmailViewerUGD *ug_data);
+
+static void _win_profile_changed_cb(void *data, Evas_Object *obj, void *event);
+
+static Evas_Object *_create_navigation_bar(EmailViewerUGD *ug_data);
+static Evas_Object *_create_subject(EmailViewerUGD *ug_data);
+static Evas_Object *_create_to_addrs(EmailViewerUGD *ug_data);
+static Evas_Object *_create_cc_addrs(EmailViewerUGD *ug_data);
+static Evas_Object *_create_bcc_addrs(EmailViewerUGD *ug_data);
+static Evas_Object *_create_attach(EmailViewerUGD *ug_data);
+static Evas_Object *_create_attach_ex(EmailViewerUGD *ug_data);
+static Evas_Object *_create_body(EmailViewerUGD *ug_data);
+static Evas_Object *_create_tab_bar(EmailViewerUGD *ug_data);
+static Evas_Object *_update_tab_bar(EmailViewerUGD *ug_data);
+static Evas_Object *_create_partial_body_dn_btn(EmailViewerUGD *ug_data);
+static Evas_Object *_create_bg(Evas_Object *win);
+
+static void _create_down_progress(char *message, popup_cb resp_cb);
+static void _create_down_progress_ex(int index, EMAIL_VIEWER_PROGRESSBAR_TYPE p_type);
+static void _destroy_down_progress_ex(void *data, Evas_Object *obj, void *event_info);
+static void _create_more_ctxpopup(EmailViewerUGD *ug_data);
+static void _delete_evas_objects(EmailViewerUGD *ug_data);
+
+static void _launch_vcs_editor(EmailViewerUGD *ug_data);
+
+/* callback functions */
+static void _back_cb(void *data, Evas_Object *obj, void *event_info);
+static void _prev_mail_cb(void *data, Evas_Object *obj, void *event_info);
+static void _next_mail_cb(void *data, Evas_Object *obj, void *event_info);
+static void _reply_cb(void *data, Evas_Object *obj, void *event_info);
+static void _reply_all_cb(void *data, Evas_Object *obj, void *event_info);
+static void _reply_option_cb(void *data, Evas_Object *obj, void *event_info);
+static void _forward_cb(void *data, Evas_Object *obj, void *event_info);
+static void _add_to_calendar_cb(void *data, Evas_Object *obj, void *event_info);
+static void _resend_cb(void *data, Evas_Object *obj, void *event_info);
+static void _delete_cb(void *data, Evas_Object *obj, void *event_info);
+static void _move_cb(void *data, Evas_Object *obj, void *event_info);
+static void _more_cb(void *data, Evas_Object *obj, void *event_info);
+static void _body_down_cb(void *data, Evas_Object *obj, void *event_info);
+static void _subject_favorite_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _subject_detail_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _attachment_item_collapse_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _attachment_save_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _attachment_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _attachment_save_all_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _attachment_bg_set_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info);
+static void _attachment_bg_unset_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info);
+static void _mark_as_unread_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mark_as_read_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void _ctxpopup_detail_contact_cb(void *data, Evas_Object *obj, void *event_info);
+static void _ctxpopup_send_email_cb(void *data, Evas_Object *obj, void *event_info);
+static void _ctxpopup_add_contact_cb(void *data, Evas_Object *obj, void *event_info);
+static void _ctxpopup_cutlink_update_contact_cb(void *data, Evas_Object *obj, void *event_info);
+static void _ctxpopup_select_contact_mode_email_cb(void *data, Evas_Object *obj, void *event_info);
+static void _ctxpopup_add_block_rule_cb(void *data, Evas_Object *obj, void *event_info);
+static void _popup_response_cb(void *data, Evas_Object *obj, void *event_info);
+static void _popup_response_delete_ok_cb(void *data, Evas_Object *obj, void *event_info);
+static void _popup_response_to_destroy_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void _webview_multi_up_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info);
+static void _webview_multi_down_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info);
+static void _webview_policy_navigation_decide_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void _outter_scroller_bottom_hit_cb(void *data, Evas_Object *obj, void *event_info);
+static void _outter_scroller_top_hit_cb(void *data, Evas_Object *obj, void *event_info);
+static void _outter_scroller_scroll_cb(void *data, Evas_Object *obj, void *event_info);
+
+static void _mbe_added_cb(void *data, Evas_Object *obj, void *event_info);
+static void _mbe_selected_cb(void *data, Evas_Object *obj, void *event_info);
+static void _destroy_down_progress_cb(void *data, Evas_Object *obj, void *event_info);
+
+/* Logic Functions */
+static void _init_viewer_data(int account_id, int mail_id, char *srv_mail_id, EmailViewerUGD *ug_data);
+static int _init_webview_data(EmailViewerUGD *ug_data);
+static Eina_Bool _check_body_download(void *data);
+static int _update_attachment_info(EmailViewerUGD *ug_data, int index);
+static int _get_attachment_info_index(EmailViewerUGD *ug_data, int index);
+static void _show_select_info(EmailViewerUGD *ug_data, char *str);
+static void _save_attachment(EmailViewerUGD *ug_data, int index);
+static void _show_attachment(EmailViewerUGD *ug_data, int index);
+static void _save_attachment_all(EmailViewerUGD *ug_data);
+static void _dbus_receiver_setup(EmailViewerUGD *ug_data);
+static void _dbus_receiver_remove(EmailViewerUGD *ug_data);
+static void _on_edbus_event_email_viewer_receive(void *local_data, DBusMessage *message);
+
+static void _delete_contacts_list(EMAIL_CONTACT_LIST_INFO_S *contacts_list_item);
+static void *_contact_search_by_email(EmailViewerUGD *ug_data, const char *search_word);
+static void _set_value_down_progress(double val);
+static void _set_value_down_progress_by_index(double val, int index);
+static void _cancel_download_attachment(EmailViewerUGD *ug_data);
+
+/* Util Functions */
+static char *_get_service_fail_type(int type);
+static Evas_Object *_load_edj(Evas_Object *parent, const char *file, const char *group);
+
+/* genlist cb */
+static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part);
+static void _gl_del(void *data, Evas_Object *obj);
+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);
+static void _gl_sel(void *data, Evas_Object *obj, void *event_info);
+static char *_gl_sub_upper_text_get(void *data, Evas_Object *obj, const char *part);
+static Evas_Object *_gl_sub_upper_icon_get(void *data, Evas_Object *obj, const char *part);
+static void _gl_sub_upper_sel(void *data, Evas_Object *obj, void *event_info);
+static void _move_here_cb(void *data, Evas_Object *obj, void *event_info);
+static void _move_back_cb(void *data, Evas_Object *obj, void *event_info);
+static void _move_back_cb2(void *data, Evas_Object *obj, void *event_info);
+
+
+UG_MODULE_API int UG_MODULE_INIT(struct ug_module_ops *ops)
+{
+ debug_log("");
+
+ EmailViewerUGD *ug_data;
+
+ if (!ops)
+ return -1;
+
+ ug_data = calloc(1, sizeof(EmailViewerUGD));
+ if (!ug_data)
+ return -1;
+
+ _g_ug_data = ug_data;
+// g_type_init();
+
+ ops->create = on_create;
+ ops->start = on_start;
+ ops->pause = on_pause;
+ ops->resume = on_resume;
+ ops->destroy = on_destroy;
+ ops->message = on_message;
+ ops->event = on_event;
+ ops->key_event = on_key_event;
+ ops->priv = ug_data;
+ ops->opt = UG_OPT_INDICATOR_ENABLE;
+
+ return 0;
+}
+
+UG_MODULE_API void UG_MODULE_EXIT(struct ug_module_ops *ops)
+{
+ debug_log("");
+ EmailViewerUGD *ug_data;
+
+ if (!ops)
+ return;
+
+ ug_data = ops->priv;
+ if (ug_data)
+ free(ug_data);
+
+ debug_log("~");
+}
+
+static void *on_create(ui_gadget_h ug, enum ug_mode mode, service_h data, void *priv)
+{
+ debug_log("");
+ EmailViewerUGD *ug_data;
+ char *account_id = NULL;
+ char *mail_id = NULL;
+ char *mailbox_id = NULL;
+ char *binternal = NULL;
+ char *landscape = NULL;
+
+ if (!ug || !priv)
+ return NULL;
+
+ ug_data = priv;
+ ug_data->ug = ug;
+
+ if (!data) {
+ debug_log("account_id and mail_id are required by arguments");
+ ug_data->b_direct_destroy = 1;
+ ug_destroy_me(ug_data->ug);
+ _g_ug_data = NULL;
+ return NULL;
+ }
+
+ /* email engine initialize */
+ if (email_engine_initialize() == FALSE) {
+ debug_log("Failed to initialize email engine");
+ ug_data->b_direct_destroy = 1;
+ ug_destroy_me(ug_data->ug);
+ _g_ug_data = NULL;
+ return NULL;
+ }
+
+/* Elm_Theme *theme = elm_theme_new();
+ elm_theme_ref_set(theme, NULL);
+ ug_data->theme = theme;
+ elm_theme_extension_add(ug_data->theme, EV_THEME_PATH);*/
+
+ int ret;
+ ret = service_get_extra_data(data, EMAIL_BUNDLE_KEY_ACCOUNT_ID, (char **)&account_id);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("account_id:%s", account_id);
+ ret = service_get_extra_data(data, EMAIL_BUNDLE_KEY_MAIL_ID, (char **)&mail_id);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("mail_id:%s", mail_id);
+ ret = service_get_extra_data(data, EMAIL_BUNDLE_KEY_MAILBOX, (char **)&mailbox_id);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("mailbox:%s", mailbox_id);
+ ret = service_get_extra_data(data, EMAIL_BUNDLE_KEY_INTERNAL, (char **)&binternal);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("binternal:%s", binternal);
+ ret = service_get_extra_data(data, EMAIL_BUNDLE_KEY_FIRST_LANDSCAPE, (char **)&landscape);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("landscape:%s", landscape);
+
+ if (landscape) {
+ ug_data->isRotate = atoi(landscape);
+ debug_log("@@@@ Landscape = %d @@@@", ug_data->isRotate);
+ g_free(landscape);
+ }
+
+ if (account_id) {
+ ug_data->account_id = atoi(account_id);
+ ug_data->folder_list = email_engine_get_ca_mailbox_list_using_glist(ug_data->account_id);
+ g_free(account_id);
+ }
+
+ if (mail_id) {
+ ug_data->mail_id = atoi(mail_id);
+ g_free(mail_id);
+ }
+
+ if (mailbox_id) {
+ g_free(ug_data->mailbox_name);
+ ug_data->mailbox_name = NULL;
+ ug_data->mailbox_id = atoi(mailbox_id);
+ g_free(mailbox_id);
+
+ int err = 0;
+ email_mail_data_t *mail_data = NULL;
+ if ((err = email_get_mail_data(ug_data->mail_id, &mail_data)) != EMAIL_ERROR_NONE) {
+ debug_log("fail to get mail - err (%d)", err);
+ }
+
+ if (mail_data == NULL) {
+ debug_log("mail_data is NULL");
+ }
+
+ ug_data->mailbox_name = g_strdup(mail_data->server_mailbox_name);
+ ug_data->mailbox_type = mail_data->mailbox_type;
+ debug_log("server_mailbox_name:%s", mail_data->server_mailbox_name);
+ debug_log("mailbox_name:%s", ug_data->mailbox_name);
+ debug_log("mailbox_type:%d", ug_data->mailbox_type);
+
+ if (mail_data) {
+ debug_log("email_free_mail is called");
+ email_free_mail_data(&(mail_data), 1);
+ mail_data = NULL;
+ }
+ }
+
+ if (binternal) {
+ ug_data->b_internal = atoi(binternal);
+ if (ug_data->b_internal == 1)
+ debug_log("############Launched from email-mailbox###############");
+ g_free(binternal);
+ }
+
+ debug_log("account_id [%d], mail_id [%d], mailbox_id [%d], mailbox name [%s]", ug_data->account_id, ug_data->mail_id, ug_data->mailbox_id, ug_data->mailbox_name);
+
+ if (ug_data->account_id <= 0 || ug_data->mail_id <= 0 || ug_data->mailbox_id <= 0) {
+ debug_log("Required bundle parameters are missing!");
+ ug_data->timeout_popup = elm_popup_add(ug_get_window());
+ evas_object_size_hint_weight_set(ug_data->timeout_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_popup_timeout_set(ug_data->timeout_popup, 2);
+ elm_object_text_set(ug_data->timeout_popup, _("IDS_EMAIL_POP_UNABLE_TO_OPEN_EMAIL_MESSAGE"));
+ elm_object_part_text_set(ug_data->timeout_popup, "title,text", _("IDS_EMAIL_POP_ALERT"));
+ evas_object_smart_callback_add(ug_data->timeout_popup, "block,clicked", _popup_response_to_destroy_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->timeout_popup, "timeout", _popup_response_to_destroy_cb, ug_data);
+ evas_object_show(ug_data->timeout_popup);
+
+ return elm_layout_add(ug_get_window());
+ }
+
+ ug_data->win_main = ug_get_window();
+
+ char *proxy_address = vconf_get_str(VCONFKEY_NETWORK_PROXY);
+ debug_log("network proxy: %s", proxy_address);
+ if (proxy_address && (g_strcmp0(proxy_address, "") != 0)) {
+ ewk_context_proxy_uri_set(ewk_context_default_get(), proxy_address);
+ }
+
+ if (proxy_address)
+ free(proxy_address);
+
+ int w, h;
+ ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+ debug_log("WINDOW W[%d] H[%d]", w, h);
+ ug_data->main_w = w;
+ ug_data->main_h = h;
+
+ ug_data->scale_factor = elm_scale_get();
+ debug_log("ELM Scale[%f]", ug_data->scale_factor);
+
+ if (w == 480) {
+ ug_data->webview_width = 710.0;
+ ug_data->webview_height = 949.0;
+ ug_data->webview_width_landscape = 710.0;
+ ug_data->webview_height_landscape = 568.0;
+ ug_data->webview_margin = 633;
+ ug_data->webview_margin_landscape = 379;
+ } else if (w == 720) {
+ ug_data->webview_width = 710.0;
+ ug_data->webview_height = 1009.0;
+ ug_data->webview_width_landscape = 710.0;
+ ug_data->webview_height_landscape = 558.0;
+ ug_data->webview_margin = 1029;
+ ug_data->webview_margin_landscape = 558;
+ } else {
+ ug_data->webview_width = 710.0;
+ ug_data->webview_height = 949.0;
+ ug_data->webview_width_landscape = 710.0;
+ ug_data->webview_height_landscape = 568.0;
+ ug_data->webview_margin = 633;
+ ug_data->webview_margin_landscape = 379;
+ }
+
+ ug_data->evas = evas_object_evas_get(ug_data->win_main);
+
+ /* Double_Scroller */
+ ug_data->b_noc = 1;
+
+ email_account_t *account = NULL;
+ if (email_engine_get_account_full_data(ug_data->account_id, &account)) {
+ debug_log("email_engine_get_account");
+ if (account) {
+ ug_data->account_type = account->incoming_server_type;
+ snprintf(ug_data->account_email_address, sizeof(ug_data->account_email_address), "%s", account->user_email_address);
+
+ account_user_data_t *ud = (account_user_data_t*)account->user_data;
+ if (ud != NULL) {
+ debug_log("show_images is %d", ud->show_images);
+ ug_data->b_show_remote_images = ud->show_images;
+ }
+ email_free_account(&account, 1);
+ account = NULL;
+ }
+ }
+
+ /* DBUS */
+ _dbus_receiver_setup(ug_data);
+
+ _init_viewer_data(ug_data->account_id, ug_data->mail_id, NULL, ug_data);
+ _create_view(ug_data);
+
+ _check_body_download(ug_data);
+
+ ug_data->base = ug_data->layout_main;
+
+ ug_data->display_download_result = TRUE;
+
+ return ug_data->base;
+}
+
+static void on_start(ui_gadget_h ug, service_h data, void *priv)
+{
+ debug_log("");
+}
+
+static void on_pause(ui_gadget_h ug, service_h data, void *priv)
+{
+ debug_log("");
+}
+
+static void on_resume(ui_gadget_h ug, service_h data, void *priv)
+{
+ debug_log("");
+}
+
+static void on_destroy(ui_gadget_h ug, service_h data, void *pd)
+{
+ debug_log("");
+ EmailViewerUGD *ug_data;
+
+ if (!ug || !pd)
+ return;
+
+ ug_data = pd;
+
+ _g_ug_data = NULL;
+
+ if (ug_data->b_direct_destroy)
+ return;
+
+ /* stop engine */
+ EmailViewerPrivate *priv = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+ int i = 0;
+ int att_len = g_list_length(prop->attachments);
+
+ if (priv->email_handle != 0)
+ email_engine_stop_working(ug_data->account_id, priv->email_handle);
+
+ for (i = 0; i < att_len; i++) {
+ if (priv->download_all_email_handle[i] != 0)
+ email_engine_stop_working(ug_data->account_id, priv->download_all_email_handle[i]);
+ }
+
+/* if (ug_data->theme) {
+ elm_theme_extension_del(ug_data->theme, EV_THEME_PATH);
+ elm_theme_free(ug_data->theme);
+ ug_data->theme = NULL;
+ }*/
+
+ _delete_evas_objects(ug_data);
+
+ debug_log("free webview_data");
+ if (ug_data->webview_data) {
+ free(ug_data->webview_data);
+ ug_data->webview_data = NULL;
+ }
+
+ debug_log("free address info list");
+ email_free_address_info_list(&(priv->addrs_info_list));
+ ug_data->from_list = NULL;
+ ug_data->to_list = NULL;
+ ug_data->cc_list = NULL;
+ ug_data->bcc_list = NULL;
+
+ debug_log("free mail_info");
+ if (ug_data->email_data->mail_info) {
+ email_free_mail_data(&(ug_data->email_data->mail_info), 1);
+ ug_data->email_data->mail_info = NULL;
+ }
+
+ if (ug_data->email_data->attachment_info && ug_data->email_data->attachment_count > 0) {
+ email_free_attachment_data(&(ug_data->email_data->attachment_info), ug_data->email_data->attachment_count);
+ ug_data->email_data->attachment_info = NULL;
+ ug_data->email_data->attachment_count = 0;
+ }
+
+ debug_log("free email_data");
+ if (ug_data->email_data) {
+ free(ug_data->email_data);
+ ug_data->email_data = NULL;
+ }
+
+ debug_log("free attachment");
+ if (ug_data->property->attachments) {
+ int i = 0;
+ LIST_ITER_START(i, ug_data->property->attachments) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, ug_data->property->attachments);
+ if (info->name)
+ free(info->name);
+ if (info->path)
+ free(info->path);
+ free(info);
+ }
+ g_list_free(ug_data->property->attachments);
+ ug_data->property->attachments = NULL;
+ }
+
+ debug_log("free property");
+ if (ug_data->property) {
+ free(ug_data->property);
+ ug_data->property = NULL;
+ }
+
+ email_engine_finalize();
+
+ _dbus_receiver_remove(NULL);
+
+ int ret = e_dbus_shutdown();
+ debug_log("ret: %d", ret);
+ debug_log("~");
+
+ ug_data->base = NULL;
+}
+
+static void on_message(ui_gadget_h ug, service_h msg, service_h data, void *priv)
+{
+ debug_log("");
+
+ if (!ug || !priv)
+ return;
+
+ debug_log("_g_ug_data - %p", _g_ug_data);
+ if (_g_ug_data != NULL) {
+ debug_log("Hide previous mail data");
+ _hide_view(_g_ug_data);
+ }
+
+ char *account_id = NULL;
+ char *mail_id = NULL;
+ char *mailbox_id = NULL;
+ char *binternal = NULL;
+ char *landscape = NULL;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)priv;
+ _g_ug_data = ug_data;
+
+ /* reset viewer */
+ int ret;
+ ret = service_get_extra_data(msg, EMAIL_BUNDLE_KEY_ACCOUNT_ID, (char **)&account_id);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("account_id:%s", account_id);
+ ret = service_get_extra_data(msg, EMAIL_BUNDLE_KEY_MAIL_ID, (char **)&mail_id);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("mail_id:%s", mail_id);
+ ret = service_get_extra_data(msg, EMAIL_BUNDLE_KEY_MAILBOX, (char **)&mailbox_id);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("mailbox:%s", mailbox_id);
+ ret = service_get_extra_data(msg, EMAIL_BUNDLE_KEY_INTERNAL, (char **)&binternal);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("binternal:%s", binternal);
+ ret = service_get_extra_data(msg, EMAIL_BUNDLE_KEY_FIRST_LANDSCAPE, (char **)&landscape);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("landscape:%s", landscape);
+
+ if (landscape) {
+ ug_data->isRotate = atoi(landscape);
+ debug_log("@@@@ Landscape = %d @@@@", ug_data->isRotate);
+ g_free(landscape);
+ }
+
+ if (account_id) {
+ ug_data->account_id = atoi(account_id);
+ ug_data->folder_list = email_engine_get_ca_mailbox_list_using_glist(ug_data->account_id);
+ g_free(account_id);
+ }
+
+ if (mail_id) {
+ ug_data->mail_id = atoi(mail_id);
+ g_free(mail_id);
+ }
+
+ if (mailbox_id) {
+ g_free(ug_data->mailbox_name);
+ ug_data->mailbox_name = NULL;
+ ug_data->mailbox_id = atoi(mailbox_id);
+ g_free(mailbox_id);
+
+ int err = 0;
+ email_mail_data_t *mail_data = NULL;
+ if ((err = email_get_mail_data(ug_data->mail_id, &mail_data)) != EMAIL_ERROR_NONE) {
+ debug_log("fail to get mail - err (%d)", err);
+ }
+
+ if (mail_data == NULL) {
+ debug_log("mail_data is NULL");
+ }
+
+ ug_data->mailbox_name = g_strdup(mail_data->server_mailbox_name);
+ ug_data->mailbox_type = mail_data->mailbox_type;
+ debug_log("server_mailbox_name:%s", mail_data->server_mailbox_name);
+ debug_log("mailbox_name:%s", ug_data->mailbox_name);
+ debug_log("mailbox_type:%d", ug_data->mailbox_type);
+
+ if (mail_data) {
+ debug_log("email_free_mail is called");
+ email_free_mail_data(&(mail_data), 1);
+ mail_data = NULL;
+ }
+ }
+
+ if (binternal) {
+ ug_data->b_internal = atoi(binternal);
+ if (ug_data->b_internal == 1)
+ debug_log("############Launched from email-mailbox###############");
+ g_free(binternal);
+ }
+
+ debug_log("account_id [%d], mail_id [%d], mailbox_id[%d], mailbox name [%s]", ug_data->account_id, ug_data->mail_id, ug_data->mailbox_id, ug_data->mailbox_name);
+
+ if (ug_data->account_id <= 0 || ug_data->mail_id <= 0 || ug_data->mailbox_id <= 0) {
+ debug_log("Required bundle parameters are missing!");
+ _g_ug_data = NULL;
+ return;
+ }
+
+ email_account_t *account = NULL;
+ if (email_engine_get_account_full_data(ug_data->account_id, &account)) {
+ debug_log("email_engine_get_account");
+ if (account) {
+ ug_data->account_type = account->incoming_server_type;
+ snprintf(ug_data->account_email_address, sizeof(ug_data->account_email_address), "%s", account->user_email_address);
+
+ account_user_data_t *ud = (account_user_data_t*)account->user_data;
+ if (ud != NULL) {
+ debug_log("show_images is %d", ud->show_images);
+ ug_data->b_show_remote_images = ud->show_images;
+ }
+ email_free_account(&account, 1);
+ account = NULL;
+ }
+
+ Ewk_Setting *setting = ewk_view_setting_get(ug_data->webview);
+
+ debug_log("b_show_remote_images is %d", ug_data->b_show_remote_images);
+ if (ewk_setting_load_remote_images_set(setting, ug_data->b_show_remote_images) == EINA_FALSE) {
+ debug_log("SET remote images is FAILED!");
+ }
+ }
+
+ _init_viewer_data(ug_data->account_id, ug_data->mail_id, NULL, ug_data);
+
+ evas_object_show(ug_data->layout_main);
+ evas_object_raise(ug_data->layout_main);
+
+ _reset_view(ug_data);
+
+ ug_data->display_download_result = TRUE;
+}
+
+static void on_event(ui_gadget_h ug, enum ug_event event, service_h data, void *priv)
+{
+ debug_log("");
+
+ if (!ug || !priv)
+ return;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)priv;
+ EmailViewerProp *prop = ug_data->property;
+ char date_time[MAX_STR_LEN] = { 0, };
+ char *formatted_date = NULL;
+ int ret = 0;
+
+ debug_log("rotate event = %d", event);
+
+ switch (event) {
+ case UG_EVENT_LOW_MEMORY:
+ break;
+ case UG_EVENT_LOW_BATTERY:
+ break;
+ case UG_EVENT_LANG_CHANGE:
+ break;
+ case UG_EVENT_ROTATE_PORTRAIT:
+ case UG_EVENT_ROTATE_PORTRAIT_UPSIDEDOWN:
+ if (ug_data->b_internal && ug_data->isRotate == true) {
+ debug_log("In Full view - Showing navi bar");
+ elm_naviframe_item_title_visible_set(ug_data->navi_main_it, EINA_TRUE);
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ if (ug_data->navi_move_it1) {
+ debug_log("move1");
+ Evas_Object *move_back_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(move_back_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(move_back_btn, "clicked", _move_back_cb, ug_data);
+ elm_object_item_part_content_set(ug_data->navi_move_it1, "prev_btn", move_back_btn);
+ elm_naviframe_item_title_visible_set(ug_data->navi_move_it1, EINA_TRUE);
+ if (ug_data->move_cbar) {
+ elm_object_item_part_content_unset(ug_data->navi_move_it1, "controlbar");
+ evas_object_del(ug_data->move_cbar);
+ ug_data->move_cbar = NULL;
+ }
+ }
+ if (ug_data->navi_move_it2) {
+ debug_log("move2");
+ Evas_Object *move_back_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(move_back_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(move_back_btn, "clicked", _move_back_cb2, ug_data);
+ elm_object_item_part_content_set(ug_data->navi_move_it2, "prev_btn", move_back_btn);
+ elm_naviframe_item_title_visible_set(ug_data->navi_move_it2, EINA_TRUE);
+ }
+
+ if (ug_data->b_btn) {
+ evas_object_smart_callback_del(ug_data->b_btn, "clicked", _back_cb);
+ evas_object_del(ug_data->b_btn);
+ ug_data->b_btn = NULL;
+ }
+
+ ug_data->b_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(ug_data->b_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(ug_data->b_btn, "clicked", _back_cb, ug_data);
+ elm_object_item_part_content_set(ug_data->navi_main_it, "prev_btn", ug_data->b_btn);
+
+ int resized_w = ug_data->webview_width * ug_data->scale_factor;
+ int resized_h = ug_data->webview_height * ug_data->scale_factor;
+ evas_object_size_hint_min_set(ug_data->webview, resized_w, resized_h);
+
+ ug_data->isRotate = false;
+ }
+
+ break;
+
+ case UG_EVENT_ROTATE_LANDSCAPE:
+ case UG_EVENT_ROTATE_LANDSCAPE_UPSIDEDOWN:
+ if (ug_data->b_internal && ug_data->isRotate == false) {
+ debug_log("In Split view - Hiding navi bar");
+ elm_naviframe_item_title_visible_set(ug_data->navi_main_it, EINA_FALSE);
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ if (ug_data->navi_move_it1) {
+ debug_log("move1");
+ ug_data->move_cbar = elm_toolbar_add(ug_data->navi_bar);
+ elm_toolbar_shrink_mode_set(ug_data->move_cbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_object_style_set(ug_data->move_cbar, "naviframe");
+ evas_object_show(ug_data->move_cbar);
+
+ elm_object_item_disabled_set(elm_toolbar_item_append(ug_data->move_cbar, NULL, "", NULL, NULL), EINA_TRUE);
+ elm_toolbar_item_append(ug_data->move_cbar, NULL, dgettext("sys_string", "IDS_COM_SK_CANCEL"), _move_back_cb, ug_data);
+ elm_object_item_part_content_set(ug_data->navi_move_it1, "controlbar", ug_data->move_cbar);
+
+ Evas_Object *move_back_btn = elm_object_item_part_content_get(ug_data->navi_move_it1, "prev_btn");
+ if (move_back_btn) {
+ evas_object_smart_callback_del(move_back_btn, "clicked", _move_back_cb);
+ evas_object_del(move_back_btn);
+ elm_object_item_part_content_set(ug_data->navi_move_it1, "prev_btn", NULL);
+ }
+ elm_naviframe_item_title_visible_set(ug_data->navi_move_it1, EINA_FALSE);
+ }
+ if (ug_data->navi_move_it2) {
+ debug_log("move2");
+ Evas_Object *move_back_btn = elm_object_item_part_content_get(ug_data->navi_move_it2, "prev_btn");
+ if (move_back_btn) {
+ evas_object_smart_callback_del(move_back_btn, "clicked", _move_back_cb2);
+ evas_object_del(move_back_btn);
+ elm_object_item_part_content_set(ug_data->navi_move_it2, "prev_btn", NULL);
+ }
+ elm_naviframe_item_title_visible_set(ug_data->navi_move_it2, EINA_FALSE);
+ }
+
+ if (ug_data->b_btn) {
+ evas_object_smart_callback_del(ug_data->b_btn, "clicked", _back_cb);
+ evas_object_del(ug_data->b_btn);
+ ug_data->b_btn = NULL;
+ elm_object_item_part_content_set(ug_data->navi_main_it, "prev_btn", NULL);
+ }
+
+ int resized_w = ug_data->webview_width_landscape * ug_data->scale_factor;
+ int resized_h = ug_data->webview_height_landscape * ug_data->scale_factor;
+ evas_object_size_hint_min_set(ug_data->webview, resized_w, resized_h);
+
+ ug_data->isRotate = true;
+ }
+
+ break;
+
+ case UG_EVENT_REGION_CHANGE:
+ appcore_get_timeformat(&icu_timeformat);
+ /* ICU API to set default locale */
+ if (icu_timeformat == APPCORE_TIME_FORMAT_12)
+ formatted_date = email_get_date_text(icu_locale, "yMdhms", &(prop->mktime));
+ else
+ formatted_date = email_get_date_text(icu_locale, "yMdHms", &(prop->mktime));
+ ret = snprintf(date_time, MAX_STR_LEN, "%s", formatted_date);
+
+ free(formatted_date);
+ formatted_date = NULL;
+
+ edje_object_part_text_set(_EDJ(ug_data->ly_subject), "elm.text.sub", date_time);
+ evas_object_show(ug_data->ly_subject);
+ break;
+
+ default:
+ break;
+ }
+}
+
+static void on_key_event(ui_gadget_h ug, enum ug_key_event event, service_h data, void *priv)
+{
+ debug_log("");
+
+ if (!ug)
+ return;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)priv;
+ EmailViewerPrivate *private = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+
+ switch (event) {
+ case UG_KEY_EVENT_END:
+ if (_g_ug_data) {
+ if (ug_data->notify != NULL || ug_data->pb_notify != NULL || ug_data->timeout_popup != NULL) {
+ if (ug_data->timeout_popup) {
+ evas_object_del(ug_data->timeout_popup);
+ ug_data->timeout_popup = NULL;
+ }
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+
+ if (ug_data->pb_notify) {
+ int i = 0;
+ int att_len = g_list_length(prop->attachments);
+
+ evas_object_del(ug_data->pb_notify);
+ ug_data->pb_notify = NULL;
+
+ if (private->email_handle != 0)
+ email_engine_stop_working(ug_data->account_id, private->email_handle);
+
+ for (i = 0; i < att_len; i++) {
+ if (private->download_all_email_handle[i] != 0)
+ email_engine_stop_working(ug_data->account_id, private->download_all_email_handle[i]);
+ }
+ }
+
+ if (ug_data->pb_notify_lb) {
+ evas_object_del(ug_data->pb_notify_lb);
+ ug_data->pb_notify_lb = NULL;
+ }
+ } else {
+ if (ug_data->isRotate == false && ug_data->b_internal) {
+ /* Viewer to hide, so set left content (mailbox) size to full */
+ _notify_mailbox_size(ug_data, "MAILBOX_RESIZE_FULL");
+ }
+
+ if (ug_data->b_internal)
+ _hide_view(ug_data);
+ else
+ ug_destroy_me(ug_data->ug);
+ }
+ } else {
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_END_KEY);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ }
+ break;
+
+ default:
+ break;
+ }
+}
+
+static void layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
+{
+ debug_log("");
+ Evas_Object *base, *win;
+
+ if (!ug || !priv)
+ return;
+
+ base = ug_get_layout(ug);
+ if (!base)
+ return;
+
+ win = ug_get_window();
+
+ 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;
+ default:
+ break;
+ }
+}
+
+static void result_cb(ui_gadget_h ug, service_h result, void *priv)
+{
+ debug_log("");
+
+ if (!ug || !priv)
+ return;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)priv;
+ EmailViewerProp *prop = ug_data->property;
+ EmailViewerPrivate *private = ug_data->email_data;
+
+ if (ug == ug_data->ug_composer) {
+ char *cmd = NULL;
+ int ret = service_get_extra_data(result, EMAIL_BUNDLE_KEY_SAVE_ALL, (char **)&cmd);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("return of bundle_get_val for save all(%s)", cmd);
+ if (cmd) {
+ debug_log("save all from composer(%s)", cmd);
+
+ if (prop->real_att_len == 1) {
+ private->b_all_att_save = TRUE;
+ _save_attachment(ug_data, 0);
+ } else if (prop->real_att_len > 1) {
+ _save_attachment_all(ug_data);
+ }
+ g_free(cmd);
+ return;
+ }
+
+ ret = service_get_extra_data(result, EMAIL_BUNDLE_KEY_CANCEL_ALL, (char **)&cmd);
+ debug_log("service_get_extra_data: %d", ret);
+ debug_log("return of bundle_get_val for cancel all(%s)", cmd);
+ if (cmd) {
+ debug_log("cancel all attachment from composer(%s)", cmd);
+
+ _cancel_download_attachment(ug_data);
+ g_free(cmd);
+ return;
+ }
+ }
+}
+
+static void destroy_cb(ui_gadget_h ug, void *priv)
+{
+ debug_log("");
+ if (!ug || !priv)
+ return;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)priv;
+ EmailViewerProp *prop = ug_data->property;
+ ug_data->display_download_result = TRUE;
+
+ if (ug == ug_data->ug_composer) {
+ ug_data->ug_composer = NULL;
+ }
+
+ ug_destroy(ug);
+
+ if (ug_data->b_contact_ug_launched) {
+ debug_log("change navibar title label");
+ EMAIL_CONTACT_LIST_INFO_S *contact_list_item = NULL;
+ contact_list_item = (EMAIL_CONTACT_LIST_INFO_S *)_contact_search_by_email(ug_data, prop->sender);
+
+ if (contact_list_item) {
+ elm_object_item_text_set(ug_data->navi_main_it, contact_list_item->display_name);
+ _delete_contacts_list(contact_list_item);
+ } else {
+ elm_object_item_text_set(ug_data->navi_main_it, prop->sender_display_name);
+ }
+
+ ug_data->b_contact_ug_launched = FALSE;
+ }
+}
+
+static ui_gadget_h create_ug(char *ug_name, service_h bd, void *data)
+{
+ debug_log("");
+ ui_gadget_h ug;
+ struct ug_cbs cbs = { 0, };
+
+ cbs.layout_cb = layout_cb;
+ cbs.result_cb = result_cb;
+ cbs.destroy_cb = destroy_cb;
+ cbs.priv = data;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ ug = ug_create(ug_data->ug, ug_name, UG_MODE_FULLVIEW, bd, &cbs);
+
+ return ug;
+}
+
+static void _create_view(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ Evas_Object *b_btn;
+ Evas_Object *prev_btn;
+ Evas_Object *next_btn;
+ EmailViewerProp *prop = ug_data->property;
+
+ ug_data->bg = _create_bg(ug_data->win_main);
+
+ /* create layout */
+ ug_data->layout_main = elm_layout_add(ug_data->win_main);
+
+ if (ug_data->b_internal)
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "noindicator");
+ else
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "default");
+ evas_object_size_hint_weight_set(ug_data->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(ug_data->layout_main);
+
+ elm_object_part_content_set(ug_data->layout_main, "elm.swallow.bg", ug_data->bg);
+
+ /* indicator */
+ elm_win_indicator_mode_set(ug_data->win_main, ELM_WIN_INDICATOR_SHOW);
+
+ evas_object_smart_callback_add(ug_data->win_main, "profile,changed", _win_profile_changed_cb, ug_data);
+
+ /* navigation Bar */
+ _create_navigation_bar(ug_data);
+
+ /* push navigation bar */
+ ug_data->sub_ly = elm_layout_add(ug_data->navi_bar);
+ elm_layout_theme_set(ug_data->sub_ly, "layout", "application", "noindicator");
+ evas_object_size_hint_weight_set(ug_data->sub_ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(ug_data->sub_ly);
+
+ /* back button */
+ b_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(b_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(b_btn, "clicked", _back_cb, ug_data);
+ ug_data->b_btn = b_btn;
+
+ ug_data->navi_main_it = elm_naviframe_item_push(ug_data->navi_bar, prop->sender_display_name, b_btn, NULL, ug_data->sub_ly, NULL);
+
+ if (ug_data->b_internal) {
+ /* Left : previous button */
+ prev_btn = elm_button_add(ug_data->navi_bar);
+ Evas_Object *prev_ic = elm_icon_add(prev_btn);
+ elm_icon_file_set(prev_ic, IMGDIR "/M02_icon_previous.png", NULL);
+ elm_object_style_set(prev_btn, "naviframe/title/default");
+ evas_object_size_hint_aspect_set(prev_ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(prev_ic, 0.8, 0.8);
+ elm_object_part_content_set(prev_btn, "icon", prev_ic);
+ elm_object_item_part_content_set(ug_data->navi_main_it, "title_left_btn", prev_btn);
+ evas_object_smart_callback_add(prev_btn, "clicked", _prev_mail_cb, ug_data);
+ ug_data->prev_btn = prev_btn;
+
+ /* Right : next button */
+ next_btn = elm_button_add(ug_data->navi_bar);
+ Evas_Object *next_ic = elm_icon_add(next_btn);
+ elm_icon_file_set(next_ic, IMGDIR "/M02_icon_next.png", NULL);
+ elm_object_style_set(next_btn, "naviframe/title/default");
+ evas_object_size_hint_aspect_set(next_ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(next_ic, 0.8, 0.8);
+ elm_object_part_content_set(next_btn, "icon", next_ic);
+ elm_object_item_part_content_set(ug_data->navi_main_it, "title_right_btn", next_btn);
+ evas_object_smart_callback_add(next_btn, "clicked", _next_mail_cb, ug_data);
+ ug_data->next_btn = next_btn;
+ }
+
+ /* create scroller */
+ ug_data->scroller = elm_scroller_add(ug_data->navi_bar);
+ evas_object_propagate_events_set(ug_data->scroller, EINA_FALSE);
+ elm_scroller_bounce_set(ug_data->scroller, EINA_FALSE, EINA_TRUE);
+ elm_scroller_policy_set(ug_data->scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
+ evas_object_show(ug_data->scroller);
+ evas_object_smart_callback_add(ug_data->scroller, "edge,bottom", _outter_scroller_bottom_hit_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->scroller, "edge,top", _outter_scroller_top_hit_cb, ug_data);
+ evas_object_smart_callback_add(ug_data->scroller, "scroll,drag,start", _outter_scroller_scroll_cb, ug_data);
+
+ /* create conformant */
+ elm_win_conformant_set(ug_data->win_main, EINA_TRUE);
+ ug_data->conformant = elm_conformant_add(ug_data->sub_ly);
+ elm_object_style_set(ug_data->conformant, "internal_layout");
+ evas_object_size_hint_weight_set(ug_data->conformant, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(ug_data->conformant, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ elm_object_content_set(ug_data->conformant, ug_data->scroller);
+ elm_object_part_content_set(ug_data->sub_ly, "elm.swallow.content", ug_data->conformant);
+ evas_object_show(ug_data->conformant);
+
+ if (ug_data->from_list != NULL) {
+ email_address_info_t *addrs_info = NULL;
+ int n_from_list = g_list_length(ug_data->from_list);
+ debug_log("from list count [%d]", n_from_list);
+
+ if (n_from_list > 0) {
+ addrs_info = (email_address_info_t *) g_list_nth_data(ug_data->from_list, 0);
+ debug_log("From Address:%s", addrs_info->address);
+ debug_log("Display Name:%s", addrs_info->display_name);
+ debug_log("Storage Type:%d", addrs_info->storage_type);
+ debug_log("Contact ID:%d", addrs_info->contact_id);
+ debug_log("");
+ g_free(prop->sender_display_name);
+ prop->sender_display_name = g_strdup(addrs_info->display_name);
+ g_free(prop->sender);
+ prop->sender = g_strdup(addrs_info->address);
+
+ if (addrs_info->display_name && strlen(addrs_info->display_name) > 0)
+ elm_object_item_text_set(ug_data->navi_main_it, addrs_info->display_name);
+ else
+ elm_object_item_text_set(ug_data->navi_main_it, addrs_info->address);
+ }
+ }
+
+ /* create main box */
+ ug_data->main_bx = elm_box_add(ug_data->navi_bar);
+ evas_object_size_hint_weight_set(ug_data->main_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(ug_data->main_bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(ug_data->main_bx);
+ elm_object_content_set(ug_data->scroller, ug_data->main_bx);
+
+ if (ug_data->property->has_attachment)
+ ug_data->got_att = 1;
+ else
+ ug_data->got_att = 0;
+
+ /* packing subject, addrs, attachment */
+ _create_subject(ug_data);
+
+ if (ug_data->got_att) {
+ _create_attach(ug_data);
+ }
+
+ if (ug_data->isRotate == true) {
+ debug_log("In Split view - Hiding navi bar");
+ elm_naviframe_item_title_visible_set(ug_data->navi_main_it, EINA_FALSE);
+
+ if (ug_data->b_btn) {
+
+ debug_log("hiding back button");
+
+ evas_object_smart_callback_del(ug_data->b_btn, "clicked", _back_cb);
+ evas_object_del(ug_data->b_btn);
+ ug_data->b_btn = NULL;
+
+ elm_object_item_part_content_set(ug_data->navi_main_it, "prev_btn", NULL);
+ }
+ }
+}
+
+static void _reset_view(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerProp *prop = ug_data->property;
+ int ret;
+ char date_time[MAX_STR_LEN] = { 0, };
+
+ debug_log("@@@@@@@@@@ isRotate = %d", ug_data->isRotate);
+ if (ug_data->isRotate == true) {
+ debug_log("In Split view - Hiding navi bar");
+ elm_naviframe_item_title_visible_set(ug_data->navi_main_it, EINA_FALSE);
+
+ if (ug_data->b_btn) {
+
+ debug_log("hiding back button");
+
+ evas_object_smart_callback_del(ug_data->b_btn, "clicked", _back_cb);
+ evas_object_del(ug_data->b_btn);
+ ug_data->b_btn = NULL;
+
+ elm_object_item_part_content_set(ug_data->navi_main_it, "prev_btn", NULL);
+ }
+
+ /* Set scroller to start - height made 480 to consider viewer in split view */
+ elm_scroller_region_show(ug_data->scroller, 0, 0, (int)((double)ug_data->main_h * 0.6), ug_data->main_w);
+ } else {
+ debug_log("In Full view - Showing navi bar");
+ elm_naviframe_item_title_visible_set(ug_data->navi_main_it, EINA_TRUE);
+
+ if (ug_data->b_btn) {
+
+ evas_object_smart_callback_del(ug_data->b_btn, "clicked", _back_cb);
+ evas_object_del(ug_data->b_btn);
+ ug_data->b_btn = NULL;
+ }
+
+ debug_log("showing back button");
+
+ ug_data->b_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(ug_data->b_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(ug_data->b_btn, "clicked", _back_cb, ug_data);
+
+ elm_object_item_part_content_set(ug_data->navi_main_it, "prev_btn", ug_data->b_btn);
+
+ /* Set scroller to start */
+ elm_scroller_region_show(ug_data->scroller, 0, 0, ug_data->main_w, ug_data->main_h);
+ }
+
+ if (ug_data->from_list != NULL) {
+ email_address_info_t *addrs_info = NULL;
+ int n_from_list = g_list_length(ug_data->from_list);
+ debug_log("from list count [%d]", n_from_list);
+
+ if (n_from_list > 0) {
+ addrs_info = (email_address_info_t *) g_list_nth_data(ug_data->from_list, 0);
+ if (addrs_info) {
+ debug_log("From Address:%s", addrs_info->address);
+ debug_log("Display Name:%s", addrs_info->display_name);
+ debug_log("Storage Type:%d", addrs_info->storage_type);
+ debug_log("Contact ID:%d", addrs_info->contact_id);
+ g_free(prop->sender_display_name);
+ prop->sender_display_name = g_strdup(addrs_info->display_name);
+ g_free(prop->sender);
+ prop->sender = g_strdup(addrs_info->address);
+
+ if (addrs_info->display_name && strlen(addrs_info->display_name) > 0)
+ elm_object_item_text_set(ug_data->navi_main_it, addrs_info->display_name);
+ else
+ elm_object_item_text_set(ug_data->navi_main_it, addrs_info->address);
+ }
+ }
+ } else {
+ elm_object_item_text_set(ug_data->navi_main_it, prop->sender_display_name);
+ }
+
+ /* reset subject */
+ char *_subject = elm_entry_utf8_to_markup(prop->subject);
+ char *_subject_concated = g_strconcat("<font_size=44><color=#000000FF>", _subject, "</color></font_size>", NULL);
+ elm_object_text_set(ug_data->lb_subject, _subject_concated);
+ elm_label_wrap_width_set(ug_data->lb_subject, ug_data->main_w - (int)(110 * ug_data->scale_factor));
+ elm_label_line_wrap_set(ug_data->lb_subject, ELM_WRAP_WORD);
+ g_free(_subject);
+ g_free(_subject_concated);
+
+ /* reset date & time */
+ char *formatted_date = NULL;
+
+ if (icu_timeformat == APPCORE_TIME_FORMAT_12)
+ formatted_date = email_get_date_text(icu_locale, "yMdhms", &(prop->mktime));
+ else
+ formatted_date = email_get_date_text(icu_locale, "yMdHms", &(prop->mktime));
+ ret = snprintf(date_time, MAX_STR_LEN, "%s", formatted_date);
+
+ free(formatted_date);
+ formatted_date = NULL;
+
+ elm_object_part_text_set(ug_data->ly_subject, "elm.text.sub", date_time);
+
+ Evas_Object *favorite_icon = elm_icon_add(ug_data->ly_subject);
+ switch(prop->favorite)
+ {
+ case EMAIL_FLAG_NONE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_icon_favorite_off.png", NULL);
+ break;
+ case EMAIL_FLAG_FLAGED:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_icon_favorite_on.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_CLEAR:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Clear.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_ACTIVE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Active.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_COMPLETE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Complete.png", NULL);
+ break;
+ }
+ evas_object_size_hint_aspect_set(favorite_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(favorite_icon, 1, 1);
+ evas_object_del(elm_object_part_content_unset(ug_data->ly_subject, "elm.icon.favorite"));
+ elm_object_part_content_set(ug_data->ly_subject, "elm.icon.favorite", favorite_icon);
+ evas_object_show(favorite_icon);
+
+ evas_object_show(ug_data->ly_subject);
+ elm_box_pack_end(ug_data->main_bx, ug_data->ly_subject);
+
+ if (prop->has_attachment)
+ ug_data->got_att = 1;
+ else
+ ug_data->got_att = 0;
+
+ /* pack attachment if it exist */
+ if (ug_data->got_att) {
+ _create_attach(ug_data);
+ }
+
+ /* check body downloaded */
+ _check_body_download(ug_data);
+}
+
+void _hide_view(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerProp *prop = ug_data->property;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ debug_log("Cancelling all attachment downloads");
+ _cancel_download_attachment(ug_data);
+
+ ug_data->display_download_result = FALSE;
+ _g_ug_data = NULL;
+
+ if (elm_naviframe_top_item_get(ug_data->navi_bar) != ug_data->navi_main_it) {
+ ug_data->navi_move_it1 = NULL;
+ ug_data->navi_move_it2 = NULL;
+ elm_naviframe_item_pop_to(ug_data->navi_main_it);
+ }
+
+ evas_object_hide(ug_data->layout_main);
+ elm_box_unpack_all(ug_data->main_bx);
+ elm_object_scroll_freeze_pop(ug_data->scroller);
+
+ evas_object_hide(ug_data->ly_subject);
+ evas_object_hide(ug_data->lb_subject);
+ evas_object_hide(ug_data->webview_bx);
+ evas_object_hide(ug_data->webview);
+
+ if (ug_data->partial_dn_btn) {
+ evas_object_del(ug_data->partial_dn_btn);
+ ug_data->partial_dn_btn = NULL;
+ }
+
+ if (ug_data->partial_dn_btn_bx) {
+ evas_object_del(ug_data->partial_dn_btn_bx);
+ ug_data->partial_dn_btn_bx = NULL;
+ }
+
+ if (ug_data->ctr_bar) {
+ elm_object_item_part_content_unset(ug_data->navi_main_it, "controlbar");
+ evas_object_del(ug_data->ctr_bar);
+ ug_data->ctr_bar = NULL;
+
+ ug_data->reply_ctr_it = NULL;
+ ug_data->replyall_ctr_it = NULL;
+ ug_data->forward_ctr_it = NULL;
+ ug_data->calendar_ctr_it = NULL;
+ ug_data->resend_ctr_it = NULL;
+ ug_data->move_ctr_it = NULL;
+ ug_data->del_ctr_it = NULL;
+ }
+
+ if (ug_data->to_ly) {
+ evas_object_del(ug_data->to_ly);
+ ug_data->to_ly = NULL;
+ }
+
+ if (ug_data->cc_ly) {
+ evas_object_del(ug_data->cc_ly);
+ ug_data->cc_ly = NULL;
+ }
+
+ if (ug_data->bcc_ly) {
+ evas_object_del(ug_data->bcc_ly);
+ ug_data->bcc_ly = NULL;
+ }
+
+ if (ug_data->got_att) {
+ int i;
+
+ evas_object_del(ug_data->attach_hd_bk);
+ ug_data->attach_hd_ly = NULL;
+ ug_data->attach_hd_bk = NULL;
+
+ if (prop->real_att_len > 1) {
+ for (i = 0; i < prop->real_att_len; i++) {
+ if (ug_data->attach_ex_ly != NULL) {
+ if (ug_data->attach_ex_ly[i] != NULL) {
+ debug_log("index %d", i);
+ evas_object_del(ug_data->attach_ex_bk[i]);
+ ug_data->attach_ex_ly[i] = NULL;
+ ug_data->attach_ex_bk[i] = NULL;
+ }
+ }
+ }
+
+ if (ug_data->attach_ex_ly != NULL) {
+ free(ug_data->attach_ex_ly);
+ ug_data->attach_ex_ly = NULL;
+ ug_data->attach_ex_bk = NULL;
+ }
+ }
+
+ for (i = 0; i <= prop->att_len; i++) {
+ if (ug_data->progress_bar_ly[i] != NULL) {
+ evas_object_del(ug_data->progress_bar_ly[i]);
+ ug_data->progress_bar_ly[i] = NULL;
+ ug_data->progress_bar[i] = NULL;
+ }
+ }
+ }
+
+ if (ug_data->con_popup != NULL) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ if (ug_data->notify != NULL) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+
+ edje_object_signal_emit(_EDJ(ug_data->ly_subject), "elm,state,contracted", "elm");
+
+ evas_object_hide(ug_data->noc_bx);
+ evas_object_hide(ug_data->dn_btn);
+
+ ewk_view_uri_set(ug_data->webview, EMAIL_DEFAULT_HTML);
+
+ debug_log("free address info list");
+ email_free_address_info_list(&(priv->addrs_info_list));
+ ug_data->from_list = NULL;
+ ug_data->to_list = NULL;
+ ug_data->cc_list = NULL;
+ ug_data->bcc_list = NULL;
+
+ ug_data->got_att = 0;
+ ug_data->subject_onoff_flag = 0;
+ ug_data->attach_onoff_flag = 0;
+ ug_data->b_partial_body = 0;
+ ug_data->b_internal = 0;
+ ug_data->scroller_locked = 0;
+ ug_data->m_is_multi_touch = 0;
+
+ ug_data->navi_move_it1 = NULL;
+ ug_data->navi_move_it2 = NULL;
+
+ /* Double_Scroller */
+ ug_data->b_noc = 1;
+ ug_data->b_load_finished = EINA_FALSE;
+ ug_data->b_show_remote_images = EINA_FALSE;
+ ug_data->is_webview_scrolling = EINA_FALSE;
+ ug_data->is_main_scroller_scrolling = EINA_FALSE;
+}
+
+static void _win_profile_changed_cb(void *data, Evas_Object *obj, void *event)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ const char *profile = elm_config_profile_get();
+ if (!g_strcmp0(profile, "desktop"))
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "noindicator");
+ else
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "default");
+
+ evas_object_size_hint_weight_set(ug_data->layout_main, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(ug_data->win_main, ug_data->layout_main);
+ evas_object_show(ug_data->layout_main);
+}
+
+static Evas_Object *_create_navigation_bar(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ Evas_Object *navi_bar;
+
+ navi_bar = elm_naviframe_add(ug_data->layout_main);
+ if (navi_bar == NULL) {
+ debug_log("navi_bar == NULL");
+ return NULL;
+ }
+
+ elm_object_part_content_set(ug_data->layout_main, "elm.swallow.content", navi_bar);
+ evas_object_show(navi_bar);
+
+ ug_data->navi_bar = navi_bar;
+ return navi_bar;
+}
+
+static Evas_Object *_create_subject(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerProp *prop = ug_data->property;
+ int ret;
+ char date_time[MAX_STR_LEN] = { 0, };
+
+ /* append subject */
+ Evas_Object *di = elm_layout_add(ug_data->navi_bar);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.detail_subject");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+
+ Evas_Object *subject_label;
+ subject_label = elm_label_add(di);
+ elm_object_part_content_set(di, "elm.text", subject_label);
+ char *subject = elm_entry_utf8_to_markup(prop->subject);
+ char *subject_tagged = g_strconcat("<font_size=44><color=#000000FF>", subject, "</color></font_size>", NULL);
+ elm_object_text_set(subject_label, subject_tagged);
+ elm_label_wrap_width_set(subject_label, ug_data->main_w - (int)(110 * ug_data->scale_factor));
+ elm_label_line_wrap_set(subject_label, ELM_WRAP_WORD);
+ ug_data->lb_subject = subject_label;
+ g_free(subject);
+ g_free(subject_tagged);
+
+ char *formatted_date = NULL;
+
+ if (icu_timeformat == APPCORE_TIME_FORMAT_12)
+ formatted_date = email_get_date_text(icu_locale, "yMdhms", &(prop->mktime));
+ else
+ formatted_date = email_get_date_text(icu_locale, "yMdHms", &(prop->mktime));
+ ret = snprintf(date_time, MAX_STR_LEN, "%s", formatted_date);
+ free(formatted_date);
+ formatted_date = NULL;
+
+ elm_object_part_text_set(di, "elm.text.sub", date_time);
+
+ Evas_Object *favorite_icon = elm_icon_add(di);
+ switch(prop->favorite)
+ {
+ case EMAIL_FLAG_NONE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_icon_favorite_off.png", NULL);
+ break;
+ case EMAIL_FLAG_FLAGED:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_icon_favorite_on.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_CLEAR:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Clear.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_ACTIVE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Active.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_COMPLETE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Complete.png", NULL);
+ break;
+ }
+ evas_object_size_hint_aspect_set(favorite_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(favorite_icon, 1, 1);
+ elm_object_part_content_set(di, "elm.icon.favorite", favorite_icon);
+ evas_object_show(favorite_icon);
+
+ evas_object_show(di);
+ elm_box_pack_end(ug_data->main_bx, di);
+ ug_data->ly_subject = di;
+
+ Evas_Object *edje = elm_layout_edje_get(di);
+
+ if (ug_data->to_list || ug_data->cc_list || ug_data->bcc_list) {
+ edje_object_signal_callback_add(edje, "elm,action,expand,toggle", "elm", _subject_detail_clicked_cb, di);
+ edje_object_signal_callback_add(edje, "elm,action,toggle", "elm", _subject_favorite_clicked_cb, di);
+ } else {
+ edje_object_signal_emit(edje, "elm,state,arrow_hidden", "elm");
+ }
+
+ return di;
+}
+
+static Evas_Object *_create_to_addrs(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ email_address_info_t *addrs_info = NULL;
+ Elm_Object_Item *mbe_item;
+
+ if (ug_data->to_list == NULL) {
+ debug_log("to_list is NULL");
+ return NULL;
+ }
+
+ int n_to_list = g_list_length(ug_data->to_list);
+ int i = 0;
+
+ if (n_to_list <= 0) {
+ debug_log("to_list count is 0");
+ return NULL;
+ }
+
+ Evas_Object *di = elm_layout_add(ug_data->main_bx);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.to_cc");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+ evas_object_show(di);
+ ug_data->to_ly = di;
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->ly_subject);
+
+ Evas_Object *to_mbe = elm_multibuttonentry_add(ug_data->main_bx);
+ char desc[MAX_STR_LEN] = { 0, };
+ snprintf(desc, MAX_STR_LEN, "%s:", dgettext("sys_string", "IDS_COM_BODY_TO"));
+ char *to_str = g_strconcat("<font_size=36><color=#000000FF>", desc, "</color></font_size>", NULL);
+ elm_object_text_set(to_mbe, to_str);
+ g_free(to_str);
+
+ evas_object_smart_callback_add(to_mbe, "item,clicked", _mbe_selected_cb, ug_data);
+ evas_object_smart_callback_add(to_mbe, "item,added", _mbe_added_cb, ug_data);
+ elm_object_part_content_set(di, "elm.icon", to_mbe);
+ ug_data->to_mbe = to_mbe;
+
+ Evas_Object *entry = elm_multibuttonentry_entry_get(to_mbe);
+ if (entry)
+ elm_entry_editable_set(entry, EINA_FALSE);
+
+ if (n_to_list > EMAIL_VIEW_MAX_TO_COUNT)
+ n_to_list = EMAIL_VIEW_MAX_TO_COUNT;
+
+ for (i = 0; i < n_to_list; i++) {
+ addrs_info = (email_address_info_t *) g_list_nth_data(ug_data->to_list, i);
+ debug_log("Address:%s", addrs_info->address);
+ debug_log("Display Name:%s", addrs_info->display_name);
+ debug_log("Storage Type:%d", addrs_info->storage_type);
+ debug_log("Contact ID:%d", addrs_info->contact_id);
+ debug_log("");
+ if (addrs_info->display_name && strlen(addrs_info->display_name) > 0)
+ mbe_item = elm_multibuttonentry_item_append(to_mbe, addrs_info->display_name, NULL, NULL);
+ else
+ mbe_item = elm_multibuttonentry_item_append(to_mbe, addrs_info->address, NULL, NULL);
+ elm_object_item_data_set(mbe_item, addrs_info);
+ }
+
+ return di;
+}
+
+static Evas_Object *_create_cc_addrs(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ email_address_info_t *addrs_info = NULL;
+ Elm_Object_Item *mbe_item;
+
+ if (ug_data->cc_list == NULL) {
+ debug_log("cc_list is NULL");
+ return NULL;
+ }
+
+ int n_cc_list = g_list_length(ug_data->cc_list);
+ int i = 0;
+
+ if (n_cc_list <= 0) {
+ debug_log("cc_list count is 0");
+ return NULL;
+ }
+
+ Evas_Object *di = elm_layout_add(ug_data->main_bx);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.to_cc");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+ evas_object_show(di);
+ ug_data->cc_ly = di;
+
+ if (ug_data->to_ly) {
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->to_ly);
+ } else {
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->ly_subject);
+ }
+
+ Evas_Object *cc_mbe = elm_multibuttonentry_add(ug_data->main_bx);
+ char desc[MAX_STR_LEN] = { 0, };
+ snprintf(desc, MAX_STR_LEN, "%s:", _("IDS_EMAIL_BODY_CC"));
+ char *cc_str = g_strconcat("<font_size=36><color=#000000FF>", desc, "</color></font_size>", NULL);
+ elm_object_text_set(cc_mbe, cc_str);
+ g_free(cc_str);
+ evas_object_smart_callback_add(cc_mbe, "item,clicked", _mbe_selected_cb, ug_data);
+ evas_object_smart_callback_add(cc_mbe, "item,added", _mbe_added_cb, ug_data);
+ elm_object_part_content_set(di, "elm.icon", cc_mbe);
+ ug_data->cc_mbe = cc_mbe;
+
+ Evas_Object *entry = elm_multibuttonentry_entry_get(cc_mbe);
+ if (entry)
+ elm_entry_editable_set(entry, EINA_FALSE);
+
+ if (n_cc_list > EMAIL_VIEW_MAX_CC_COUNT)
+ n_cc_list = EMAIL_VIEW_MAX_CC_COUNT;
+
+ for (i = 0; i < n_cc_list; i++) {
+ addrs_info = (email_address_info_t *) g_list_nth_data(ug_data->cc_list, i);
+
+ if (addrs_info->display_name && strlen(addrs_info->display_name) > 0)
+ mbe_item = elm_multibuttonentry_item_append(cc_mbe, addrs_info->display_name, NULL, NULL);
+ else
+ mbe_item = elm_multibuttonentry_item_append(cc_mbe, addrs_info->address, NULL, NULL);
+ elm_object_item_data_set(mbe_item, addrs_info);
+ }
+
+ return di;
+}
+
+static Evas_Object *_create_bcc_addrs(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ email_address_info_t *addrs_info = NULL;
+ Elm_Object_Item *mbe_item;
+
+ if (ug_data->bcc_list == NULL) {
+ debug_log("bcc_list is NULL");
+ return NULL;
+ }
+
+ int n_bcc_list = g_list_length(ug_data->bcc_list);
+ int i = 0;
+
+ if (n_bcc_list <= 0) {
+ debug_log("bcc_list count is 0");
+ return NULL;
+ }
+
+ Evas_Object *di = elm_layout_add(ug_data->main_bx);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.to_cc");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+ evas_object_show(di);
+ ug_data->bcc_ly = di;
+
+ if (ug_data->cc_ly) {
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->cc_ly);
+ }
+ if (ug_data->to_ly && ug_data->cc_ly == NULL) {
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->to_ly);
+ }
+ if (ug_data->to_ly == NULL && ug_data->cc_ly == NULL) {
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->ly_subject);
+ }
+
+ Evas_Object *bcc_mbe = elm_multibuttonentry_add(ug_data->main_bx);
+ char desc[MAX_STR_LEN] = { 0, };
+ snprintf(desc, MAX_STR_LEN, "%s:", _("IDS_EMAIL_BODY_BCC"));
+ char *bcc_str = g_strconcat("<font_size=36><color=#000000FF>", desc, "</color></font_size>", NULL);
+ elm_object_text_set(bcc_mbe, bcc_str);
+ g_free(bcc_str);
+ evas_object_smart_callback_add(bcc_mbe, "item,clicked", _mbe_selected_cb, ug_data);
+ evas_object_smart_callback_add(bcc_mbe, "item,added", _mbe_added_cb, ug_data);
+ elm_object_part_content_set(di, "elm.icon", bcc_mbe);
+ ug_data->bcc_mbe = bcc_mbe;
+
+ Evas_Object *entry = elm_multibuttonentry_entry_get(bcc_mbe);
+ if (entry)
+ elm_entry_editable_set(entry, EINA_FALSE);
+
+ if (n_bcc_list > EMAIL_VIEW_MAX_BCC_COUNT)
+ n_bcc_list = EMAIL_VIEW_MAX_BCC_COUNT;
+
+ for (i = 0; i < n_bcc_list; i++) {
+ addrs_info = (email_address_info_t *) g_list_nth_data(ug_data->bcc_list, i);
+
+ if (addrs_info->display_name && strlen(addrs_info->display_name) > 0)
+ mbe_item = elm_multibuttonentry_item_append(bcc_mbe, addrs_info->display_name, NULL, NULL);
+ else
+ mbe_item = elm_multibuttonentry_item_append(bcc_mbe, addrs_info->address, NULL, NULL);
+ elm_object_item_data_set(mbe_item, addrs_info);
+ }
+
+ return di;
+}
+
+static Evas_Object *_create_attach(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ EmailViewerProp *prop = ug_data->property;
+ char buff[MAX_STR_LEN];
+ int i = 0;
+ int att_len = prop->real_att_len;
+ int att_index = 0;
+
+ RETURN_VAL_IF_FAIL(prop->attachments != NULL, NULL);
+ RETURN_VAL_IF_FAIL(att_len > 0, NULL);
+
+ GList *attachment_list = prop->attachments;
+
+ if (att_len == 1) {
+ LIST_ITER_START(i, attachment_list) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+
+ if (info && !info->inline_content) {
+ if (info->size < 1024) {
+ g_sprintf(buff, "%s (%d %s)", info->name, (gint) info->size, dgettext("sys_string", "IDS_COM_BODY_B"));
+ } else {
+ gdouble tmpsize = (gdouble) (info->size / 1024.);
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "%s (%.2f %s)", info->name, tmpsize, dgettext("sys_string", "IDS_COM_BODY_KB"));
+ } else {
+ tmpsize /= 1024.;
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "%s (%.2f %s)", info->name, tmpsize, dgettext("sys_string", "IDS_COM_BODY_MB"));
+ } else {
+ tmpsize /= 1024.;
+ g_sprintf(buff, "%s (%.2f %s)", info->name, tmpsize, dgettext("sys_string", "IDS_COM_BODY_GB"));
+ }
+ }
+ }
+
+ Evas_Object *di = elm_layout_add(ug_data->navi_bar);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.attachment_item");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+ evas_object_show(di);
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->ly_subject);
+
+ Evas_Object *thumbnail = NULL;
+
+ if (info->download_yn) {
+ thumbnail = viewer_make_thumbnail(info->path, di);
+ } else
+ thumbnail = viewer_make_thumbnail(NULL, di);
+ evas_object_size_hint_aspect_set(thumbnail, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(thumbnail, 1, 1);
+ elm_object_part_content_set(di, "elm.icon", thumbnail);
+ evas_object_show(thumbnail);
+
+ elm_object_part_text_set(di, "elm.text", buff);
+
+ att_index = i;
+
+ Evas_Object *edje = elm_layout_edje_get(di);
+ edje_object_signal_callback_add(edje, "elm,action,download", "elm", _attachment_save_cb, (void *)att_index);
+ edje_object_signal_callback_add(edje, "clicked", "*", _attachment_clicked_cb, (void *)att_index);
+
+ Evas_Object *text_bg = NULL;
+ text_bg = (Evas_Object *)edje_object_part_object_get(_EDJ(di), "elm.event.rect");
+
+ if (text_bg) {
+ evas_object_event_callback_add(text_bg, EVAS_CALLBACK_MOUSE_DOWN, _attachment_bg_set_cb, (void *)att_index);
+ evas_object_event_callback_add(text_bg, EVAS_CALLBACK_MOUSE_UP, _attachment_bg_unset_cb, (void *)att_index);
+ }
+
+ ug_data->attach_hd_ly = di;
+ ug_data->attach_hd_bk = di;
+ }
+ }
+ } else if (att_len > 1) {
+ gint64 total_size = prop->total_att_size;
+
+ Evas_Object *di = elm_layout_add(ug_data->navi_bar);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.attachment_head");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+ snprintf(buff, sizeof(buff), "%d %s", att_len, _("IDS_EMAIL_BODY_ATTACHMENTS"));
+
+ Evas_Object *att_head_label;
+ att_head_label = elm_label_add(di);
+ elm_object_part_content_set(di, "elm.text", att_head_label);
+
+ char *buff_tagged = g_strconcat("<font_size=35><color=#000000FF>", buff, "<color></font_size>", NULL);
+ elm_object_text_set(att_head_label, buff_tagged);
+ g_free(buff_tagged);
+
+ if (total_size < 1024) {
+ g_sprintf(buff, "(%d %s)", (gint) total_size, dgettext("sys_string", "IDS_COM_BODY_B"));
+ } else {
+ gdouble tmpsize = (gdouble) (total_size / 1024.);
+
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "(%.2f %s)", tmpsize, dgettext("sys_string", "IDS_COM_BODY_KB"));
+ } else {
+ tmpsize /= 1024.;
+
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "(%.2f %s)", tmpsize, dgettext("sys_string", "IDS_COM_BODY_MB"));
+ } else {
+ tmpsize /= 1024.;
+ g_sprintf(buff, "(%.2f %s)", tmpsize, dgettext("sys_string", "IDS_COM_BODY_GB"));
+ }
+ }
+ }
+
+ edje_object_part_text_set(_EDJ(di), "elm.text.sub", buff);
+
+ Evas_Object *edje = elm_layout_edje_get(di);
+ edje_object_signal_callback_add(edje, "att,icon,save,all", "", _attachment_save_all_cb, di);
+ edje_object_signal_callback_add(edje, "elm,action,expand,toggle", "elm", _attachment_item_collapse_cb, di);
+ evas_object_show(di);
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->ly_subject);
+ ug_data->attach_hd_ly = di;
+ ug_data->attach_hd_bk = di;
+ } else {
+ debug_log("Attachment doesn't exist");
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_create_attach_ex(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ EmailViewerProp *prop = ug_data->property;
+ char buff[MAX_STR_LEN];
+ int i = 0;
+ int j = 0;
+ int att_len = prop->real_att_len;
+ int att_index = 0;
+
+ RETURN_VAL_IF_FAIL(prop->attachments != NULL, NULL);
+ RETURN_VAL_IF_FAIL(att_len > 0, NULL);
+
+ GList *attachment_list = prop->attachments;
+
+ ug_data->attach_ex_ly = (Evas_Object **)calloc(att_len, sizeof(Evas_Object *));
+ ug_data->attach_ex_bk = (Evas_Object **)calloc(att_len, sizeof(Evas_Object *));
+
+ LIST_ITER_START(i, attachment_list) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+
+ if (info && !info->inline_content) {
+ if (info->size < 1024) {
+ g_sprintf(buff, "%s (%d %s)", info->name, (gint) info->size, dgettext("sys_string", "IDS_COM_BODY_B"));
+ } else {
+ gdouble tmpsize = (gdouble) (info->size / 1024.);
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "%s (%.2f %s)", info->name, tmpsize, dgettext("sys_string", "IDS_COM_BODY_KB"));
+ } else {
+ tmpsize /= 1024.;
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "%s (%.2f %s)", info->name, tmpsize, dgettext("sys_string", "IDS_COM_BODY_MB"));
+ } else {
+ tmpsize /= 1024.;
+ g_sprintf(buff, "%s (%.2f %s)", info->name, tmpsize, dgettext("sys_string", "IDS_COM_BODY_GB"));
+ }
+ }
+ }
+
+ Evas_Object *di = elm_layout_add(ug_data->navi_bar);
+ elm_layout_file_set(di, EV_THEME_PATH, "layout.email.attachment_item");
+ evas_object_size_hint_align_set(di, EVAS_HINT_FILL, 0.0);
+ elm_box_pack_after(ug_data->main_bx, di, ug_data->attach_hd_ly);
+ evas_object_show(di);
+
+ Evas_Object *thumbnail = NULL;
+
+ if (info->download_yn) {
+ thumbnail = viewer_make_thumbnail(info->path, di);
+ } else
+ thumbnail = viewer_make_thumbnail(NULL, di);
+ evas_object_size_hint_aspect_set(thumbnail, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(thumbnail, 1, 1);
+ elm_object_part_content_set(di, "elm.icon", thumbnail);
+ evas_object_show(thumbnail);
+
+ elm_object_part_text_set(di, "elm.text", buff);
+
+ att_index = i;
+
+ Evas_Object *edje = elm_layout_edje_get(di);
+ edje_object_signal_callback_add(edje, "elm,action,download", "elm", _attachment_save_cb, (void *)att_index);
+ edje_object_signal_callback_add(edje, "clicked", "*", _attachment_clicked_cb, (void *)att_index);
+
+ Evas_Object *text_bg = NULL;
+ text_bg = (Evas_Object *)edje_object_part_object_get(_EDJ(di), "elm.event.rect");
+
+ if (text_bg) {
+ evas_object_event_callback_add(text_bg, EVAS_CALLBACK_MOUSE_DOWN, _attachment_bg_set_cb, (void *)att_index);
+ evas_object_event_callback_add(text_bg, EVAS_CALLBACK_MOUSE_UP, _attachment_bg_unset_cb, (void *)att_index);
+ }
+
+ debug_log("attach ly %d, att_index %d", j, i);
+
+ ug_data->attach_ex_ly[j] = di;
+ ug_data->attach_ex_bk[j] = di;
+
+ j++;
+ }
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_create_body(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerProp *prop = ug_data->property;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ ug_data->b_noc = 0;
+
+ if (ug_data->noc_bx) {
+ elm_box_unpack(ug_data->main_bx, ug_data->noc_bx);
+ evas_object_hide(ug_data->noc_bx);
+ }
+
+ if (ug_data->dn_btn) {
+ evas_object_hide(ug_data->dn_btn);
+ }
+
+ if (ug_data->webview_bx) {
+ _init_webview_data(ug_data);
+
+ if (prop->has_html) {
+ /* html mail */
+ ug_data->webview_data->body_type_prev = BODY_TYPE_HTML;
+ ug_data->webview_data->body_type = BODY_TYPE_HTML;
+ ug_data->webview_data->uri = prop->body_uri;
+ } else {
+ /* text mail */
+ ug_data->webview_data->body_type_prev = BODY_TYPE_TEXT;
+ ug_data->webview_data->body_type = BODY_TYPE_TEXT;
+ ug_data->webview_data->text_content = prop->body;
+ }
+
+ viewer_set_webview_content(ug_data, 0);
+
+ evas_object_show(ug_data->webview_bx);
+ evas_object_show(ug_data->webview);
+ elm_box_pack_end(ug_data->main_bx, ug_data->webview_bx);
+
+ _update_tab_bar(ug_data);
+ } else {
+ /* create webview layout */
+ ug_data->webview_bx = _load_edj(ug_data->navi_bar, EV_THEME_PATH, "layout.email.web_view");
+ if (ug_data->webview_bx == NULL) {
+ debug_log("Cannot load edj");
+ return NULL;
+ }
+
+ evas_object_size_hint_align_set(ug_data->webview_bx, EVAS_HINT_FILL, 0.0);
+ evas_object_show(ug_data->webview_bx);
+ elm_box_pack_end(ug_data->main_bx, ug_data->webview_bx);
+
+ /* create webview */
+ if (NULL == ug_data->webview) {
+ _init_webview_data(ug_data);
+ viewer_get_webview(ug_data, prop->has_html);
+
+ if (prop->has_html) {
+ ug_data->webview_data->body_type_prev = BODY_TYPE_HTML;
+ ug_data->webview_data->body_type = BODY_TYPE_HTML;
+ ug_data->webview_data->uri = prop->body_uri;
+ } else {
+ ug_data->webview_data->body_type_prev = BODY_TYPE_TEXT;
+ ug_data->webview_data->body_type = BODY_TYPE_TEXT;
+ ug_data->webview_data->text_content = prop->body;
+ }
+ viewer_set_webview_content(ug_data, 0);
+ }
+
+ evas_object_show(ug_data->webview);
+ elm_object_part_content_set(ug_data->webview_bx, "web_body", ug_data->webview);
+
+ int resized_w = 0;
+ int resized_h = 0;
+ if (ug_data->isRotate) {
+ resized_w = ug_data->webview_width_landscape * ug_data->scale_factor;
+ resized_h = ug_data->webview_height_landscape * ug_data->scale_factor;
+ } else {
+ resized_w = ug_data->webview_width * ug_data->scale_factor;
+ resized_h = ug_data->webview_height * ug_data->scale_factor;
+ }
+
+ evas_object_size_hint_min_set(ug_data->webview, resized_w, resized_h);
+
+ /* set touch callbacks */
+ evas_object_smart_callback_add(ug_data->webview, "policy,navigation,decide", _webview_policy_navigation_decide_cb, ug_data);
+ evas_object_event_callback_add(ug_data->webview, EVAS_CALLBACK_MULTI_DOWN, _webview_multi_down_cb, ug_data);
+ evas_object_event_callback_add(ug_data->webview, EVAS_CALLBACK_MULTI_UP, _webview_multi_up_cb, ug_data);
+
+ /* update control Bar */
+ _update_tab_bar(ug_data);
+ }
+
+ viewer_set_mail_seen(prop, priv->mail_info);
+
+ if (ug_data->timer) {
+ ecore_timer_del(ug_data->timer);
+ ug_data->timer = NULL;
+ }
+
+ debug_log("send message - list unlock");
+ ug_data->timer = ecore_timer_add(0.0, viewer_send_message, ug_data);
+
+ return ug_data->webview_bx;
+}
+
+static Evas_Object *_create_tab_bar(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ EmailViewerProp *prop = ug_data->property;
+ Evas_Object *obj;
+ obj = elm_toolbar_add(ug_data->navi_bar);
+ elm_toolbar_shrink_mode_set(obj, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_object_style_set(obj, "naviframe");
+
+ if (ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_INBOX || ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_SENTBOX ||
+ ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_TRASH || ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_SPAMBOX) {
+ int n_to_list = g_list_length(ug_data->to_list);
+ int n_cc_list = g_list_length(ug_data->cc_list);
+ debug_log("to:%d, cc:%d", n_to_list, n_cc_list);
+ if (n_to_list + n_cc_list >= 2)
+ ug_data->reply_ctr_it = elm_toolbar_item_append(obj, ICON_REPLY, dgettext("sys_string", "IDS_COM_SK_REPLY"), _reply_option_cb, ug_data);
+ else
+ ug_data->reply_ctr_it = elm_toolbar_item_append(obj, ICON_REPLY, dgettext("sys_string", "IDS_COM_SK_REPLY"), _reply_cb, ug_data);
+ ug_data->forward_ctr_it = elm_toolbar_item_append(obj, ICON_FORWARD, dgettext("sys_string", "IDS_COM_BODY_FORWARD"), _forward_cb, ug_data);
+ ug_data->del_ctr_it = elm_toolbar_item_append(obj, ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_cb, ug_data);
+ ug_data->more_ctr_it = elm_toolbar_item_append(obj, ICON_CONTROLBAR_MORE, dgettext("sys_string", "IDS_COM_SK_MORE"), _more_cb, ug_data);
+
+ elm_object_item_disabled_set(ug_data->reply_ctr_it, EINA_TRUE);
+ elm_object_item_disabled_set(ug_data->forward_ctr_it, EINA_TRUE);
+ } else if (ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_OUTBOX) {
+ debug_log("save_status: %d", prop->status2);
+ if (prop->status2 == EMAIL_MAIL_STATUS_SEND_FAILURE) {
+ ug_data->resend_ctr_it = elm_toolbar_item_append(obj, ICON_RESEND, _("IDS_EMAIL_SK_RESEND"), _resend_cb, ug_data);
+ ug_data->del_ctr_it = elm_toolbar_item_append(obj, ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_cb, ug_data);
+ } else {
+ ug_data->del_ctr_it = elm_toolbar_item_append(obj, ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_cb, ug_data);
+ }
+ } else {
+ ug_data->del_ctr_it = elm_toolbar_item_append(obj, ICON_DELETE, dgettext("sys_string", "IDS_COM_SK_DELETE"), _delete_cb, ug_data);
+ ug_data->move_ctr_it = elm_toolbar_item_append(obj, ICON_MOVE, _("IDS_EMAIL_SK_MOVE"), _move_cb, ug_data);
+ }
+
+ elm_object_item_part_content_set(ug_data->navi_main_it, "controlbar", obj);
+ ug_data->ctr_bar = obj;
+
+ return NULL;
+}
+
+static Evas_Object *_update_tab_bar(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ if (ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_INBOX || ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_SENTBOX ||
+ ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_TRASH || ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_SPAMBOX) {
+ elm_object_item_disabled_set(ug_data->reply_ctr_it, EINA_FALSE);
+ elm_object_item_disabled_set(ug_data->forward_ctr_it, EINA_FALSE);
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_create_partial_body_dn_btn(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ ug_data->partial_dn_btn_bx = _load_edj(ug_data->navi_bar, EV_THEME_PATH, "layout.email.partial_download_btn");
+ if (ug_data->partial_dn_btn_bx == NULL) {
+ debug_log("Cannot load edj");
+ return NULL;
+ }
+
+ evas_object_size_hint_align_set(ug_data->partial_dn_btn_bx, EVAS_HINT_FILL, 0.0);
+ evas_object_show(ug_data->partial_dn_btn_bx);
+ elm_box_pack_before(ug_data->main_bx, ug_data->partial_dn_btn_bx, ug_data->webview_bx);
+
+ Evas_Object *dn_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_text_set(dn_btn, _("IDS_EMAIL_BODY_DOWNLOAD_FULL_MESSAGE"));
+ evas_object_smart_callback_add(dn_btn, "clicked", _body_down_cb, (void *)ug_data);
+ /*elm_object_theme_set(dn_btn, ug_data->theme);*/
+ elm_object_style_set(dn_btn, "text_only/style2");
+ evas_object_show(dn_btn);
+ ug_data->partial_dn_btn = dn_btn;
+
+ elm_object_part_content_set(ug_data->partial_dn_btn_bx, "button", ug_data->partial_dn_btn);
+
+ return ug_data->partial_dn_btn_bx;
+}
+
+static Evas_Object *_create_bg(Evas_Object *win)
+{
+ debug_log("");
+
+ Evas_Object *bg = elm_bg_add(win);
+ evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ elm_win_resize_object_add(win, bg);
+ evas_object_show(bg);
+
+ return bg;
+}
+
+static void _create_down_progress(char *message, popup_cb resp_cb)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ Evas_Object *notify, *pb;
+
+ notify = elm_popup_add(ug_data->win_main);
+ if (!notify) {
+ debug_log("elm_popup_add returns NULL");
+ return;
+ }
+ evas_object_size_hint_weight_set(notify, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ ug_data->pb_notify = notify;
+
+ elm_object_part_text_set(notify, "title,text", message);
+
+ pb = elm_progressbar_add(notify);
+
+ elm_object_style_set(pb, "list_progress");
+
+ elm_progressbar_horizontal_set(pb, EINA_TRUE);
+ evas_object_size_hint_align_set(pb, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(pb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(pb);
+ elm_progressbar_value_set(pb, 0.0);
+ elm_object_content_set(notify, pb);
+ ug_data->pb_notify_lb = pb;
+
+ Evas_Object *btn1 = elm_button_add(notify);
+ elm_object_style_set(btn1, "popup_button/default");
+ elm_object_text_set(btn1, dgettext("sys_string", "IDS_COM_SK_CANCEL"));
+ elm_object_part_content_set(notify, "button1", btn1);
+ evas_object_smart_callback_add(btn1, "clicked", resp_cb, ug_data);
+ debug_log("Cancel btn1 for downloading body: %p", btn1);
+
+ evas_object_show(notify);
+}
+
+static void _create_down_progress_ex(int index, EMAIL_VIEWER_PROGRESSBAR_TYPE p_type)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerProp *prop = ug_data->property;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ if (!prop || !prop->attachments) {
+ debug_log("");
+ return;
+ }
+
+ if (!priv) {
+ debug_log("");
+ return;
+ }
+
+ if (ug_data->forward_ctr_it)
+ elm_object_item_disabled_set(ug_data->forward_ctr_it, EINA_TRUE);
+
+ int scr_x = 0;
+ int scr_y = 0;
+ int scr_w = 0;
+ int scr_h = 0;
+ elm_scroller_region_get(ug_data->scroller, &scr_x, &scr_y, &scr_w, &scr_h);
+ debug_log("scroller region> x[%d] y[%d] w[%d] h[%d]", scr_x, scr_y, scr_w, scr_h);
+
+ GList *attachment_list = prop->attachments;
+ int i = 0, j = 0;
+ debug_log("index %d of attachment_count %d", index, prop->att_len);
+
+ EmailAttachmentType *info = NULL;
+ info = g_list_nth_data(attachment_list, index);
+ if (info == NULL) {
+ debug_log("info is NULL");
+ }
+
+ Evas_Object *pbar_ly = elm_layout_add(ug_data->navi_bar);
+ elm_layout_file_set(pbar_ly, EV_THEME_PATH, "layout.email.attachment_downloading");
+ evas_object_size_hint_align_set(pbar_ly, EVAS_HINT_FILL, 0.0);
+ evas_object_show(pbar_ly);
+ ug_data->progress_bar_ly[index + 1] = pbar_ly;
+
+ if (info) {
+ char buff[MAX_STR_LEN] = { 0, };
+
+ Evas_Object *downloading_label1;
+ downloading_label1 = elm_label_add(pbar_ly);
+ elm_object_part_content_set(pbar_ly, "elm.text.1", downloading_label1);
+ char *text_tagged = g_strconcat("<font_size=32><align=left><color=#000000FF>", info->name, "</color></align></font_size>", NULL);
+ elm_object_text_set(downloading_label1, text_tagged);
+ elm_label_ellipsis_set(downloading_label1, EINA_TRUE);
+ elm_label_wrap_width_set(downloading_label1, ug_data->main_w - 240);
+ g_free(text_tagged);
+
+ if (info->size < 1024) {
+ g_sprintf(buff, "%d %s", (gint) info->size, dgettext("sys_string", "IDS_COM_BODY_B"));
+ } else {
+ gdouble tmpsize = (gdouble) (info->size / 1024.);
+
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "%.2f %s", tmpsize, dgettext("sys_string", "IDS_COM_BODY_KB"));
+ } else {
+ tmpsize /= 1024.;
+
+ if (tmpsize < 1024) {
+ g_sprintf(buff, "%.2f %s", tmpsize, dgettext("sys_string", "IDS_COM_BODY_MB"));
+ } else {
+ tmpsize /= 1024.;
+ g_sprintf(buff, "%.2f %s", tmpsize, dgettext("sys_string", "IDS_COM_BODY_GB"));
+ }
+ }
+ }
+
+ Evas_Object *downloading_label3;
+ downloading_label3 = elm_label_add(pbar_ly);
+ elm_object_part_content_set(pbar_ly, "elm.text.3", downloading_label3);
+ text_tagged = g_strconcat("<font_size=26><align=right><color=#646464FF>", buff, "</color></align></font_size>", NULL);
+ elm_object_text_set(downloading_label3, text_tagged);
+ g_free(text_tagged);
+ }
+
+ Evas_Object *progressbar = elm_progressbar_add(pbar_ly);
+ elm_progressbar_horizontal_set(progressbar, EINA_TRUE);
+ elm_object_style_set(progressbar, "list_progress");
+ elm_object_part_content_set(pbar_ly, "elm.icon.2", progressbar);
+ ug_data->progress_bar[index + 1] = progressbar;
+ evas_object_show(progressbar);
+
+ Evas_Object *cancel_btn = elm_button_add(pbar_ly);
+ /*elm_object_theme_set(cancel_btn, ug_data->theme);*/
+ elm_object_style_set(cancel_btn, "text_only/style2");
+ elm_object_text_set(cancel_btn, dgettext("sys_string", "IDS_COM_SK_CANCEL"));
+
+ elm_object_part_content_set(pbar_ly, "elm.icon.1", cancel_btn);
+ evas_object_show(cancel_btn);
+ evas_object_smart_callback_add(cancel_btn, "clicked", _destroy_down_progress_ex, (void *)index);
+ debug_log("Cancel button for attachment downloading progress popup: %p", cancel_btn);
+
+ /* packing progress layout */
+ if (p_type == EMAIL_VIEWER_PROGRESSBAR_ATT && prop->real_att_len > 1) {
+ for (i = 0; i < prop->att_len; i++) {
+ info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+ if (info && !info->inline_content) {
+ if (index == i) {
+ if (ug_data->attach_ex_ly != NULL && ug_data->attach_ex_ly[j] != NULL) {
+ debug_log("");
+ elm_box_pack_after(ug_data->main_bx, pbar_ly, ug_data->attach_ex_ly[j]);
+ elm_box_unpack(ug_data->main_bx, ug_data->attach_ex_ly[j]);
+ evas_object_hide(ug_data->attach_ex_ly[j]);
+ ug_data->attach_ex_ly[j] = pbar_ly;
+ }
+ }
+ j++;
+ }
+ }
+ }
+ if ((p_type == EMAIL_VIEWER_PROGRESSBAR_ATT && prop->real_att_len == 1) || (p_type == EMAIL_VIEWER_PROGRESSBAR_ATT_ALL)) {
+ debug_log("");
+ elm_box_pack_after(ug_data->main_bx, pbar_ly, ug_data->attach_hd_ly);
+ elm_box_unpack(ug_data->main_bx, ug_data->attach_hd_ly);
+ evas_object_hide(ug_data->attach_hd_ly);
+ ug_data->attach_hd_ly = pbar_ly;
+ }
+
+ elm_object_focus_set(pbar_ly, EINA_TRUE);
+ elm_scroller_region_show(ug_data->scroller, scr_x, scr_y, scr_w, scr_h);
+}
+
+static void _destroy_down_progress_ex(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+
+ if (!prop || !prop->attachments) {
+ debug_log("");
+ return;
+ }
+
+ if (!priv) {
+ debug_log("");
+ return;
+ }
+
+ int scr_x = 0;
+ int scr_y = 0;
+ int scr_w = 0;
+ int scr_h = 0;
+ elm_scroller_region_get(ug_data->scroller, &scr_x, &scr_y, &scr_w, &scr_h);
+ debug_log("scroller region> x[%d] y[%d] w[%d] h[%d]", scr_x, scr_y, scr_w, scr_h);
+
+ GList *attachment_list = prop->attachments;
+ int index = (int)data;
+ int i = 0, j = 0;
+
+ /* Cancel the download in email-service */
+ if (index >= 0) {
+ debug_log("index[%d] download_all_cnt[%d] email_handle[%d]", index, priv->download_all_cnt, priv->download_all_email_handle[index]);
+ if (priv->download_all_email_handle[index] > 0) {
+ email_engine_stop_working(ug_data->account_id, priv->download_all_email_handle[index]);
+ priv->download_all_email_handle[index] = 0;
+ }
+
+ (priv->download_all_cnt)--;
+
+ if (priv->download_all_cnt == 0)
+ priv->b_all_att_save = FALSE;
+ } else if (index == -1) {
+ for (i = 0; i < prop->att_len; i++) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+ if (info && !info->inline_content) {
+ debug_log("index[%d] download_all_cnt[%d] email_handle[%d]", i, priv->download_all_cnt, priv->download_all_email_handle[i]);
+ if (priv->download_all_email_handle[i] > 0) {
+ email_engine_stop_working(ug_data->account_id, priv->download_all_email_handle[i]);
+ }
+ }
+ priv->download_all_email_handle[i] = 0;
+ }
+ priv->download_all_cnt = 0;
+ priv->b_all_att_save = FALSE;
+ }
+
+ /* upack and delete, pack again */
+ if (index >= 0) {
+ debug_log("real_att_len:%d", prop->real_att_len);
+ if (prop->real_att_len == 1) {
+ debug_log("index[%d]", index);
+ elm_box_pack_after(ug_data->main_bx, ug_data->attach_hd_bk, ug_data->attach_hd_ly);
+ elm_box_unpack(ug_data->main_bx, ug_data->attach_hd_ly);
+ evas_object_del(ug_data->attach_hd_ly);
+ ug_data->attach_hd_ly = ug_data->attach_hd_bk;
+ evas_object_show(ug_data->attach_hd_ly);
+ elm_object_focus_set(ug_data->attach_hd_ly, EINA_TRUE);
+ ug_data->progress_bar[index + 1] = NULL;
+ ug_data->progress_bar_ly[index + 1] = NULL;
+ } else if (prop->real_att_len > 1) {
+ for (i = 0; i < prop->att_len; i++) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+ if (info && !info->inline_content) {
+ if (index == i) {
+ debug_log("index[%d]", i);
+ debug_log("attach_onoff_flag:%d", ug_data->attach_onoff_flag);
+ if (ug_data->attach_onoff_flag > 0) {
+ elm_box_pack_after(ug_data->main_bx, ug_data->attach_ex_bk[j], ug_data->attach_ex_ly[j]);
+ elm_box_unpack(ug_data->main_bx, ug_data->attach_ex_ly[j]);
+ evas_object_del(ug_data->attach_ex_ly[j]);
+ ug_data->attach_ex_ly[j] = ug_data->attach_ex_bk[j];
+ evas_object_show(ug_data->attach_ex_ly[j]);
+ elm_object_focus_set(ug_data->attach_ex_ly[j], EINA_TRUE);
+ ug_data->progress_bar[index + 1] = NULL;
+ ug_data->progress_bar_ly[index + 1] = NULL;
+ } else {
+ evas_object_del(ug_data->attach_ex_ly[j]);
+ ug_data->attach_ex_ly[j] = ug_data->attach_ex_bk[j];
+ ug_data->progress_bar[index + 1] = NULL;
+ ug_data->progress_bar_ly[index + 1] = NULL;
+ }
+ }
+ j++;
+ }
+ }
+ }
+ } else if (index == -1) {
+ debug_log("index[%d]", index);
+ elm_box_pack_after(ug_data->main_bx, ug_data->attach_hd_bk, ug_data->attach_hd_ly);
+ elm_box_unpack(ug_data->main_bx, ug_data->attach_hd_ly);
+ evas_object_del(ug_data->attach_hd_ly);
+ ug_data->attach_hd_ly = ug_data->attach_hd_bk;
+ evas_object_show(ug_data->attach_hd_ly);
+ elm_object_focus_set(ug_data->attach_hd_ly, EINA_TRUE);
+ ug_data->progress_bar[index + 1] = NULL;
+ ug_data->progress_bar_ly[index + 1] = NULL;
+ }
+
+ elm_scroller_region_show(ug_data->scroller, scr_x, scr_y, scr_w, scr_h);
+
+ if (priv && priv->download_all_cnt <= 0) {
+ if (ug_data->forward_ctr_it)
+ elm_object_item_disabled_set(ug_data->forward_ctr_it, EINA_FALSE);
+ }
+}
+
+static void _create_more_ctxpopup(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ if (!ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerProp *prop = ug_data->property;
+ EMAIL_CONTACT_LIST_INFO_S *contact_list_item = NULL;
+ contact_list_item = (EMAIL_CONTACT_LIST_INFO_S *)_contact_search_by_email(ug_data, prop->sender);
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ ug_data->con_popup = elm_ctxpopup_add(ug_data->navi_bar);
+ if (ug_data->con_popup == NULL) {
+ debug_log("cannot create context popup");
+ return;
+ }
+
+ if (contact_list_item) {
+ debug_log("Contact Item Exist: index[%d]", contact_list_item->index);
+ char index[10] = { 0, };
+ snprintf(index, sizeof(index), "%d", contact_list_item->index);
+
+ if (email_engine_check_seen_mail(ug_data->account_id, ug_data->mail_id))
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_MARK_AS_UNREAD"), NULL, _mark_as_unread_cb, ug_data);
+ else
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_MARK_AS_READ"), NULL, _mark_as_read_cb, ug_data);
+
+ elm_ctxpopup_item_append(ug_data->con_popup, dgettext("sys_string", "IDS_COM_BODY_MOVE"), NULL, _move_cb, ug_data);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_VIEW_CONTACT"), NULL, _ctxpopup_detail_contact_cb, g_strdup(index));
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_ADD_TO_CALENDAR"), NULL, _add_to_calendar_cb, ug_data);
+ ug_data->more_ctx_block_item = elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_BLOCK"), NULL, _ctxpopup_add_block_rule_cb, prop->sender);
+
+ _delete_contacts_list(contact_list_item);
+ } else {
+ if (email_engine_check_seen_mail(ug_data->account_id, ug_data->mail_id))
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_MARK_AS_UNREAD"), NULL, _mark_as_unread_cb, ug_data);
+ else
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_MARK_AS_READ"), NULL, _mark_as_read_cb, ug_data);
+
+ elm_ctxpopup_item_append(ug_data->con_popup, dgettext("sys_string", "IDS_COM_BODY_MOVE"), NULL, _move_cb, ug_data);
+ elm_ctxpopup_item_append(ug_data->con_popup, dgettext("sys_string", "IDS_COM_OPT_ADD_TO_CONTACTS"), NULL, _ctxpopup_select_contact_mode_email_cb, prop->sender);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_ADD_TO_CALENDAR"), NULL, _add_to_calendar_cb, ug_data);
+ ug_data->more_ctx_block_item = elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_BLOCK"), NULL, _ctxpopup_add_block_rule_cb, prop->sender);
+ }
+
+ int count, i;
+ email_rule_t *rule_list = NULL;
+
+ /* get the rule list from service */
+ if (email_get_rule_list(&rule_list, &count) < 0) {
+ debug_log("email_get_rule_list failed");
+ } else {
+ if (count > 0) {
+ for (i = 0; i < count; i++) {
+ if (rule_list[i].type == EMAIL_FILTER_FROM) {
+ debug_log("block address %s", rule_list[i].value);
+
+ if (g_strcmp0(rule_list[i].value, prop->sender) == 0) {
+ debug_log("[%s] already blocked", rule_list[i].value);
+ if (ug_data->more_ctx_block_item)
+ elm_object_item_disabled_set(ug_data->more_ctx_block_item, EINA_TRUE);
+ }
+ }
+ }
+ }
+ /* free email rule_list */
+ email_free_rule(&rule_list, count);
+ }
+
+ Evas_Coord x, y;
+ evas_pointer_canvas_xy_get(ug_data->evas, &x, &y);
+ evas_object_move(ug_data->con_popup, x, y - 20);
+ evas_object_show(ug_data->con_popup);
+}
+
+static void _create_reply_ctxpopup(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ if (!ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ ug_data->con_popup = elm_ctxpopup_add(ug_data->navi_bar);
+ if (ug_data->con_popup == NULL) {
+ debug_log("cannot create context popup");
+ return;
+ }
+
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_TO_SENDER_ABB"), NULL, _reply_cb, ug_data);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_TO_ALL_ABB"), NULL, _reply_all_cb, ug_data);
+
+ Evas_Coord x, y;
+ evas_pointer_canvas_xy_get(ug_data->evas, &x, &y);
+ evas_object_move(ug_data->con_popup, x, y - 20);
+ evas_object_show(ug_data->con_popup);
+}
+
+static void _delete_evas_objects(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerProp *prop = ug_data->property;
+
+ if (ug_data->webview) {
+ evas_object_del(ug_data->webview);
+ ug_data->webview = NULL;
+ }
+
+ if (ug_data->webview_bx) {
+ evas_object_del(ug_data->webview_bx);
+ ug_data->webview_bx = NULL;
+ }
+
+ if (ug_data->scroller) {
+ evas_object_del(ug_data->scroller);
+ ug_data->scroller = NULL;
+ }
+
+ if (ug_data->main_bx) {
+ evas_object_del(ug_data->main_bx);
+ ug_data->main_bx = NULL;
+ }
+
+ if (ug_data->b_btn) {
+ evas_object_del(ug_data->b_btn);
+ ug_data->b_btn = NULL;
+ }
+
+ if (ug_data->sub_ly) {
+ evas_object_del(ug_data->sub_ly);
+ ug_data->sub_ly = NULL;
+ }
+
+ if (ug_data->navi_bar) {
+ evas_object_del(ug_data->navi_bar);
+ ug_data->navi_bar = NULL;
+ }
+
+ if (ug_data->ctr_bar) {
+ evas_object_del(ug_data->ctr_bar);
+ ug_data->ctr_bar = NULL;
+ }
+
+ if (ug_data->layout_main) {
+ evas_object_del(ug_data->layout_main);
+ ug_data->layout_main = NULL;
+ }
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ if (ug_data->select_info) {
+ evas_object_del(ug_data->select_info);
+ ug_data->select_info = NULL;
+ }
+
+ if (ug_data->selectioninfo_layout != NULL) {
+ evas_object_del(ug_data->selectioninfo_layout);
+ ug_data->selectioninfo_layout = NULL;
+ }
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+
+ if (ug_data->pb_notify) {
+ evas_object_del(ug_data->pb_notify);
+ ug_data->pb_notify = NULL;
+ }
+
+ if (ug_data->pb_notify_lb) {
+ evas_object_del(ug_data->pb_notify_lb);
+ ug_data->pb_notify_lb = NULL;
+ }
+
+ if (ug_data->partial_dn_btn) {
+ evas_object_del(ug_data->partial_dn_btn);
+ ug_data->partial_dn_btn = NULL;
+ }
+
+ if (ug_data->partial_dn_btn_bx) {
+ evas_object_del(ug_data->partial_dn_btn_bx);
+ ug_data->partial_dn_btn_bx = NULL;
+ }
+
+ if (ug_data->cutlink_timer) {
+ ecore_timer_del(ug_data->cutlink_timer);
+ ug_data->cutlink_timer = NULL;
+ }
+
+ if (ug_data->timer) {
+ ecore_timer_del(ug_data->timer);
+ ug_data->timer = NULL;
+ }
+
+ if (ug_data->idler) {
+ ecore_idler_del(ug_data->idler);
+ ug_data->idler = NULL;
+ }
+
+ if (ug_data->got_att) {
+ int i;
+
+ evas_object_del(ug_data->attach_hd_bk);
+ ug_data->attach_hd_ly = NULL;
+ ug_data->attach_hd_bk = NULL;
+
+ if (prop->real_att_len > 1) {
+ for (i = 0; i < prop->real_att_len; i++) {
+ if (ug_data->attach_ex_ly != NULL) {
+ if (ug_data->attach_ex_ly[i] != NULL) {
+ debug_log("index %d", i);
+ evas_object_del(ug_data->attach_ex_bk[i]);
+ ug_data->attach_ex_ly[i] = NULL;
+ ug_data->attach_ex_bk[i] = NULL;
+ }
+ }
+ }
+
+ if (ug_data->attach_ex_ly != NULL) {
+ free(ug_data->attach_ex_ly);
+ ug_data->attach_ex_ly = NULL;
+ ug_data->attach_ex_bk = NULL;
+ }
+ }
+
+ for (i = 0; i <= prop->att_len; i++) {
+ if (ug_data->progress_bar_ly[i] != NULL) {
+ evas_object_del(ug_data->progress_bar_ly[i]);
+ ug_data->progress_bar_ly[i] = NULL;
+ ug_data->progress_bar[i] = NULL;
+ }
+ }
+ }
+}
+
+void _launch_composer(EmailViewerUGD *ug_data, int type)
+{
+ debug_log("");
+
+ if (!ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerPrivate *priv = ug_data->email_data;
+ char tmp[256];
+
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ char rtype[10] = { 0, };
+ snprintf(rtype, sizeof(rtype), "%d", type);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
+ debug_log("service_add_extra_data: %d", ret);
+
+ memset(tmp, 0x0, sizeof(tmp));
+ snprintf(tmp, sizeof(tmp), "%d", priv->account_id);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_ACCOUNT_ID, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+
+ memset(tmp, 0x0, sizeof(tmp));
+ snprintf(tmp, sizeof(tmp), "%d", priv->mailbox_id);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAILBOX, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+
+ memset(tmp, 0x0, sizeof(tmp));
+ snprintf(tmp, sizeof(tmp), "%d", priv->mail_id);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MAIL_ID, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_data->ug_composer = create_ug(UG_NAME_EMAIL_COMPOSER, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _launch_vcs_editor(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ if (!ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ char account_id[MAX_STR_LEN] = { 0, };
+ char mail_id[MAX_STR_LEN] = { 0, };
+
+ EmailViewerProp *prop = ug_data->property;
+
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ snprintf(account_id, sizeof(account_id), "%d", prop->account_id);
+ snprintf(mail_id, sizeof(mail_id), "%d", prop->mail_id);
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_CALENDAR_EDIT_ACCOUNT_ID, account_id);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_CALENDAR_EDIT_MAIL_ID, mail_id);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_CALENDAR_EDIT_SRC_BOX, prop->src_box);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_CALENDAR_EDIT_INDEX, EMAIL_BUNDLE_VAL_CALENDAR_EDIT_INDEX);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_CALENDAR_EDIT_NOTE, prop->subject);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_data->ug_calendar_edit = create_ug(UG_NAME_CALENDAR_EDIT, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (_g_ug_data == NULL) {
+ debug_log("_g_ug_data is NULL");
+ return;
+ }
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->con_popup != NULL) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ debug_log("isRoate = %d", ug_data->isRotate);
+ if (ug_data->isRotate == false && ug_data->b_internal) {
+ /* Viewer to hide, so set left content (mailbox) size to full */
+ _notify_mailbox_size(ug_data, "MAILBOX_RESIZE_FULL");
+ }
+
+ if (ug_data->b_internal != 1) {
+ debug_log("ug_destory_me");
+ ug_destroy_me(ug_data->ug);
+ } else {
+ _hide_view(ug_data);
+ }
+}
+
+static void _prev_mail_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ /* send next or previous mail request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_PREV_MSG);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_DO_DELETE, "0");
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _next_mail_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ /* send next or previous mail request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_NEXT_MSG);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_DO_DELETE, "0");
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _reply_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ ug_data->display_download_result = FALSE;
+
+ _launch_composer(ug_data, RUN_COMPOSER_REPLY);
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+}
+
+static void _reply_all_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ ug_data->display_download_result = FALSE;
+
+ _launch_composer(ug_data, RUN_COMPOSER_REPLY_ALL);
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+}
+
+static void _reply_option_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ _create_reply_ctxpopup(ug_data);
+}
+
+static void _forward_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ ug_data->display_download_result = FALSE;
+
+ _launch_composer(ug_data, RUN_COMPOSER_FORWARD);
+}
+
+static void _add_to_calendar_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (data == NULL)
+ return;
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ _launch_vcs_editor(ug_data);
+}
+
+static void _resend_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _delete_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ _create_notify(ug_data, NULL, dgettext("sys_string", "IDS_COM_POP_DELETE_Q"),
+ 2, dgettext("sys_string", "IDS_COM_SK_DELETE"),
+ _popup_response_delete_ok_cb, dgettext("sys_string", "IDS_COM_SK_CANCEL"),
+ _popup_response_cb, NULL);
+}
+
+static void _move_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ Elm_Object_Item *git = NULL;
+ Evas_Object *gl = elm_genlist_add(ug_data->navi_bar);
+ evas_object_show(gl);
+
+ ug_data->itc1.item_style = "1text.1icon.2";
+ ug_data->itc1.func.text_get = _gl_text_get;
+ ug_data->itc1.func.content_get = _gl_content_get;
+ ug_data->itc1.func.state_get = _gl_state_get;
+ ug_data->itc1.func.del = _gl_del;
+
+ ug_data->itc2.item_style = "1text.1icon.2";
+ ug_data->itc2.func.text_get = _gl_sub_upper_text_get;
+ ug_data->itc2.func.content_get = _gl_sub_upper_icon_get;
+ ug_data->itc2.func.state_get = _gl_state_get;
+ ug_data->itc2.func.del = NULL;
+
+ ug_data->itc3.item_style = "grouptitle.dialogue.seperator";
+ ug_data->itc3.func.text_get = NULL;
+ ug_data->itc3.func.content_get = NULL;
+ ug_data->itc3.func.state_get = _gl_state_get;
+ ug_data->itc3.func.del = NULL;
+
+ Elm_Object_Item *navi_it = NULL;
+ navi_it = elm_naviframe_item_push(ug_data->navi_bar, dgettext("sys_string", "IDS_COM_BODY_MOVE"), NULL, NULL, gl, NULL);
+ ug_data->navi_move_it1 = navi_it;
+ if (ug_data->isRotate)
+ elm_naviframe_item_title_visible_set(ug_data->navi_move_it1, EINA_FALSE);
+
+ email_mailbox_t *mailbox_list = NULL;
+ int mailbox_count = 0;
+ int i = 0;
+
+ email_get_mailbox_list(priv->account_id, -1, &mailbox_list, &mailbox_count);
+ debug_log("folder count %d", mailbox_count);
+ ug_data->move_mailbox_list = mailbox_list;
+ ug_data->move_mailbox_count = mailbox_count;
+
+ git = elm_genlist_item_append(gl, &(ug_data->itc3), NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+
+ for (i = 0; i < mailbox_count; i++) {
+ if (g_strcmp0(ug_data->mailbox_name, mailbox_list[i].mailbox_name) != 0) {
+ if (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_ALL_EMAILS &&
+ mailbox_list[i].mailbox_type != EMAIL_MAILBOX_TYPE_SEARCH_RESULT)
+ if (g_strcmp0(mailbox_list[i].alias, "[Gmail]")) {
+ elm_genlist_item_append(gl, &ug_data->itc1, (void *)&(mailbox_list[i]), git, ELM_GENLIST_ITEM_NONE, _gl_sel, (void *)&(mailbox_list[i]));
+ }
+ }
+ }
+
+ /*if (ug_data->b_internal)
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "noindicator");
+ else
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "default");*/
+
+ Evas_Object *move_back_btn = NULL;
+ if (ug_data->isRotate) {
+ ug_data->move_cbar = elm_toolbar_add(ug_data->navi_bar);
+ elm_toolbar_shrink_mode_set(ug_data->move_cbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_object_style_set(ug_data->move_cbar, "naviframe");
+ evas_object_show(ug_data->move_cbar);
+
+ elm_object_item_disabled_set(elm_toolbar_item_append(ug_data->move_cbar, NULL, "", NULL, NULL), EINA_TRUE);
+ elm_toolbar_item_append(ug_data->move_cbar, NULL, dgettext("sys_string", "IDS_COM_SK_CANCEL"), _move_back_cb, ug_data);
+ elm_object_item_part_content_set(navi_it, "controlbar", ug_data->move_cbar);
+
+ move_back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
+ if (move_back_btn) {
+ evas_object_del(move_back_btn);
+ elm_object_item_part_content_set(navi_it, "prev_btn", NULL);
+ }
+ } else {
+ move_back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
+ if (move_back_btn) {
+ evas_object_del(move_back_btn);
+ move_back_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(move_back_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(move_back_btn, "clicked", _move_back_cb, ug_data);
+ elm_object_item_part_content_set(navi_it, "prev_btn", move_back_btn);
+ }
+ }
+}
+
+static void _more_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ _create_more_ctxpopup(ug_data);
+}
+
+static void _body_down_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ unsigned int handle;
+ gboolean ret = 0;
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ /* check already downloaded */
+ int body_download_status = ug_data->property->body_download;
+
+ if (body_download_status == 0) { //EMAIL_BODY_DOWNLOAD_STATUS_NONE
+ debug_log("need body download");
+ } else if (body_download_status == 1) { //EMAIL_BODY_DOWNLOAD_STATUS_FULLY_DOWNLOADED
+ debug_log("already downloaded, create body directly");
+
+ /* set property */
+ if (viewer_get_internal_mail_info(ug_data->property, ug_data->email_data)) {
+ debug_log("");
+ viewer_make_internal_mail(ug_data->property, ug_data->email_data);
+ }
+
+ if (ug_data->b_partial_body) {
+ int scr_x = 0;
+ int scr_y = 0;
+ int scr_w = 0;
+ int scr_h = 0;
+ elm_scroller_region_get(ug_data->scroller, &scr_x, &scr_y, &scr_w, &scr_h);
+ debug_log("scroller region> x[%d] y[%d] w[%d] h[%d]", scr_x, scr_y, scr_w, scr_h);
+
+ elm_box_unpack(ug_data->main_bx, ug_data->partial_dn_btn_bx);
+ if (ug_data->partial_dn_btn) {
+ evas_object_del(ug_data->partial_dn_btn);
+ ug_data->partial_dn_btn = NULL;
+ }
+ if (ug_data->partial_dn_btn_bx) {
+ evas_object_del(ug_data->partial_dn_btn_bx);
+ ug_data->partial_dn_btn_bx = NULL;
+ }
+
+ if (ug_data->property->has_html) {
+ ug_data->webview_data->body_type = BODY_TYPE_HTML;
+ ug_data->webview_data->uri = ug_data->property->body_uri;
+ } else {
+ ug_data->webview_data->body_type = BODY_TYPE_TEXT;
+ ug_data->webview_data->text_content = ug_data->property->body;
+ }
+
+ viewer_set_webview_content(ug_data, 1);
+ ug_data->b_partial_body = 0;
+
+ elm_object_focus_set(ug_data->ly_subject, EINA_TRUE);
+ elm_scroller_region_show(ug_data->scroller, scr_x, scr_y, scr_w, scr_h);
+ } else {
+ if (ug_data->property->has_attachment)
+ ug_data->got_att = 1;
+ else
+ ug_data->got_att = 0;
+
+ /* pack attachment if it exist */
+ if (ug_data->got_att) {
+ _create_attach(ug_data);
+ }
+
+ _create_body(ug_data);
+ }
+
+ return;
+ } else if (body_download_status == 2) { //EMAILL_BODY_DOWNLOAD_STATUS_PARTIALLY_DOWNLOADED
+ debug_log("need full body download");
+ }
+
+ ret = email_engine_body_download(priv->account_id, priv->mail_id, &handle);
+
+ if (ret == TRUE) {
+ priv->email_handle = handle;
+ debug_log("succeed in email_engine_body_download");
+ _create_down_progress(dgettext("sys_string", "IDS_COM_POP_DOWNLOADING"), _destroy_down_progress_cb);
+
+ /* If attachment download is in progress, first cancel to attachment download of the mail and then carry out body download */
+ _cancel_download_attachment(ug_data);
+
+ } else {
+ debug_log("unable to download mail body");
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"),
+ _("IDS_EMAIL_POP_UNABLE_TO_DOWNLOAD"), 1,
+ dgettext("sys_string", "IDS_COM_SK_OK"),
+ _popup_response_cb, NULL, NULL, NULL);
+ }
+}
+
+static void _subject_favorite_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerProp *prop = ug_data->property;
+ int err = EMAIL_ERROR_NONE;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ debug_log("Before prop->favorite: %d", prop->favorite);
+ switch(prop->favorite) {
+ case EMAIL_FLAG_NONE:
+ prop->favorite = EMAIL_FLAG_FLAGED;
+ break;
+ case EMAIL_FLAG_FLAGED:
+ prop->favorite = EMAIL_FLAG_NONE;
+ break;
+ case EMAIL_FLAG_TASK_STATUS_CLEAR:
+ prop->favorite = EMAIL_FLAG_TASK_STATUS_ACTIVE;
+ break;
+ case EMAIL_FLAG_TASK_STATUS_ACTIVE:
+ prop->favorite = EMAIL_FLAG_TASK_STATUS_COMPLETE;
+ break;
+ case EMAIL_FLAG_TASK_STATUS_COMPLETE:
+ prop->favorite = EMAIL_FLAG_TASK_STATUS_CLEAR;
+ break;
+ default:
+ debug_log("Never here");
+ }
+ debug_log("After prop->favorite: %d", prop->favorite);
+
+ err = email_set_flags_field(ug_data->account_id, &ug_data->mail_id, 1, EMAIL_FLAGS_FLAGGED_FIELD, prop->favorite, 1);
+ if (err != EMAIL_ERROR_NONE) {
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ N_("Failed to set favourite"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ return;
+ }
+
+ evas_object_del(elm_object_part_content_unset(ug_data->ly_subject, "elm.icon.favorite"));
+ Evas_Object *favorite_icon = elm_icon_add(ug_data->ly_subject);
+ switch(prop->favorite)
+ {
+ case EMAIL_FLAG_NONE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_icon_favorite_off.png", NULL);
+ break;
+ case EMAIL_FLAG_FLAGED:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_icon_favorite_on.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_CLEAR:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Clear.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_ACTIVE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Active.png", NULL);
+ break;
+ case EMAIL_FLAG_TASK_STATUS_COMPLETE:
+ elm_icon_file_set(favorite_icon, IMGDIR "/M02_email_Flag_Complete.png", NULL);
+ break;
+ default:
+ debug_log("Never here");
+ }
+ evas_object_size_hint_aspect_set(favorite_icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+ elm_icon_resizable_set(favorite_icon, 1, 1);
+ elm_object_part_content_set(ug_data->ly_subject, "elm.icon.favorite", favorite_icon);
+ evas_object_show(favorite_icon);
+
+ /* send unread request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_READ);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _subject_detail_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ Evas_Object *item = (Evas_Object *)data;
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ if (!(ug_data->subject_onoff_flag)) {
+ edje_object_signal_emit(_EDJ(item), "elm,state,expanded", "elm");
+ (ug_data->subject_onoff_flag)++;
+
+ _create_to_addrs(_g_ug_data);
+ _create_cc_addrs(_g_ug_data);
+ _create_bcc_addrs(_g_ug_data);
+ } else {
+ edje_object_signal_emit(_EDJ(item), "elm,state,contracted", "elm");
+ (ug_data->subject_onoff_flag)--;
+
+ if (ug_data->to_ly) {
+ elm_box_unpack(ug_data->main_bx, ug_data->to_ly);
+ evas_object_del(ug_data->to_ly);
+ ug_data->to_ly = NULL;
+ }
+ if (ug_data->cc_ly) {
+ elm_box_unpack(ug_data->main_bx, ug_data->cc_ly);
+ evas_object_del(ug_data->cc_ly);
+ ug_data->cc_ly = NULL;
+ }
+ if (ug_data->bcc_ly) {
+ elm_box_unpack(ug_data->main_bx, ug_data->bcc_ly);
+ evas_object_del(ug_data->bcc_ly);
+ ug_data->bcc_ly = NULL;
+ }
+
+ elm_object_focus_set(ug_data->ly_subject, EINA_TRUE);
+ }
+}
+
+static void _attachment_item_collapse_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+ if (!data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ Evas_Object *item = (Evas_Object *)data;
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerProp *prop = ug_data->property;
+ int i = 0;
+
+ debug_log("attach_onoff_flag:%d", ug_data->attach_onoff_flag);
+ if (!(ug_data->attach_onoff_flag)) {
+ debug_log("attachments expanded");
+ edje_object_signal_emit(_EDJ(item), "elm,state,expanded", "elm");
+ (ug_data->attach_onoff_flag)++;
+
+ if (ug_data->attach_ex_ly == NULL)
+ _create_attach_ex(ug_data);
+ else {
+ for (i = 0; i < prop->real_att_len; i++) {
+ debug_log("index %d", i);
+ elm_box_pack_after(ug_data->main_bx, ug_data->attach_ex_ly[i], ug_data->attach_hd_ly);
+ evas_object_show(ug_data->attach_ex_ly[i]);
+ }
+ }
+ } else {
+ debug_log("attachments contracted");
+ edje_object_signal_emit(_EDJ(item), "elm,state,contracted", "elm");
+ ug_data->attach_onoff_flag = 0;
+
+ for (i = 0; i < prop->real_att_len; i++) {
+ if (ug_data->attach_ex_ly[i] != NULL) {
+ debug_log("index %d", i);
+ elm_box_unpack(ug_data->main_bx, ug_data->attach_ex_ly[i]);
+ evas_object_hide(ug_data->attach_ex_ly[i]);
+ }
+ }
+ }
+}
+
+static void _attachment_save_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ int att_index = (int)data;
+
+ ug_data->display_download_result = FALSE;
+
+ debug_log("Selected item index = %d", att_index);
+ _show_attachment(ug_data, att_index);
+}
+
+static void _attachment_clicked_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ int att_index = (int)data;
+
+ debug_log("Selected item index = %d", att_index);
+ ug_data->display_download_result = TRUE;
+ _show_attachment(ug_data, att_index);
+}
+
+static void _attachment_save_all_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ _save_attachment_all(ug_data);
+}
+
+static void _attachment_bg_set_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerProp *prop = ug_data->property;
+
+ int att_index = (int)data;
+ debug_log("att_index = %d, attachments count = %d", att_index, prop->real_att_len);
+
+ if (prop->real_att_len > 1) {
+ int i = 0;
+ int j = 0;
+ GList *attachment_list = prop->attachments;
+ LIST_ITER_START(i, attachment_list) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+ if (info && !info->inline_content) {
+ if (att_index == i)
+ break;
+ j++;
+ }
+ }
+ edje_object_signal_emit(_EDJ(ug_data->attach_ex_ly[j]), "pressed", "elm.event.rect");
+ }
+ else
+ edje_object_signal_emit(_EDJ(ug_data->attach_hd_ly), "pressed", "elm.event.rect");
+}
+
+static void _attachment_bg_unset_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerProp *prop = ug_data->property;
+
+ int att_index = (int)data;
+ debug_log("att_index = %d, attachments count = %d", att_index, prop->real_att_len);
+
+ if (prop->real_att_len > 1) {
+ int i = 0;
+ int j = 0;
+ GList *attachment_list = prop->attachments;
+ LIST_ITER_START(i, attachment_list) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, attachment_list);
+ if (info && !info->inline_content) {
+ if (att_index == i)
+ break;
+ j++;
+ }
+ }
+ edje_object_signal_emit(_EDJ(ug_data->attach_ex_ly[j]), "unpressed", "elm.event.rect");
+ }
+ else
+ edje_object_signal_emit(_EDJ(ug_data->attach_hd_ly), "unpressed", "elm.event.rect");
+}
+
+static void _mark_as_unread_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ int err = 0;
+ debug_log("ug_data->mail_id(%d), priv->mail_id(%d), mail_info->mail_id(%d))", ug_data->mail_id, priv->mail_id, priv->mail_info->mail_id);
+
+ err = email_set_flags_field(ug_data->account_id, &ug_data->mail_id, 1, EMAIL_FLAGS_SEEN_FIELD, 0, 1);
+ debug_log("email_set_flags_field - err(%d)", err);
+
+ if (err != EMAIL_ERROR_NONE) {
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_MARK_AS_UNREAD"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ } else {
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", _("IDS_EMAIL_POP_MARKED_AS_UNREAD"));
+ _show_select_info(ug_data, str);
+
+ /* send unread request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_UNREAD);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ }
+}
+
+static void _mark_as_read_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ int err = 0;
+ debug_log("ug_data->mail_id(%d), priv->mail_id(%d), mail_info->mail_id(%d))", ug_data->mail_id, priv->mail_id, priv->mail_info->mail_id);
+
+ err = email_set_flags_field(priv->mail_info->account_id, &ug_data->mail_id, 1, EMAIL_FLAGS_SEEN_FIELD, 1, 1);
+ debug_log("email_set_flags_field - err(%d)", err);
+
+ if (err != EMAIL_ERROR_NONE) {
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_MARK_AS_READ"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ } else {
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", _("IDS_EMAIL_POP_MARKED_AS_READ"));
+ _show_select_info(ug_data, str);
+
+ /* send unread request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_READ);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ }
+}
+
+static void _ctxpopup_detail_contact_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (data == NULL || _g_ug_data == NULL) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ char *index = (char *)data;
+ char type[10] = { 0, };
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ snprintf(type, sizeof(type), "%d", CT_UG_REQUEST_DETAIL);
+
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, type);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_ID, index);
+ debug_log("service_add_extra_data: %d", ret);
+
+ create_ug(UG_CONTACTS_DETAILS, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+
+ debug_log("set flag for contact ug");
+ ug_data->b_contact_ug_launched = TRUE;
+}
+
+static void _ctxpopup_send_email_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ if (ug_data->con_popup == NULL) {
+ debug_log("con_popup is NULL");
+ return;
+ }
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ debug_log("email: %s", (char *)data);
+
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ char rtype[10] = { 0, };
+ snprintf(rtype, sizeof(rtype), "%d", RUN_COMPOSER_EXTERNAL);
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_TO, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_CC, NULL);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_BCC, NULL);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_SUBJECT, NULL);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_BODY, NULL);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_ATTACHMENT, NULL);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_data->ug_composer = create_ug(UG_NAME_EMAIL_COMPOSER, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _ctxpopup_add_contact_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ char tmp[MAX_STR_LEN] = { 0, };
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ if (ug_data->con_popup == NULL) {
+ debug_log("con_popup is NULL");
+ return;
+ }
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ if (ug_data->create_contact_arg == CONTACTUI_REQ_ADD_PHONE_NUMBER) {
+ snprintf(tmp, sizeof(tmp), "%d", CT_UG_REQUEST_ADD_WITH_NUM);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_NUM, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ }
+ if (ug_data->create_contact_arg == CONTACTUI_REQ_ADD_EMAIL) {
+ snprintf(tmp, sizeof(tmp), "%d", CT_UG_REQUEST_ADD_WITH_EMAIL);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_EMAIL, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ }
+ if (ug_data->create_contact_arg == CONTACTUI_REQ_ADD_URL) {
+ snprintf(tmp, sizeof(tmp), "%d", CT_UG_REQUEST_ADD_WITH_WEB);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_WEB, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ }
+
+ create_ug(UG_CONTACTS_DETAILS, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _ctxpopup_cutlink_update_contact_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ char tmp[MAX_STR_LEN] = { 0, };
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ if (ug_data->con_popup == NULL) {
+ debug_log("con_popup is NULL");
+ return;
+ }
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ if (ug_data->create_contact_arg == CONTACTUI_REQ_ADD_PHONE_NUMBER) {
+ snprintf(tmp, sizeof(tmp), "%d", CT_UG_REQUEST_ADD_WITH_NUM);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_NUM, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ }
+ if (ug_data->create_contact_arg == CONTACTUI_REQ_ADD_EMAIL) {
+ snprintf(tmp, sizeof(tmp), "%d", CT_UG_REQUEST_ADD_WITH_EMAIL);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_EMAIL, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ }
+ if (ug_data->create_contact_arg == CONTACTUI_REQ_ADD_URL) {
+ snprintf(tmp, sizeof(tmp), "%d", CT_UG_REQUEST_ADD_WITH_WEB);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_TYPE, tmp);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, CT_UG_BUNDLE_WEB, (char *)data);
+ debug_log("service_add_extra_data: %d", ret);
+ }
+
+ ug_data->ug_contacts_search = create_ug(UG_CONTACTS_LIST, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+}
+
+static void _ctxpopup_select_contact_mode_email_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ Evas_Coord x, y;
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ ug_data->con_popup = elm_ctxpopup_add(ug_data->navi_bar);
+ if (ug_data->con_popup == NULL) {
+ debug_log("cannot create context popup");
+ return;
+ }
+
+ ug_data->create_contact_arg = CONTACTUI_REQ_ADD_EMAIL;
+ ug_data->update_contact_type = CONTACTUI_REQ_ADD_EMAIL;
+
+ elm_ctxpopup_item_append(ug_data->con_popup, dgettext("sys_string", "IDS_COM_OPT_CREATE_CONTACT"), NULL, _ctxpopup_add_contact_cb, data);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_UPDATE_EXISTING"), NULL, _ctxpopup_cutlink_update_contact_cb, data);
+
+ evas_pointer_canvas_xy_get(ug_data->evas, &x, &y);
+ evas_object_move(ug_data->con_popup, x, y);
+ evas_object_show(ug_data->con_popup);
+}
+
+static void _ctxpopup_add_block_rule_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (!data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+ char *addr = (char *)data;
+
+ debug_log("Block address: %s", addr);
+
+ if (ug_data->con_popup) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ int ret;
+ email_rule_t *rule = NULL;
+
+ /* add filtering rule */
+ rule = malloc(sizeof(email_rule_t));
+ rule->account_id = priv->account_id;
+ rule->type = EMAIL_FILTER_FROM;
+ rule->value = g_strdup(addr);
+ rule->faction = EMAIL_FILTER_BLOCK;
+
+ int err = 0;
+ email_mailbox_t *mail_box = NULL;
+ if ((err = email_get_mailbox_by_mailbox_type(ug_data->account_id, ug_data->mailbox_type, &mail_box)) != EMAIL_ERROR_NONE) {
+ debug_log("email_get_mailbox_by_mailbox_type failed! - err (%d)", err);
+ }
+
+ if (mail_box == NULL) {
+ debug_log("mail_box is NULL");
+ }
+
+ rule->target_mailbox_id = mail_box->mailbox_id;
+
+ if (mail_box) {
+ debug_log("email_free_mailbox is called");
+ email_free_mailbox(&mail_box, 1);
+ mail_box = NULL;
+ }
+
+ rule->flag1 = 1;
+ rule->flag2 = RULE_TYPE_INCLUDES;
+
+ ret = email_add_rule(rule);
+ if (ret < 0) {
+ debug_log("email_add_rule failed %d", ret);
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_ADD_BLOCK_RULE"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ } else {
+ int vconf_ret = -1;
+ vconf_ret = vconf_set_int(EMAIL_VCONF_KEY_BLOCK_RULE_CHANGED, 1);
+ if (vconf_ret == -1) {
+ debug_log("fail to set vconf int(spam_rule_changed)");
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ _("IDS_EMAIL_POP_FAILED_TO_ADD_BLOCK_RULE"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ } else {
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", _("IDS_EMAIL_POP_BLOCKED"));
+ ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+ }
+ }
+
+ email_free_rule(&rule, 1);
+}
+
+static void _popup_response_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("_g_ug_data is NULL");
+ return;
+ }
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+}
+
+static void _popup_response_delete_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("_g_ug_data is NULL");
+ return;
+ }
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->notify) {
+ evas_object_del(ug_data->notify);
+ ug_data->notify = NULL;
+ }
+
+ if (ug_data->mailbox_type == EMAIL_MAILBOX_TYPE_TRASH)
+ _delete_email(ug_data);
+ else
+ _move_email(ug_data, _find_folder_id_using_folder_type(ug_data, EMAIL_MAILBOX_TYPE_TRASH), TRUE);
+
+ if (ug_data->isRotate == false && ug_data->b_internal) {
+ _notify_mailbox_size(ug_data, "MAILBOX_RESIZE_FULL");
+ }
+
+ /* close viewer */
+ if (ug_data->b_internal) {
+ _hide_view(ug_data);
+
+ /* send next or previous mail request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_NEXT_MSG);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_DO_DELETE, "1");
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ } else
+ ug_destroy_me(ug_data->ug);
+}
+
+static void _popup_response_to_destroy_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ evas_object_del(obj);
+
+ ug_data->b_direct_destroy = 1;
+ ug_destroy_me(ug_data->ug);
+ _g_ug_data = NULL;
+}
+
+static void _webview_multi_up_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (_g_ug_data == NULL)
+ return;
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ ug_data->m_is_multi_touch = FALSE;
+
+ if (ug_data->scroller_locked) {
+ ug_data->scroller_locked = FALSE;
+ debug_log("<<unlock scroller>>");
+ debug_log("<<lock webview>>");
+ }
+}
+
+static void _webview_multi_down_cb(void *data, Evas * evas, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (_g_ug_data == NULL)
+ return;
+
+ if (!data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ ug_data->m_is_multi_touch = TRUE;
+
+ if (ug_data->scroller_locked == FALSE) {
+ ug_data->scroller_locked = TRUE;
+ debug_log("<<lock scroller>>");
+ debug_log("<<unlock webview>>");
+ }
+}
+
+static void _webview_policy_navigation_decide_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ if (ug_data->b_load_finished == EINA_TRUE) {
+ Ewk_Policy_Decision *policy_decision = (Ewk_Policy_Decision *)event_info;
+ ewk_policy_decision_ignore(policy_decision);
+
+ debug_log("url:%s", ewk_policy_decision_url_get(policy_decision));
+ debug_log("scheme:%s", ewk_policy_decision_scheme_get(policy_decision));
+ debug_log("cookie:%s", ewk_policy_decision_cookie_get(policy_decision));
+ debug_log("host:%s", ewk_policy_decision_host_get(policy_decision));
+ debug_log("response_mime:%s", ewk_policy_decision_response_mime_get(policy_decision));
+
+ char *url = (char *)ewk_policy_decision_url_get(policy_decision);
+
+ if ((strncmp(url, "http://", 7) == 0) ||
+ (strncmp(url, "https://", 8) == 0) ||
+ (strncmp(url, "ftp://", 6) == 0) ||
+ (strncmp(url, "mms://", 6) == 0) ||
+ (strncmp(url, "file://", 7) == 0) ||
+ (strncmp(url, "rtsp://", 7) == 0) ||
+ (strncmp(url, "wap://", 6) == 0)) {
+ int ret;
+ service_h service = NULL;
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+ ret = service_set_operation(service, SERVICE_OPERATION_VIEW);
+ debug_log("service_set_operation: %d", ret);
+ ret = service_set_uri(service, url);
+ debug_log("service_set_uri: %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 (strncmp(url, "tel:", 4) == 0) {
+ char refined_num[MAX_STR_LEN] = { 0, };
+ int i = 0, j = 0;
+
+ while (url[i] != '\0') {
+ if (url[i] >= '0' && url[i] <= '9')
+ refined_num[j++] = url[i];
+ i++;
+ }
+
+ char *number = refined_num;
+ debug_log("number: %s", number);
+
+ int ret;
+ service_h service = NULL;
+ char telnum[255] = { 0, };
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+ ret = service_set_operation(service, SERVICE_OPERATION_CALL);
+ debug_log("service_set_operation: %d", ret);
+ snprintf(telnum, sizeof(telnum), "tel:%s", number); /* Number to make a call */
+ ret = service_set_uri(service, telnum);
+ debug_log("service_set_uri: %d", ret);
+ ret = service_add_extra_data(service, "ctindex", "-1"); /* If you don't know ctindex, you don't have to add it. */
+ debug_log("service_add_extra_data: %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 (strncmp(url, "mailto:", 7) == 0) {
+ int ret;
+ service_h service = NULL;
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ char rtype[10] = { 0, };
+ snprintf(rtype, sizeof(rtype), "%d", RUN_COMPOSER_EXTERNAL);
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_RUN_TYPE, rtype);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_TO, &url[7]);
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_data->ug_composer = create_ug(UG_NAME_EMAIL_COMPOSER, service, ug_data);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ }
+ }
+}
+
+/* Double_Scroller */
+static void _outter_scroller_bottom_hit_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ int res = email_engine_check_body_download(ug_data->email_data->mail_id);
+
+ if (ug_data->is_main_scroller_scrolling && res != 0) {
+ debug_log("Main scroller hold push");
+ elm_object_scroll_freeze_push(ug_data->scroller); //stop
+ ewk_view_vertical_panning_hold_set(ug_data->webview, EINA_FALSE); //restart
+ ug_data->is_main_scroller_scrolling = EINA_FALSE;
+ ug_data->is_webview_scrolling = EINA_TRUE;
+ }
+}
+
+static void _outter_scroller_top_hit_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _outter_scroller_scroll_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ ug_data->is_main_scroller_scrolling = EINA_TRUE;
+}
+
+static void _mbe_added_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+}
+
+static void _mbe_selected_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+ email_address_info_t *addrs_info = NULL;
+ Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+ debug_log("selected item:%s", elm_object_item_text_get(item));
+
+ addrs_info = elm_object_item_data_get(item);
+
+ Evas_Coord x, y;
+ EMAIL_CONTACT_LIST_INFO_S *contact_list_item = NULL;
+ contact_list_item = (EMAIL_CONTACT_LIST_INFO_S *)_contact_search_by_email(ug_data, addrs_info->address);
+
+ if (ug_data->con_popup != NULL) {
+ evas_object_del(ug_data->con_popup);
+ ug_data->con_popup = NULL;
+ }
+
+ ug_data->con_popup = elm_ctxpopup_add(ug_data->navi_bar);
+ if (ug_data->con_popup == NULL) {
+ debug_log("cannot create context popup");
+ return;
+ }
+
+ if (contact_list_item) {
+ debug_log("Contact Item Exist: index[%d]", contact_list_item->index);
+ char index[10] = { 0, };
+ snprintf(index, sizeof(index), "%d", contact_list_item->index);
+
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_VIEW_CONTACT"), NULL, _ctxpopup_detail_contact_cb, g_strdup(index));
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_SEND_EMAIL"), NULL, _ctxpopup_send_email_cb, addrs_info->address);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_BLOCK"), NULL, _ctxpopup_add_block_rule_cb, addrs_info->address);
+ _delete_contacts_list(contact_list_item);
+ } else {
+ elm_ctxpopup_item_append(ug_data->con_popup, dgettext("sys_string", "IDS_COM_OPT_ADD_TO_CONTACTS"), NULL, _ctxpopup_select_contact_mode_email_cb, addrs_info->address);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_SEND_EMAIL"), NULL, _ctxpopup_send_email_cb, addrs_info->address);
+ elm_ctxpopup_item_append(ug_data->con_popup, _("IDS_EMAIL_OPT_BLOCK"), NULL, _ctxpopup_add_block_rule_cb, addrs_info->address);
+ }
+
+ evas_pointer_canvas_xy_get(ug_data->evas, &x, &y);
+ evas_object_move(ug_data->con_popup, x, y);
+ evas_object_show(ug_data->con_popup);
+}
+
+static void _destroy_down_progress_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+
+ email_engine_stop_working(ug_data->account_id, priv->email_handle);
+
+ if (ug_data->pb_notify) {
+ evas_object_del(ug_data->pb_notify);
+ ug_data->pb_notify = NULL;
+ }
+
+ if (ug_data->pb_notify_lb) {
+ evas_object_del(ug_data->pb_notify_lb);
+ ug_data->pb_notify_lb = NULL;
+ }
+
+ if (data == NULL) {
+ if (priv->att_file_id) {
+ free(priv->att_file_id);
+ priv->att_file_id = NULL;
+ }
+
+ priv->file_size = 0;
+ priv->attachment_id = -1;
+ priv->multi_body = FALSE;
+ }
+}
+
+static void _init_viewer_data(int account_id, int mail_id, char *srv_mail_id, EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerPrivate *priv = NULL;
+ EmailViewerProp *prop = NULL;
+ email_address_info_list_t *addrs_info_list = NULL;
+
+ /* Create Email Viewer Private Structure */
+ if (ug_data->email_data) {
+ if (ug_data->email_data->mail_info) {
+ debug_log("mail_info freed");
+ email_free_mail_data(&(ug_data->email_data->mail_info), 1);
+ ug_data->email_data->mail_info = NULL;
+ }
+
+ if (ug_data->email_data->attachment_info && ug_data->email_data->attachment_count > 0) {
+ debug_log("attachment_info freed p[%p] n[%d]", ug_data->email_data->attachment_info, ug_data->email_data->attachment_count);
+ email_free_attachment_data(&(ug_data->email_data->attachment_info), ug_data->email_data->attachment_count);
+ ug_data->email_data->attachment_info = NULL;
+ ug_data->email_data->attachment_count = 0;
+ }
+
+ memset(ug_data->email_data, 0x0, sizeof(EmailViewerPrivate));
+ priv = ug_data->email_data;
+ } else {
+ priv = (EmailViewerPrivate *)malloc(sizeof(EmailViewerPrivate));
+ memset(priv, 0x0, sizeof(EmailViewerPrivate));
+ ug_data->email_data = priv;
+ }
+
+ /* Create Email Viewer Property Structure */
+ if (ug_data->property) {
+ if (ug_data->property->attachments) {
+ int i = 0;
+ LIST_ITER_START(i, ug_data->property->attachments) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, ug_data->property->attachments);
+ if (info->name)
+ free(info->name);
+ if (info->path)
+ free(info->path);
+ free(info);
+ }
+ g_list_free(ug_data->property->attachments);
+ }
+ memset(ug_data->property, 0x0, sizeof(EmailViewerProp));
+ prop = ug_data->property;
+ } else {
+ prop = (EmailViewerProp *)malloc(sizeof(EmailViewerProp));
+ memset(prop, 0x0, sizeof(EmailViewerProp));
+ ug_data->property = prop;
+ }
+
+ /* Set account ID */
+ priv->account_id = account_id;
+ prop->account_id = account_id;
+
+ /* Set mail ID */
+ priv->mail_id = mail_id;
+ prop->mail_id = mail_id;
+
+ priv->mailbox_id = ug_data->mailbox_id;
+ prop->src_box = ug_data->mailbox_name;
+ debug_log("mailbox_name [%s]", ug_data->mailbox_name);
+
+ /* Get mail_info from service, and fill property */
+ if (viewer_get_internal_mail_info(ug_data->property, ug_data->email_data)) {
+ viewer_make_internal_mail(ug_data->property, ug_data->email_data);
+ }
+
+ email_get_address_info_list(priv->mail_id, &addrs_info_list);
+
+ if (addrs_info_list) {
+ ug_data->from_list = addrs_info_list->from;
+ ug_data->to_list = addrs_info_list->to;
+ ug_data->cc_list = addrs_info_list->cc;
+ ug_data->bcc_list = addrs_info_list->bcc;
+ priv->addrs_info_list = addrs_info_list;
+ }
+
+ ug_data->option_header_opened = 0;
+}
+
+static int _init_webview_data(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ EmailViewerWebview *wvd;
+
+ if (ug_data->webview_data == NULL) {
+ wvd = (EmailViewerWebview *)malloc(sizeof(EmailViewerWebview));
+ memset(wvd, 0x0, sizeof(EmailViewerWebview));
+ ug_data->webview_data = wvd;
+ }
+
+ if (STR_VALID(ug_data->property->charset)) {
+ ug_data->webview_data->charset = g_strdup(ug_data->property->charset);
+ debug_log("charset:%s", ug_data->webview_data->charset);
+ } else {
+ ug_data->webview_data->charset = DEFAULT_CHARSET;
+ debug_log("charset:%s", ug_data->webview_data->charset);
+ }
+
+ return 0;
+}
+
+static Eina_Bool _check_body_download(void *data)
+{
+ debug_log("");
+ if (!data) {
+ debug_log("data is NULL");
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ _create_tab_bar(ug_data);
+
+ /* check mail body downloaded */
+ int body_download_status = ug_data->property->body_download;
+
+ if (body_download_status == 0) { //EMAIL_BODY_DOWNLOAD_STATUS_NONE
+ debug_log("need body download");
+ ug_data->b_noc = 1; /* Double_Scroller */
+
+ if (ug_data->noc_bx) {
+ debug_log("no content layout exist");
+ evas_object_show(ug_data->noc_bx);
+ elm_object_text_set(ug_data->dn_btn, _("IDS_EMAIL_BODY_DOWNLOAD_MESSAGE"));
+ evas_object_show(ug_data->dn_btn);
+ elm_box_pack_end(ug_data->main_bx, ug_data->noc_bx);
+ } else {
+ /* add body download button */
+ ug_data->noc_bx = _load_edj(ug_data->navi_bar, EV_THEME_PATH, "layout.email.no_content");
+ if (ug_data->noc_bx == NULL) {
+ debug_log("Cannot load edj");
+ return ECORE_CALLBACK_CANCEL;
+ }
+
+ evas_object_size_hint_align_set(ug_data->noc_bx, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_size_hint_weight_set(ug_data->noc_bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_show(ug_data->noc_bx);
+ elm_box_pack_end(ug_data->main_bx, ug_data->noc_bx);
+
+ Evas_Object *dn_btn = elm_button_add(ug_data->navi_bar);
+ /*elm_object_theme_set(dn_btn, ug_data->theme);*/
+ elm_object_style_set(dn_btn, "text_only/style2");
+ elm_object_text_set(dn_btn, _("IDS_EMAIL_BODY_DOWNLOAD_MESSAGE"));
+ evas_object_smart_callback_add(dn_btn, "clicked", _body_down_cb, (void *)ug_data);
+ evas_object_show(dn_btn);
+ ug_data->dn_btn = dn_btn;
+
+ elm_object_part_content_set(ug_data->noc_bx, "btn", ug_data->dn_btn);
+ debug_log("no content layout created");
+ }
+
+ elm_object_focus_set(ug_data->noc_bx, EINA_TRUE);
+ if (ug_data->timer) {
+ ecore_timer_del(ug_data->timer);
+ ug_data->timer = NULL;
+ }
+
+ ug_data->timer = ecore_timer_add(0.0, viewer_send_message, ug_data);
+ } else if (body_download_status == 1) { //EMAIL_BODY_DOWNLOAD_STATUS_FULLY_DOWNLOADED
+ debug_log("check mail downloaded - ok");
+ /* create body */
+ _create_body(ug_data);
+ } else if (body_download_status == 2) { //EMAIL_BODY_DOWNLOAD_STATUS_PARTIALLY_DOWNLOADED
+ /* partial body */
+ debug_log("Partial Body");
+ ug_data->b_partial_body = 1;
+ _create_body(ug_data);
+ _create_partial_body_dn_btn(ug_data);
+ }
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static int _update_attachment_info(EmailViewerUGD *ug_data, int index)
+{
+ debug_log("");
+ EmailViewerProp *prop = ug_data->property;
+ int i = 0;
+ int j = 0;
+ int attach_index = 0;
+
+ /* update attachment information */
+ LIST_ITER_START(i, prop->attachments) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, prop->attachments);
+
+ if (info && !info->inline_content) {
+ debug_log("info->index[%d] index[%d]", info->index, index);
+
+ if (info->index == index) {
+ info->download_yn = TRUE;
+ info->path = email_engine_get_attachment_path(info->attach_id);
+
+ attach_index = i;
+
+ if (prop->real_att_len > 1) {
+ Evas_Object *thumbnail = viewer_make_thumbnail(info->path, ug_data->attach_ex_bk[j]);
+ Evas_Object *content = elm_object_part_content_unset(ug_data->attach_ex_bk[j], "elm.icon");
+ evas_object_del(content);
+ elm_object_part_content_set(ug_data->attach_ex_bk[j], "elm.icon", thumbnail);
+ evas_object_show(thumbnail);
+ } else {
+ Evas_Object *thumbnail = viewer_make_thumbnail(info->path, ug_data->attach_hd_bk);
+ Evas_Object *content = elm_object_part_content_unset(ug_data->attach_hd_bk, "elm.icon");
+ evas_object_del(content);
+ elm_object_part_content_set(ug_data->attach_hd_bk, "elm.icon", thumbnail);
+ evas_object_show(thumbnail);
+ }
+
+ break;
+ }
+
+ j++;
+ }
+ }
+
+ debug_log("return id[%d]", attach_index);
+
+ return attach_index;
+}
+
+static int _get_attachment_info_index(EmailViewerUGD *ug_data, int index)
+{
+ debug_log("");
+
+ EmailViewerProp *prop = ug_data->property;
+ int i = 0;
+ int attach_index = 0;
+
+ /* update attachment information */
+ LIST_ITER_START(i, prop->attachments) {
+ EmailAttachmentType *info = (EmailAttachmentType *)LIST_ITER_GET_DATA(i, prop->attachments);
+ if (info) {
+ debug_log("info->index[%d] index[%d]", info->index, index);
+ if (info->index == index) {
+ attach_index = i;
+ break;
+ }
+ }
+ }
+
+ debug_log("return id[%d]", attach_index);
+
+ return attach_index;
+}
+
+static void _show_select_info(EmailViewerUGD *ug_data, char *str)
+{
+ debug_log("");
+
+ if (ug_data->select_info != NULL) {
+ evas_object_del(ug_data->select_info);
+ ug_data->select_info = NULL;
+ }
+
+ if (ug_data->selectioninfo_layout != NULL) {
+ evas_object_del(ug_data->selectioninfo_layout);
+ ug_data->selectioninfo_layout = NULL;
+ }
+
+ ug_data->select_info = elm_notify_add(ug_data->win_main);
+ elm_notify_orient_set(ug_data->select_info, ELM_NOTIFY_ORIENT_BOTTOM);
+
+ ug_data->selectioninfo_layout = elm_layout_add(ug_data->layout_main);
+ elm_object_content_set(ug_data->select_info, ug_data->selectioninfo_layout);
+
+ elm_layout_theme_set(ug_data->selectioninfo_layout, "standard", "selectioninfo", "vertical/bottom_64");
+
+ edje_object_part_text_set(_EDJ(ug_data->selectioninfo_layout), "elm.text", str);
+ elm_notify_timeout_set(ug_data->select_info, 3);
+ evas_object_show(ug_data->select_info);
+}
+
+static void _save_attachment(EmailViewerUGD *ug_data, int index)
+{
+ debug_log("");
+ EmailViewerPrivate *priv = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+ char newpath[MAX_STR_LEN] = { 0, };
+
+ RETURN_IF_FAIL(prop->attachments != NULL);
+ EmailAttachmentType *info = g_list_nth_data(prop->attachments, index);
+
+ if (info == NULL) {
+ debug_log("EmailAttachmentType *info is NULL");
+ return;
+ }
+
+ if (!info->download_yn) {
+ unsigned handle = 0;
+ gboolean res = FALSE;
+
+ if (ug_data->progress_bar[index + 1] != NULL) {
+ debug_log("Already getting downloaded...!");
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"),
+ _("IDS_EMAIL_POP_ALREADY_DOWNLOADING_T_HEADER"), 1,
+ dgettext("sys_string", "IDS_COM_SK_OK"),
+ _popup_response_cb, NULL, NULL, NULL);
+ return;
+ }
+
+ debug_log("Need attachment download");
+ /* download attachment */
+ priv->b_att_save = TRUE;
+
+ res = email_engine_attachment_download(priv->account_id, priv->mail_id, info->index, &handle);
+
+ if (res == TRUE) {
+ priv->download_all_cnt++;
+ debug_log("Assigning Handle[%d] Index[%d] download_all_cnt[%d]", handle, index, priv->download_all_cnt);
+ priv->download_all_email_handle[index] = handle;
+ _create_down_progress_ex(index, EMAIL_VIEWER_PROGRESSBAR_ATT);
+ ug_data->display_download_result = TRUE;
+ } else {
+ priv->b_att_save = FALSE;
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"),
+ _("IDS_EMAIL_POP_UNABLE_TO_OPEN_ATTACHMENT"), 1,
+ dgettext("sys_string", "IDS_COM_SK_OK"), _popup_response_cb,
+ NULL, NULL, NULL);
+ }
+
+ return;
+ }
+
+ if (info && STR_VALID(info->path)) {
+ int ret;
+ debug_log("path[%s]", info->path);
+ ret = email_attachments_save_file(info->path, newpath, NULL);
+ if (ret == EMAIL_EXT_SAVE_ERR_NONE) {
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", dgettext("sys_string", "IDS_COM_POP_SAVED"));
+ /*_show_select_info(ug_data, str);*/
+ ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+ }
+ }
+}
+
+static void _show_attachment(EmailViewerUGD *ug_data, int index)
+{
+ debug_log("");
+ EmailViewerPrivate *priv = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+ EmailAttachmentType *info = g_list_nth_data(prop->attachments, index);
+ char newpath[MAX_STR_LEN] = { 0, };
+
+ if (info == NULL) {
+ debug_log("EmailAttachmentType *info is NULL");
+ return;
+ }
+
+ debug_log("attach_id:%d, index:%d, name(%s), path(%s), size:%d, download_yn:%d, drm:%d, inline_content:%d",
+ info->attach_id, info->index, info->name, info->path, (gint) info->size, info->download_yn, info->drm, info->inline_content);
+
+ if (!info->download_yn) {
+ unsigned handle = 0;
+ gboolean res = FALSE;
+ debug_log("Need attachment download");
+
+ priv->b_att_open = TRUE;
+
+ res = email_engine_attachment_download(priv->account_id, priv->mail_id, info->index, &handle);
+
+ if (res == TRUE) {
+ priv->download_all_email_handle[index] = handle;
+ priv->download_all_cnt++;
+ _create_down_progress_ex(index, EMAIL_VIEWER_PROGRESSBAR_ATT);
+ } else {
+ priv->b_att_open = FALSE;
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"),
+ _("IDS_EMAIL_POP_UNABLE_TO_OPEN_ATTACHMENT"), 1,
+ dgettext("sys_string", "IDS_COM_SK_OK"), _popup_response_cb,
+ NULL, NULL, NULL);
+ }
+ return;
+ }
+
+ gboolean res = FALSE;
+ res = email_attachments_save_file(info->path, newpath, NULL);
+ debug_log("Result:%d, Saved Path:%s", res, newpath);
+
+ if (res == EMAIL_EXT_SAVE_ERR_NONE) {
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", dgettext("sys_string", "IDS_COM_POP_SAVED"));
+ /*_show_select_info(ug_data, str);*/
+ int ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+
+ if (g_str_has_suffix(info->path, ".vcs")) {
+ int nResult = -1;
+ int calendar_id = 1;
+ calendar_svc_connect();
+ nResult = calendar_svc_calendar_import(newpath, calendar_id);
+
+ debug_log("check return value of calendar_svc_util_register_vcs_file for %s - %d", newpath, nResult);
+ if (nResult != CAL_SUCCESS) {
+ debug_log("Failed to import path(%s) to id(%d)", newpath, calendar_id);
+ return;
+ }
+ calendar_svc_close();
+ } else
+ media_file_register(newpath);
+ } else if (res == EMAIL_EXT_SAVE_ERR_ALREADY_EXIST && !ug_data->display_download_result) {
+ _create_notify(ug_data, _("IDS_EMAIL_POP_ALERT"),
+ dgettext("sys_string", "IDS_COM_POP_ALREDY_EXISTS"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ }
+
+ debug_log("display_download_result:%d", ug_data->display_download_result);
+ if (ug_data->display_download_result) {
+ if (res == EMAIL_EXT_SAVE_ERR_NONE || res == EMAIL_EXT_SAVE_ERR_ALREADY_EXIST) {
+ int ret;
+ service_h service = NULL;
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+ ret = service_set_operation(service, SERVICE_OPERATION_VIEW);
+ debug_log("service_set_operation: %d", ret);
+ ret = service_set_uri(service, newpath);
+ debug_log("service_set_uri: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_VIDEO_PLAYER_LAUNCH_APP, "email");
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_send_launch_request(service, NULL, NULL);
+ debug_log("service_send_launch_request: %d", ret);
+ if (ret != SERVICE_ERROR_NONE) {
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"),
+ _("IDS_EMAIL_POP_THIS_ATTACHMENT_CANNOT_BE_DISPLAYED"), 0,
+ NULL, NULL, NULL, NULL, _popup_response_cb);
+ }
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ } else {
+ debug_log("EMAIL_EXT_SAVE_ERR_UNKNOWN");
+ }
+ }
+}
+
+static void _save_attachment_all(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ EmailViewerPrivate *priv = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+ EmailAttachmentType *info = NULL;
+
+ int i = 0;
+ int att_len = g_list_length(prop->attachments);
+
+ if (priv->b_all_att_save)
+ return;
+
+ if (att_len > 0) {
+ if (ug_data->forward_ctr_it)
+ elm_object_item_disabled_set(ug_data->forward_ctr_it, EINA_TRUE);
+ }
+
+ for (i = 0; i < att_len; i++) {
+ info = g_list_nth_data(prop->attachments, i);
+
+ if (info && !info->inline_content) {
+ if (!info->download_yn) {
+ if (ug_data->progress_bar_ly[i + 1] == NULL) {
+ unsigned handle = 0;
+ gboolean res = FALSE;
+ debug_log("Need attachment [%d] download", i);
+
+ res = email_engine_attachment_download(priv->account_id, priv->mail_id, info->index, &handle);
+
+ if (res == TRUE) {
+ priv->download_all_cnt++;
+ priv->download_all_email_handle[i] = handle;
+ priv->b_all_att_save = TRUE;
+
+ debug_log("attach_onoff_flag:%d", ug_data->attach_onoff_flag);
+ if (priv->b_all_att_save) {
+ if (ug_data->attach_onoff_flag == 0) {
+ _attachment_item_collapse_cb(ug_data->attach_hd_bk, NULL, NULL, NULL);
+ }
+ }
+
+ _create_down_progress_ex(i, EMAIL_VIEWER_PROGRESSBAR_ATT);
+ ug_data->display_download_result = TRUE;
+ } else {
+ priv->download_all_fail_cnt++;
+ }
+ }
+ }
+ }
+ }
+
+ debug_log("download [%d], failed [%d]", priv->download_all_cnt, priv->download_all_fail_cnt);
+}
+
+static void _dbus_receiver_setup(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ int ret = e_dbus_init();
+ debug_log("ret: %d", ret);
+
+ DBusError derror;
+
+ if (_g_viewer_dbus_conn == NULL) {
+ debug_log("");
+ dbus_error_init(&derror);
+ _g_viewer_dbus_conn = e_dbus_bus_get(DBUS_BUS_SYSTEM);
+
+ if (_g_viewer_dbus_conn == NULL) {
+ debug_log("e_dbus_bus_get return NULL");
+ }
+
+ /* storage */
+ if (e_dbus_request_name(_g_viewer_dbus_conn, "User.Email.StorageChange", 0, NULL, NULL) == NULL) {
+ debug_critical("Failed to e_dbus_request_name()");
+ return;
+ }
+
+ if (_g_viewer_signal_handler_storage != NULL) {
+ debug_log("_g_viewer_signal_handler_storage != NULL");
+ }
+
+ _g_viewer_signal_handler_storage = e_dbus_signal_handler_add(_g_viewer_dbus_conn, NULL,
+ "/User/Email/StorageChange",
+ "User.Email.StorageChange",
+ "email", _on_edbus_event_email_viewer_receive, ug_data);
+
+ if (_g_viewer_signal_handler_storage == NULL) {
+ debug_log("Failed to e_dbus_signal_handler_add()");
+ return;
+ }
+
+ /* network */
+ if (e_dbus_request_name(_g_viewer_dbus_conn, "User.Email.NetworkStatus", 0, NULL, NULL) == NULL) {
+ debug_log("Failed to e_dbus_request_name()");
+ return;
+ }
+
+ if (_g_viewer_signal_handler_network != NULL) {
+ debug_log("_g_viewer_signal_handler_network != NULL");
+ }
+
+ _g_viewer_signal_handler_network = e_dbus_signal_handler_add(_g_viewer_dbus_conn, NULL,
+ "/User/Email/NetworkStatus",
+ "User.Email.NetworkStatus",
+ "email", _on_edbus_event_email_viewer_receive, ug_data);
+
+ if (_g_viewer_signal_handler_network == NULL) {
+ debug_log("Failed to e_dbus_signal_handler_add()");
+ return;
+ }
+ }
+}
+
+static void _dbus_receiver_remove(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+
+ if (_g_viewer_signal_handler_storage != NULL) {
+ e_dbus_signal_handler_del(_g_viewer_dbus_conn, _g_viewer_signal_handler_storage);
+ _g_viewer_signal_handler_storage = NULL;
+ }
+
+ if (_g_viewer_signal_handler_network != NULL) {
+ e_dbus_signal_handler_del(_g_viewer_dbus_conn, _g_viewer_signal_handler_network);
+ _g_viewer_signal_handler_network = NULL;
+ }
+
+ if (e_dbus_release_name(_g_viewer_dbus_conn, "User.Email.StorageChange", NULL, NULL) == NULL) {
+ debug_critical("e_dbus_release_name to failed");
+ }
+
+ if (e_dbus_release_name(_g_viewer_dbus_conn, "User.Email.NetworkStatus", NULL, NULL) == NULL) {
+ debug_critical("e_dbus_release_name to failed");
+ }
+
+ if (_g_viewer_dbus_conn != NULL) {
+ /*e_dbus_connection_close(_g_viewer_dbus_conn);*/
+ _g_viewer_dbus_conn = NULL;
+ }
+}
+
+static void _on_edbus_event_email_viewer_receive(void *data, DBusMessage *message)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerPrivate *priv = ug_data->email_data;
+ char fail_msg[MAX_STR_LEN] = { 0, };
+ DBusError error;
+
+ if (dbus_message_is_signal(message, "User.Email.StorageChange", "email")) {
+ debug_log("User.Email.StorageChange");
+
+ int subtype = 0;
+ int data1 = 0;
+ int data2 = 0;
+ char *data3 = NULL;
+
+ 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_INVALID)) {
+ debug_log("STORE_ENABLE: subtype: %d, data1: %d, data2: %d, data3: %s", subtype, data1, data2, data3);
+
+ switch (subtype) {
+ case NOTI_ACCOUNT_ADD:
+ if (get_app_paused()) {
+ debug_log("account added during pause status");
+
+ if (ug_data->isRotate == false && ug_data->b_internal) {
+ /* Viewer to hide, so set left content (mailbox) size to full */
+ _notify_mailbox_size(ug_data, "MAILBOX_RESIZE_FULL");
+ }
+
+ if (ug_data->b_internal != 1) {
+ debug_log("ug_destory_me");
+ ug_destroy_me(ug_data->ug);
+ } else {
+ _hide_view(ug_data);
+ }
+ }
+ break;
+
+ case NOTI_ACCOUNT_DELETE:
+ if (get_app_paused()) {
+ debug_log("account deleted during pause status");
+ int account_id = 0;
+
+ if (ug_data->isRotate == false && ug_data->b_internal) {
+ /* Viewer to hide, so set left content (mailbox) size to full */
+ _notify_mailbox_size(ug_data, "MAILBOX_RESIZE_FULL");
+ }
+
+ if (email_engine_get_default_account(&account_id)) {
+ if (ug_data->b_internal != 1) {
+ debug_log("ug_destory_me");
+ ug_destroy_me(ug_data->ug);
+ } else {
+ _hide_view(ug_data);
+ }
+ }
+ }
+ break;
+
+ case NOTI_ACCOUNT_UPDATE:
+ if (get_app_paused()) {
+ debug_log("account updated during pause status");
+ }
+ break;
+
+ default:
+ debug_warning("unknown type");
+ break;
+ }
+ } else {
+ debug_critical("receive data error: %s", error.message);
+ dbus_error_free(&error);
+ }
+ } else if (dbus_message_is_signal(message, "User.Email.NetworkStatus", "email")) {
+ debug_log("");
+
+ int subtype = 0;
+ int data1 = 0;
+ char *data2 = NULL;
+ int data3 = 0;
+ int data4 = 0;
+
+ dbus_error_init(&error);
+
+ if (dbus_message_get_args(message, &error, DBUS_TYPE_INT32, &subtype,
+ DBUS_TYPE_INT32, &data1, DBUS_TYPE_STRING, &data2,
+ DBUS_TYPE_INT32, &data3, DBUS_TYPE_INT32, &data4, DBUS_TYPE_INVALID)) {
+ debug_log("subtype: %d, data1: %d, data2: %s, data3: %d, data4: %d", subtype, data1, data2, data3, data4);
+ switch (subtype) {
+
+ case NOTI_DOWNLOAD_BODY_START:
+ /* DATA1[mail_id] DATA2[file_id] DATA3[body_size] DATA4[received size] */
+ debug_log("receive noti, DOWNLOAD_BODY");
+ if (priv->mail_id == data1) {
+ priv->file_id = g_strdup(data2);
+ priv->file_size = data3;
+
+ if (data4 == 0) {
+ _set_value_down_progress(0.0);
+ } else {
+ double per = (double)data4 / (double)data3;
+ _set_value_down_progress(per);
+ }
+ } else {
+ debug_log("mail_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ }
+ break;
+
+ case NOTI_DOWNLOAD_MULTIPART_BODY:
+ /* DATA1[mail_id] DATA2[file_id] DATA3[body_size] DATA4[received size] */
+ debug_log("receive noti, DOWNLOAD_MULTIPART_BODY");
+ if (priv->mail_id == data1) {
+ priv->file_id = g_strdup(data2);
+ priv->file_size = data3;
+ priv->multi_body = TRUE;
+
+ if (data4 == 0) {
+ _set_value_down_progress(0.0);
+ } else {
+ double per = (double)data4 / (double)data3;
+ _set_value_down_progress(per);
+ }
+ } else {
+ debug_log("mail_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ }
+ break;
+
+ case NOTI_DOWNLOAD_BODY_FINISH:
+ /* DATA1[mail_id] DATA2[NULL] DATA3[handle_id] */
+ debug_log("receive noti, DOWNLOAD_BODY_FINISH");
+ if (priv->email_handle == data3 && priv->mail_id == data1) {
+ priv->email_handle = 0;
+
+ ug_data->b_load_finished = EINA_FALSE;
+
+ /* delete progress */
+ if (ug_data->pb_notify) {
+ _set_value_down_progress(1.0);
+ _destroy_down_progress_cb(NULL, NULL, NULL);
+ }
+
+ char str[128] = { 0, };
+ snprintf(str, sizeof(str), "%s", dgettext("sys_string", "IDS_COM_BODY_DOWNLOADED"));
+ /*_show_select_info(ug_data, str);*/
+ int ret = status_message_post(str);
+ if (ret)
+ debug_log("status_message_post failed: %d", ret);
+
+ /* set property */
+ if (viewer_get_internal_mail_info(ug_data->property, ug_data->email_data)) {
+ viewer_make_internal_mail(ug_data->property, ug_data->email_data);
+ }
+ /* create att and body */
+ if (ug_data->b_partial_body) {
+ int scr_x = 0;
+ int scr_y = 0;
+ int scr_w = 0;
+ int scr_h = 0;
+ elm_scroller_region_get(ug_data->scroller, &scr_x, &scr_y, &scr_w, &scr_h);
+ debug_log("scroller region> x[%d] y[%d] w[%d] h[%d]", scr_x, scr_y, scr_w, scr_h);
+
+ elm_box_unpack(ug_data->main_bx, ug_data->partial_dn_btn_bx);
+ if (ug_data->partial_dn_btn) {
+ evas_object_del(ug_data->partial_dn_btn);
+ ug_data->partial_dn_btn = NULL;
+ }
+ if (ug_data->partial_dn_btn_bx) {
+ evas_object_del(ug_data->partial_dn_btn_bx);
+ ug_data->partial_dn_btn_bx = NULL;
+ }
+
+ if (ug_data->property->has_html) {
+ ug_data->webview_data->body_type = BODY_TYPE_HTML;
+ ug_data->webview_data->uri = ug_data->property->body_uri;
+ } else {
+ ug_data->webview_data->body_type = BODY_TYPE_TEXT;
+ ug_data->webview_data->text_content = ug_data->property->body;
+ }
+
+ viewer_set_webview_content(ug_data, 1);
+
+ elm_object_focus_set(ug_data->ly_subject, EINA_TRUE);
+ elm_scroller_region_show(ug_data->scroller, scr_x, scr_y, scr_w, scr_h);
+ } else {
+
+ if (ug_data->property->has_attachment)
+ ug_data->got_att = 1;
+ else
+ ug_data->got_att = 0;
+
+ /* pack attachment if it exist */
+ if (ug_data->got_att) {
+ _create_attach(ug_data);
+ }
+
+ _create_body(ug_data);
+ }
+ } else {
+ debug_log("email_handle or mail_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ debug_log("expected email_handle [%d], received email_handle [%d]", priv->email_handle, data3);
+ }
+ break;
+
+ case NOTI_DOWNLOAD_BODY_FAIL:
+ /* DATA1[mail_id] DATA2[NULL] DATA3[handle_id] */
+ debug_log("receive noti, DOWNLOAD_BODY_FAIL");
+ if (priv->email_handle == data3 && priv->mail_id == data1) {
+ priv->email_handle = 0;
+
+ /* delete progress */
+ if (ug_data->pb_notify) {
+ _destroy_down_progress_cb(NULL, NULL, NULL);
+ }
+
+ char *err_msg = _get_service_fail_type(data4);
+ snprintf(fail_msg, sizeof(fail_msg), "%s<br>%s", _("IDS_EMAIL_POP_UNABLE_TO_DOWNLOAD"), err_msg);
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"),
+ fail_msg, 1, dgettext("sys_string", "IDS_COM_SK_OK"),
+ _popup_response_cb, NULL, NULL, NULL);
+ g_free(err_msg);
+ } else {
+ debug_log("email_handle or mail_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ debug_log("expected email_handle [%d], received email_handle [%d]", priv->email_handle, data3);
+ }
+ break;
+
+ case NOTI_DOWNLOAD_ATTACH_START:
+ /* DATA1[mail_id] DATA2[file_id] DATA3[attachment_id] DATA4[percentage] */
+ debug_log("receive noti, DOWNLOAD_ATTACHMENT");
+ if (priv->mail_id == data1) {
+ priv->att_file_id = g_strdup(data2);
+ priv->attachment_id = data3;
+
+ if (data4 == 0) {
+ /* Set the progressbar of particular attachment_id */
+ _set_value_down_progress_by_index(0.0, priv->attachment_id);
+ }
+ if (data4 > 0) {
+ double per = (double)data4 / 100.0;
+ /* Set the progressbar of particular attachment_id */
+ _set_value_down_progress_by_index(per, priv->attachment_id);
+ }
+ } else {
+ debug_log("mail_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ }
+ break;
+
+ case NOTI_DOWNLOAD_ATTACH_FINISH:
+ /* DATA1[mail_id] DATA2[NULL] DATA3[attachment_id] */
+ debug_log("receive noti, DOWNLOAD_ATTACH_FINISH");
+
+ if (priv->mail_id == data1) {
+ int attach_index = 0;
+ int attachment_id = (int)data3;
+ debug_log("download_all_cnt [%d]", priv->download_all_cnt);
+
+ if (priv->download_all_cnt > 0) {
+ _set_value_down_progress_by_index(1.0, attachment_id);
+ attach_index = _update_attachment_info(ug_data, attachment_id);
+ if (priv->b_all_att_save) {
+ _destroy_down_progress_ex((void *)attach_index, NULL, NULL);
+ _save_attachment(ug_data, attach_index);
+ if (priv->download_all_cnt == 0) {
+ priv->b_all_att_save = FALSE;
+ }
+ } else {
+ _destroy_down_progress_ex((void *)attach_index, NULL, NULL);
+ _show_attachment(ug_data, attach_index);
+ }
+ }
+ } else {
+ debug_log("mail_id or attachment_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ }
+ break;
+
+ case NOTI_DOWNLOAD_ATTACH_FAIL:
+ /* DATA1[mail_id] DATA2[NULL] DATA3[attachment_id] */
+ debug_log("receive noti, DOWNLOAD_ATTACH_FAIL");
+ if (priv->mail_id == data1) {
+ int attach_index = _get_attachment_info_index(ug_data, data3);
+ debug_log("download_all_cnt[%d]", priv->download_all_cnt);
+
+ if (priv->download_all_cnt > 0) {
+ if (ug_data->progress_bar[data3] != NULL && data4 != EMAIL_ERROR_CANCELLED)
+ _destroy_down_progress_ex((void *)attach_index, NULL, NULL);
+ else
+ debug_log("Download already cancelled, No need to destroy again..!");
+
+ if (data4 != EMAIL_ERROR_CANCELLED && ug_data->ug_composer == NULL) {
+ char *err_msg = _get_service_fail_type(data4);
+ snprintf(fail_msg, sizeof(fail_msg), "%s<br>%s", _("IDS_EMAIL_POP_UNABLE_TO_DOWNLOAD"), err_msg);
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"), fail_msg, 1,
+ dgettext("sys_string", "IDS_COM_SK_OK"),
+ _popup_response_cb, NULL, NULL, NULL);
+ g_free(err_msg);
+ }
+
+ if (priv->b_all_att_save && priv->download_all_cnt == 0) {
+ priv->b_all_att_save = FALSE;
+ }
+ }
+ } else {
+ debug_log("mail_id is different");
+ debug_log("expected mail_id [%d], received mail_id [%d]", priv->mail_id, data1);
+ }
+ break;
+
+ default:
+ debug_log("unknown type");
+ break;
+ }
+ } else {
+ debug_log("receive data error: %s", error.message);
+ dbus_error_free(&error);
+ }
+ /*return DBUS_HANDLER_RESULT_HANDLED;*/
+ return;
+ }
+ /*return DBUS_HANDLER_RESULT_HANDLED;*/
+ return;
+}
+
+static void _delete_contacts_list(EMAIL_CONTACT_LIST_INFO_S *contacts_list_item)
+{
+ debug_log("");
+
+ if (contacts_list_item) {
+#ifndef _NEW_CT_SVC_API
+ g_free(contacts_list_item->first_name);
+ contacts_list_item->first_name = NULL;
+ g_free(contacts_list_item->last_name);
+ contacts_list_item->last_name = NULL;
+#else
+ g_free(contacts_list_item->display);
+ contacts_list_item->display = NULL;
+#endif
+ g_free(contacts_list_item->email_address);
+ contacts_list_item->email_address = NULL;
+ g_free(contacts_list_item);
+ contacts_list_item = NULL;
+ }
+}
+
+static void *_contact_search_by_email(EmailViewerUGD *ug_data, const char *search_word)
+{
+ debug_log("");
+ if (!ug_data || !_g_ug_data) {
+ debug_log("data is NULL");
+ return NULL;
+ }
+
+ int ret = CTS_SUCCESS;
+ CTSiter *iter = NULL;
+
+ EMAIL_CONTACT_LIST_INFO_S *contacts_list_item = NULL;
+ contacts_svc_connect();
+
+ debug_log("search_word = %s", search_word);
+
+ if (contacts_svc_get_list_with_str(CTS_LIST_EMAILINFOS_WITH_EMAIL, search_word, &iter) != CTS_SUCCESS) {
+ return NULL;
+ }
+
+ ret = contacts_svc_iter_next(iter);
+
+ if (CTS_SUCCESS == ret) {
+ CTSvalue *row_info = NULL;
+
+ row_info = contacts_svc_iter_get_info(iter);
+ if (row_info) {
+ contacts_list_item = (EMAIL_CONTACT_LIST_INFO_S *)calloc(1, sizeof(EMAIL_CONTACT_LIST_INFO_S));
+
+ int index = contacts_svc_value_get_int(row_info, CTS_LIST_EMAIL_CONTACT_ID_INT);
+
+ contacts_list_item->index = index;
+#ifndef _NEW_CT_SVC_API
+ contacts_list_item->first_name = g_strdup(contacts_svc_value_get_str(row_info, CTS_LIST_EMAIL_CONTACT_FIRST_STR));
+ contacts_list_item->last_name = g_strdup(contacts_svc_value_get_str(row_info, CTS_LIST_EMAIL_CONTACT_LAST_STR));
+#else
+ contacts_list_item->display = g_strdup(contacts_svc_value_get_str(row_info, CTS_LIST_EMAIL_CONTACT_DISPLAY_STR));
+#endif
+ contacts_list_item->email_address = g_strdup(contacts_svc_value_get_str(row_info, CTS_LIST_EMAIL_ADDR_STR));
+
+#ifndef _NEW_CT_SVC_API
+ char *first = contacts_list_item->first_name;
+ char *last = contacts_list_item->last_name;
+ char *display = g_strdup(contacts_svc_value_get_str(row_info, CTS_LIST_EMAIL_CONTACT_DISPLAY_STR));
+
+ if (!display) {
+ if (first != NULL && last != NULL) {
+ if (CTS_ORDER_NAME_FIRSTLAST == contacts_svc_get_order(CTS_ORDER_OF_DISPLAY)) {
+ display = g_strconcat(first, " ", last, NULL);
+ } else {
+ display = g_strconcat(last, " ", first, NULL);
+ }
+ } else if (first != NULL || last != NULL) {
+ display = (first != NULL) ? g_strdup(first) : g_strdup(last);
+ } else {
+ display = g_strdup(" ");
+ }
+ }
+
+ snprintf(contacts_list_item->display_name, sizeof(contacts_list_item->display_name), "%s", display);
+ g_free(display);
+#else
+ snprintf(contacts_list_item->display_name, sizeof(contacts_list_item->display_name), "%s", contacts_list_item->display);
+#endif
+
+ }
+
+ contacts_svc_value_free(row_info);
+ row_info = NULL;
+
+ contacts_svc_iter_remove(iter);
+ }
+
+ contacts_svc_disconnect();
+
+ return contacts_list_item;
+}
+
+static void _set_value_down_progress(double val)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+ char buf[30] = { 0, };
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ sprintf(buf, "%s: %d", dgettext("sys_string", "IDS_COM_POP_DOWNLOADING"), (int)val);
+
+ if (ug_data->pb_notify_lb) {
+ elm_progressbar_value_set(ug_data->pb_notify_lb, val);
+ elm_object_text_set(ug_data->pb_notify_lb, buf);
+ }
+}
+
+static void _set_value_down_progress_by_index(double val, int index)
+{
+ debug_log("");
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ EmailViewerProp *prop = ug_data->property;
+
+ if (val < 0.0) {
+ debug_log("val(%f) is MINUS");
+ return;
+ }
+
+ if (index < 0 || index >= ATTACH_MAX) {
+ debug_log("index(%d) is overflowed");
+ return;
+ }
+
+ if (prop == NULL) {
+ debug_log("prop is NULL");
+ return;
+ }
+
+ if (prop->attachments == NULL) {
+ debug_log("attachments is NULL");
+ return;
+ }
+
+ int per = val * 100;
+ int attach_index = _get_attachment_info_index(ug_data, index);
+ EmailAttachmentType *info = g_list_nth_data(prop->attachments, attach_index);
+
+ if (info == NULL) {
+ debug_log("info is NULL");
+ }
+
+ if (ug_data->progress_bar[index] == NULL) {
+ debug_log("obj is NULL");
+ return;
+ }
+
+ char *pszTemp = NULL;
+ pszTemp = (char *)elm_object_style_get(ug_data->progress_bar[index]);
+
+ if (STR_INVALID(pszTemp))
+ return;
+
+ if (g_strcmp0(pszTemp, "pending_list") == 0) {
+ debug_log("pending_list so return");
+ return;
+ }
+
+ elm_progressbar_value_set(ug_data->progress_bar[index], val);
+
+ if (ug_data->progress_bar_ly[index] != NULL) {
+ char buf[30] = { 0, };
+ snprintf(buf, sizeof(buf), "%d%%", per);
+
+ Evas_Object *downloading_label2;
+ downloading_label2 = elm_label_add(ug_data->progress_bar_ly[index]);
+ elm_object_part_content_set(ug_data->progress_bar_ly[index], "elm.text.2", downloading_label2);
+ char *buf_tagged = g_strconcat("<font_size=26><align=left><color=#646464FF>", buf, "</align></font_size>", NULL);
+ elm_object_text_set(downloading_label2, buf_tagged);
+ g_free(buf_tagged);
+ }
+}
+
+static void _cancel_download_attachment(EmailViewerUGD *ug_data)
+{
+ debug_log("");
+ int i = 0;
+ gboolean is_cancel = FALSE;
+
+ if (!_g_ug_data) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerPrivate *priv = ug_data->email_data;
+ EmailViewerProp *prop = ug_data->property;
+
+ if (priv && priv->download_all_cnt <= 0) {
+ debug_log("No attachment download to be cancelled!");
+ return;
+ }
+
+ for (i = 0; i <= prop->att_len; i++) {
+ if (ug_data->progress_bar_ly[i]) {
+ Evas_Object *btn = elm_object_part_content_get(ug_data->progress_bar_ly[i], "elm.icon.1");
+ debug_log("Cancel btn for downloading attachment: %p", btn);
+ if (btn) {
+ evas_object_smart_callback_call(btn, "clicked", NULL);
+ is_cancel = TRUE;
+ }
+ }
+ }
+
+ if (is_cancel == TRUE && ug_data->ug_composer == NULL) {
+ _create_notify(ug_data, dgettext("sys_string", "IDS_COM_POP_WARNING"), _("IDS_EMAIL_POP_CANCELLING_ATTACHMENT_DOWNLOAD_ING"),
+ 1, dgettext("sys_string", "IDS_COM_SK_OK"), _popup_response_cb,
+ NULL, NULL, NULL);
+ }
+}
+
+static char *_get_service_fail_type(int type)
+{
+ debug_log("");
+
+ char *ret = NULL;
+ char str[MAX_STR_LEN] = { 0, };
+
+ if (type == -174) {
+ snprintf(str, sizeof(str), "%s: %s", _("IDS_EMAIL_POP_FAILED_TO_ACTIVATE_PDP"), N_("IP full"));
+ return g_strdup(str);
+ } else if (type == -176) {
+ ret = _("IDS_EMAIL_POP_NO_SERVICE");
+ return g_strdup(ret);
+ } else if (type == -181) {
+ snprintf(str, sizeof(str), "%s: %s", _("IDS_EMAIL_POP_FAILED_TO_ACTIVATE_PDP"), N_("Transport Error"));
+ return g_strdup(str);
+ } else if (type == EMAIL_ERROR_NETWORK_TOO_BUSY) {
+ ret = _("IDS_EMAIL_POP_NETWORK_BUSY");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_LOGIN_ALLOWED_EVERY_15_MINS) {
+ snprintf(str, sizeof(str), _("IDS_EMAIL_POP_YOU_CAN_ONLY_LOG_IN_ONCE_EVERY_PD_MINUTES"), 15);
+ return g_strdup(str);
+ } else if (type == EMAIL_ERROR_CONNECTION_FAILURE) {
+ ret = dgettext("sys_string", "IDS_COM_POP_CONNECTION_FAILED");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_LOGIN_FAILURE) {
+ ret = _("IDS_EMAIL_POP_LOG_IN_FAILED");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_AUTHENTICATE) {
+ ret = _("IDS_EMAIL_POP_AUTHENTICATION_FAILED");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_CANCELLED) {
+ ret = _("IDS_EMAIL_POP_DOWNLOAD_CANCELLED");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_MAIL_NOT_FOUND_ON_SERVER) {
+ ret = _("IDS_EMAIL_POP_EMAIL_DELETED_FROM_SERVER");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_NO_SUCH_HOST) {
+ ret = _("IDS_EMAIL_POP_HOST_NOT_FOUND");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_INVALID_SERVER) {
+ ret = _("IDS_EMAIL_POP_SERVER_NOT_AVAILABLE");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_MAIL_MEMORY_FULL) {
+ ret = _("IDS_EMAIL_POP_DEVICE_STORAGE_FULL");
+ return g_strdup(ret);
+ } else if (type == EMAIL_ERROR_FAILED_BY_SECURITY_POLICY) {
+ ret = _("IDS_EMAIL_POP_DOWNLOADING_ATTACHMENTS_ON_THE_MOBILE_DEVICE_IS_NOT_ALLOWED_BY_EXCHANGE_SERVER_POLICY");
+ return g_strdup(ret);
+ } else {
+ snprintf(str, sizeof(str), "%s (%d)", dgettext("sys_string", "IDS_COM_POP_INTERNAL_ERROR"), type);
+ return g_strdup(str);
+ }
+}
+
+static Evas_Object *_load_edj(Evas_Object *parent, const char *file, const char *group)
+{
+ debug_log("");
+ Evas_Object *eo;
+ int r;
+
+ eo = elm_layout_add(parent);
+ if (eo) {
+ r = elm_layout_file_set(eo, file, group);
+ if (!r) {
+ evas_object_del(eo);
+ return NULL;
+ }
+
+ evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ }
+
+ return eo;
+}
+
+/* genlist cb */
+static Eina_Bool _gl_state_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ return EINA_FALSE;
+}
+
+static void _gl_del(void *data, Evas_Object *obj)
+{
+ debug_log("");
+
+ if (_g_ug_data == NULL) {
+ debug_log("ug_data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ if (ug_data->move_mailbox_list) {
+ email_free_mailbox(&ug_data->move_mailbox_list, ug_data->move_mailbox_count);
+ ug_data->move_mailbox_list = NULL;
+ ug_data->move_mailbox_count = 0;
+ }
+
+ return;
+}
+
+static char *_gl_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ email_mailbox_t *mailbox_list = NULL;
+ mailbox_list = (email_mailbox_t *) data;
+
+ if (g_strcmp0(part, "elm.text") == 0) {
+ char buf[MAX_STR_LEN] = { 0, };
+ if (mailbox_list && mailbox_list->alias) {
+ snprintf(buf, sizeof(buf), "%s", mailbox_list->alias);
+ return g_strdup(buf);
+ }
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_gl_content_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+
+ if (g_strcmp0(part, "elm.icon") == 0) {
+ Evas_Object *icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, IMGDIR "/U01_icon_folder.png", NULL);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+
+ return icon;
+ }
+
+ return NULL;
+}
+
+static void _gl_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ email_mailbox_t *mailbox_list = NULL;
+ mailbox_list = (email_mailbox_t *) data;
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ Elm_Object_Item *git = NULL;
+ Evas_Object *gl = elm_genlist_add(ug_data->navi_bar);
+ evas_object_show(gl);
+
+ git = elm_genlist_item_append(gl, &(ug_data->itc3), NULL, NULL, ELM_GENLIST_ITEM_GROUP, NULL, NULL);
+ elm_genlist_item_select_mode_set(git, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+ elm_genlist_item_append(gl, &ug_data->itc2, NULL, git, ELM_GENLIST_ITEM_NONE, _gl_sub_upper_sel, NULL);
+
+ Evas_Object *cbar = elm_toolbar_add(ug_data->navi_bar);
+ elm_toolbar_shrink_mode_set(cbar, ELM_TOOLBAR_SHRINK_EXPAND);
+ elm_object_style_set(cbar, "naviframe");
+ evas_object_show(cbar);
+
+ elm_toolbar_item_append(cbar, NULL, _("IDS_EMAIL_SK3_MOVE_HERE"), _move_here_cb, mailbox_list);
+ elm_object_item_disabled_set(elm_toolbar_item_append(cbar, NULL, "", NULL, NULL), EINA_TRUE);
+
+ Elm_Object_Item *navi_it = NULL;
+ navi_it = elm_naviframe_item_push(ug_data->navi_bar, dgettext("sys_string", "IDS_COM_BODY_MOVE"), NULL, NULL, gl, NULL);
+ elm_object_item_part_content_set(navi_it, "controlbar", cbar);
+ ug_data->navi_move_it2 = navi_it;
+
+ Evas_Object *move_back_btn = NULL;
+ if (ug_data->isRotate) {
+ elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE);
+ move_back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
+ if (move_back_btn) {
+ evas_object_del(move_back_btn);
+ elm_object_item_part_content_set(navi_it, "prev_btn", NULL);
+ }
+ } else {
+ move_back_btn = elm_object_item_part_content_get(navi_it, "prev_btn");
+ if (move_back_btn) {
+ evas_object_del(move_back_btn);
+ move_back_btn = elm_button_add(ug_data->navi_bar);
+ elm_object_style_set(move_back_btn, "naviframe/back_btn/default");
+ evas_object_smart_callback_add(move_back_btn, "clicked", _move_back_cb2, ug_data);
+ elm_object_item_part_content_set(navi_it, "prev_btn", move_back_btn);
+ }
+ }
+ return;
+}
+
+static char *_gl_sub_upper_text_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+ email_mailbox_t *mailbox_list = NULL;
+ mailbox_list = (email_mailbox_t *) data;
+
+ if (g_strcmp0(part, "elm.text") == 0) {
+ char buf[MAX_STR_LEN] = { 0, };
+ snprintf(buf, sizeof(buf), "%s", _("IDS_EMAIL_MBODY_MAILBOX_LIST"));
+ return g_strdup(buf);
+ }
+
+ return NULL;
+}
+
+static Evas_Object *_gl_sub_upper_icon_get(void *data, Evas_Object *obj, const char *part)
+{
+ debug_log("");
+
+ if (g_strcmp0(part, "elm.icon") == 0) {
+ Evas_Object *icon = elm_icon_add(obj);
+ elm_icon_file_set(icon, IMGDIR "/U01_icon_upper_folder_focus.png", NULL);
+ evas_object_size_hint_aspect_set(icon, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
+
+ return icon;
+ }
+
+ return NULL;
+}
+
+static void _gl_sub_upper_sel(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+
+ Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+ elm_genlist_item_selected_set(item, EINA_FALSE);
+
+ ug_data->navi_move_it2 = NULL;
+ elm_naviframe_item_pop(ug_data->navi_bar);
+
+ return;
+}
+
+static void _move_here_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (data == NULL || _g_ug_data == NULL) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ email_mailbox_t *mailbox_list = NULL;
+ mailbox_list = (email_mailbox_t *) data;
+
+ EmailViewerUGD *ug_data = _g_ug_data;
+ int folder_id = mailbox_list->mailbox_id;
+
+ _move_email(ug_data, folder_id, FALSE);
+
+ ug_data->navi_move_it1 = NULL;
+ ug_data->navi_move_it2 = NULL;
+ elm_naviframe_item_pop_to(ug_data->navi_main_it);
+
+ if (ug_data->isRotate == false && ug_data->b_internal) {
+ /* Viewer to hide, so set left content (mailbox) size to full */
+ _notify_mailbox_size(ug_data, "MAILBOX_RESIZE_FULL");
+ }
+
+ if (ug_data->b_internal) {
+ _hide_view(ug_data);
+
+ /* send next or previous mail request to mailbox. */
+ int ret;
+ service_h service = NULL;
+
+ ret = service_create(&service);
+ debug_log("service_create: %d", ret);
+ if (!service) {
+ debug_log("service create failed");
+ return;
+ }
+
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_MSG, EMAIL_BUNDLE_VAL_NEXT_MSG);
+ debug_log("service_add_extra_data: %d", ret);
+ ret = service_add_extra_data(service, EMAIL_BUNDLE_KEY_DO_DELETE, "1");
+ debug_log("service_add_extra_data: %d", ret);
+
+ ug_send_message(_g_mailbox_ug, service);
+
+ ret = service_destroy(service);
+ debug_log("service_destroy: %d", ret);
+ } else {
+ ug_destroy_me(ug_data->ug);
+ }
+}
+
+static void _move_back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (data == NULL || _g_ug_data == NULL) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ elm_naviframe_item_pop(ug_data->navi_bar);
+ ug_data->navi_move_it1 = NULL;
+ ug_data->navi_move_it2 = NULL;
+
+ /*if (ug_data->b_internal)
+ elm_layout_theme_set(ug_data->layout_main, "layout", "controlbar", "default");
+ else
+ elm_layout_theme_set(ug_data->layout_main, "layout", "application", "controlbar");*/
+}
+
+static void _move_back_cb2(void *data, Evas_Object *obj, void *event_info)
+{
+ debug_log("");
+
+ if (data == NULL || _g_ug_data == NULL) {
+ debug_log("data is NULL");
+ return;
+ }
+
+ EmailViewerUGD *ug_data = (EmailViewerUGD *)data;
+
+ elm_naviframe_item_pop(ug_data->navi_bar);
+ ug_data->navi_move_it2 = NULL;
+}
+
+/* EOF */
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><STYLE type="text/css"> body {background-color: #f6f5ed; font-size: 16px; margin-left: 18px; margin-right: 18px; margin-top: 8px; margin-bottom: 8px;} p {font-size: 16px;} table {font-size: 16px;} </STYLE></head><body></body></html>
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define ELM_SCALE 1.0
+#define SCALE(x) (x/ELM_SCALE)
+
+#define GENLIST_PART_BG_COLOR_INC 239 239 239 255
+#define GENLIST_PART_BG_SELECTED_COLOR_INC 199 185 164 0
+#define GENLIST_PART_SELECT_ALL_BG_COLOR_INC 239 237 230 255
+#define GENLIST_PART_TEXT_COLOR_INC 0 0 0 255
+#define GENLIST_PART_TEXT_SELECTED_COLOR_INC 255 255 255 255
+#define GENLIST_PART_SUB_TEXT_COLOR_INC 108 108 108 255
+#define GENLIST_PART_BOTTOM_LINE_INC 199 199 199 255
+#define GENLIST_GROUP_PART_TEXT_COLOR_INC 108 108 108 255
+#define GENLIST_GROUP_PART_BASE_EVENT_INC \
+ part { name: "base_event"; \
+ type: RECT; \
+ repeat_events: 0; \
+ description { state: "default" 0.0; \
+ color: 0 0 0 0; \
+ } \
+ }
+#define GENLIST_GROUP_PART_BASE_IMAGE_INC \
+ part { name: "base_image"; \
+ repeat_events: 1; \
+ description { state: "default" 0.0; \
+ rel1.to: "rect"; \
+ rel2.to: "rect"; \
+ image {\
+ normal: "01_list_group_title_bg.png"; \
+ } \
+ } \
+ }
+#define GENLIST_GROUP_BG_COLOR_DEFAULT_INC 0 0 0 0
+#define GENLIST_GROUP_BG_COLOR_ALPHA_OFF_INC 0 0 0 0
+//color: 190 186 171 200;
+//color: 190 186 171 255;
+#define GENLIST_GROUP_LEFT_BG_COLOR_INC 210 206 191 255
+#define GENLIST_EDIT_PART_LINE_INC 187 187 187 150
+#define GENLIST_EDIT_BG_COLOR_INC 234 230 217 255
+#define GENLIST_EXPANDABLE_PART_BG_COLOR_INC GENLIST_PART_BG_COLOR_INC
+#define GENLIST_EXPANDABLE2_PART_BG_COLOR_INC 242 238 233 255
+#define GENLIST_EXPANDABLE3_PART_BG_COLOR_INC 218 212 205 255
+#define GENLIST_EXPANDABLE2_NOSHADOW_BG_COLOR_INC 242 238 233 255
+#define GENLIST_EXPANDABLE_PART_BG_IMAGE_INC \
+ part { name: "bg_image"; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ image { \
+ normal: "00_list_expandable_bg.png"; \
+ border: 0 0 12 6; \
+ border_scale: 1; \
+ } \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "00_list_bar_press_1x80.png"; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+#define GENLIST_PART_BG_EXPANDABLE3_IMAGE_INC \
+ part { name: "bg_image"; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ image { \
+ normal: "00_list_expandable_2_bg.png"; \
+ border: 0 0 12 6; \
+ border_scale: 1; \
+ } \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "00_list_bar_press_1x80.png"; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+#define GENLIST_EXPANDABLE3_PART_BG_IMAGE_INC \
+ part { name: "bg_image"; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ image { \
+ normal: "00_list_expandable_2_bg.png"; \
+ border: 0 0 12 6; \
+ border_scale: 1; \
+ } \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "00_list_bar_press_1x80.png"; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+#define GENLIST_EXPANDABLE3_NOSHADOW_PART_BG_IMAGE_INC \
+ part { name: "bg_image"; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ image { \
+ normal: "00_list_expandable_2_noshadow_bg.png"; \
+ border: 0 0 0 6; \
+ border_scale: 1; \
+ } \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ image.normal: "00_list_bar_press_1x80.png"; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define BEAT_GENLIST_PART_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: GENLIST_PART_BG_COLOR_INC; \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ color: 42 137 194 255; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_BASE2( param_item_height, param_item_color ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: param_item_color; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_BG \
+ part { name: "bg"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ color: GENLIST_PART_BG_COLOR_INC; \
+ } \
+ description { state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ rel1 { relative: 0.025 0.0; } \
+ rel2 { relative: 1.025 1.0; } \
+ } \
+ description { state: "hide" 0.1; \
+ inherit: "default" 0.0; \
+ rel1 { relative: 0.13 0.0; } \
+ rel2 { relative: 1.13 1.0; } \
+ } \
+ description { state: "hide" 0.2; \
+ inherit: "default" 0.0; \
+ rel1 { relative: 0.5 0.0; } \
+ rel2 { relative: 1.5 1.0; } \
+ } \
+ description { state: "hide" 0.3; \
+ inherit: "default" 0.0; \
+ rel1 { relative: 1.0 0.0; } \
+ rel2 { relative: 2.0 1.0; } \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_BG_IMAGE \
+ part { name: "bg_image"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ visible: 0; \
+ color: GENLIST_PART_BG_SELECTED_COLOR_INC; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 1; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_BOTTOM_LINE \
+ part { name: "bottom_line"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ min: 0 1; \
+ fixed: 0 1; \
+ visible: 1; \
+ color: GENLIST_PART_BOTTOM_LINE_INC; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ offset: 0 -1; \
+ } \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_BOTTOM_EFFECT_LINE \
+ part { name: "bottom_line"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ min: 0 1; \
+ fixed: 0 1; \
+ visible: 1; \
+ color: GENLIST_PART_BOTTOM_LINE_INC; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ offset: 0 -1; \
+ } \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define BEAT_GENLIST_PART_PADDING_TOP( param_padding_size ) \
+ part { name: "elm.padding.top"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_PADDING_TEXT_TOP( param_padding_size ) \
+ part { name: "elm.padding.text.top"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_PADDING_BOTTOM( param_padding_size ) \
+ part { name: "elm.padding.bottom"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_padding_size; \
+ fixed: 0 1; \
+ visible: 0; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.0 1.0; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_PADDING_LEFT( param_padding_size ) \
+ part { name: "elm.padding.left"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_PADDING_RIGHT( param_padding_size ) \
+ part { name: "elm.padding.right"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.0; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_DIALOGUE_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: 242 238 233 255; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_DIALOGUE_PADDING_RIGHT( param_padding_size ) \
+ part { name: "elm.padding.right"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.0; \
+ } \
+ description { state: "editing" 0.0; \
+ inherit: "default" 0.0; \
+ min: 56 0; \
+ visible: 1; \
+ color: 242 238 233 255; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_DIALOGUE_ITEM \
+ part { name: "elm.rect.dialogue"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 10 0; \
+ fixed: 1 0; \
+ color: 199 199 199 255; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_SWALLOW_END( param_padding_size ) \
+ part { name: "elm.padding.left.swallow.end"; \
+ clip_to: "disclip"; \
+ type: RECT; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel1.to_x: "elm.swallow.end"; \
+ rel2 { \
+ relative: 0.0 1.0; \
+ to_x: "elm.swallow.end"; \
+ } \
+ align: 1.0 0.5; \
+ } \
+ } \
+ part { name: "elm.swallow.end"; \
+ clip_to: "disclip"; \
+ type: SWALLOW; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ align: 1.0 0.5; \
+ rel1.to_x: "elm.padding.right"; \
+ rel2 {\
+ relative: 0.0 1.0; \
+ to_x: "elm.padding.right"; \
+ } \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_DISCLIP \
+ part { name: "disclip"; \
+ type: RECT; \
+ description { state: "default" 0.0; \
+ } \
+ description { state: "disabled" 0.0; \
+ inherit: "default" 0.0; \
+ color: 255 255 255 64; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_LIST_PICKER_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: 71 61 53 255; \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_LIST_PICKER_BOTTOM_LINE \
+ part { name: "bottom_line"; \
+ type: RECT; \
+ clip_to: "disclip"; \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ min: 0 1; \
+ fixed: 0 1; \
+ visible: 1; \
+ color: 104 97 92 255; \
+ rel1 { \
+ relative: 0.0 1.0; \
+ offset: 0 -1; \
+ } \
+ } \
+ }
+
+#define GENLIST_EXPANDABLE_PART_PERSPECTIVE_POINT() \
+ part { name: "point"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ color: 0 0 0 0; \
+ rel1 { relative: 0.0 0.0; } \
+ rel2 { relative: 1.0 0.0; } \
+ } \
+ }
+
+#define BEAT_GENLIST_PART_MAP_START( param_x, param_y, param_z ) \
+ description { state: "map_transition" 0.0; \
+ inherit: "default" 0.0; \
+ map { \
+ perspective: "point"; \
+ on: 1; \
+ smooth: 1; \
+ perspective_on: 1; \
+ backface_cull: 1; \
+ rotation { \
+ center: "point"; \
+ x: param_x; \
+ y: param_y; \
+ z: param_z; \
+ } \
+ } \
+ } \
+ description { \
+ state: "hide" 0.0; \
+ inherit: "default" 0.0; \
+ visible: 0; \
+ }
+
+#define BEAT_GENLIST_PART_MAP_FINISH( param_x, param_y, param_z ) \
+ description { \
+ state: "map_rotate" 0.0; \
+ inherit: "default" 0.0; \
+ map { \
+ perspective: "point"; \
+ on: 1; \
+ smooth: 1; \
+ perspective_on: 1; \
+ backface_cull: 1; \
+ rotation { \
+ center: "point"; \
+ x: param_x; \
+ y: param_y; \
+ z: param_z; \
+ } \
+ } \
+ } \
+
+#define BEAT_GENLIST_PART_MAP_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: GENLIST_PART_BG_COLOR_INC; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define GENLIST_EXPANDABLE_PART_BASE( GE_HEIGHT, GE_COLOR ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 GE_HEIGHT; \
+ color: GE_COLOR; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ color: GENLIST_PART_BG_SELECTED_COLOR_INC; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define BEAT_GENLIST_PROGRAM_MAP_ROTATE_START() \
+ name: "rotaion_transition"; \
+ signal: "flip_item"; \
+ action: STATE_SET "map_transition" 0.0; \
+ after: "rotation";
+
+#define BEAT_GENLIST_PROGRAM_MAP_ROTATE_FINISH( second ) \
+ name: "rotation"; \
+ action: STATE_SET "map_rotate" 0.0; \
+ transition: LINEAR second; \
+ after: "rotation_end";
+
+#define BEAT_GENLIST_PROGRAM_MAP_END() \
+ name: "rotation_end"; \
+ action: STATE_SET "default" 0.0;
+
+#define BEAT_GENLIST_PROGRAM_MAP_ROTATE_START2() \
+ name: "rotaion_transition2"; \
+ signal: "elm,state,contract_flip"; \
+ action: STATE_SET "map_rotate" 0.0; \
+ after: "rotation2";
+
+#define BEAT_GENLIST_PROGRAM_MAP_ROTATE_FINISH2( second ) \
+ name: "rotation2"; \
+ action: STATE_SET "map_transition" 0.0; \
+ transition: LINEAR second; \
+ after: "rotation3";
+
+#define BEAT_GENLIST_PROGRAM_MAP_END2() \
+ name: "rotation3"; \
+ action: STATE_SET "hide" 0.0;
+
+#define BEAT_GENLIST_PART_EXPANDABLE2_NOSHADOW_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 1; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: GENLIST_EXPANDABLE2_NOSHADOW_BG_COLOR_INC; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ }
+
+#define BEAT_GENLIST_PART_EXPANDABLE_SWALLOW_PADDING \
+ part { name: "elm.swallow.pad"; \
+ type: SWALLOW; \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ align: 0.0 0.5; \
+ rel1 { \
+ relative: 1.0 0.0; \
+ to_x: "elm.padding.left"; \
+ } \
+ rel2.to_x: "elm.padding.left"; \
+ } \
+ BEAT_GENLIST_PART_MAP_START(-90.0, 0.0, 0.0) \
+ BEAT_GENLIST_PART_MAP_FINISH(0.0, 0.0, 0.0) \
+ } \
+
+#define BEAT_GENLIST_PART_PADDING_LEFT_SLIDE( param_padding_size ) \
+ part { name: "elm.padding.left"; \
+ type: RECT; \
+ scale: 1; \
+ description { \
+ state: "default" 0.0; \
+ min: param_padding_size 0; \
+ fixed: 1 0; \
+ visible: 0; \
+ rel1 { relative: 0.0 0.0; to: "bg"; } \
+ rel2 { relative: 0.0 1.0; to: "bg"; } \
+ align: 0.0 0.0; \
+ } \
+ }
+
+/* only for demo */
+#define BEAT_GENLIST_PART_BUTTON( param_name, param_text_name, param_text, param_left, param_right, param_top, param_bottom ) \
+ part { name: param_name; \
+ mouse_events: 1; \
+ description { state: "default" 0.0; \
+ visible: 1; \
+ rel1 { relative: param_left param_top; offset: 0 0; } \
+ rel2 { relative: param_right param_bottom; offset: -1 -1; } \
+ image { \
+ normal: "btn_normal.png"; \
+ border: 10 10 10 10; \
+ border_scale: 1; \
+ } \
+ image.middle: SOLID; \
+ fill.smooth: 0; \
+ } \
+ description { state: "selected" 0.0; \
+ inherit: "default" 0.0; \
+ image { \
+ normal: "btn_selected.png"; \
+ } \
+ } \
+ } \
+ part { name: param_text_name; \
+ type: TEXT; \
+ mouse_events: 0; \
+ scale: 1; \
+ description { \
+ align: 0.0 0.0; \
+ state: "default" 0.0; \
+ color: 0 0 0 255; \
+ rel1 { relative: 0.0 0.0; to: param_name; } \
+ rel2 { relative: 1.0 1.0; to: param_name; } \
+ text { \
+ text: param_text; \
+ font: "SLP:style=Roman"; \
+ size: 24; \
+ min: 1 1; \
+ align: 0.5 0.5; \
+ } \
+ } \
+ }
+
+/* only for demo */
+#define BEAT_GENLIST_PROGRAM_BUTTON( param_name_focused, param_name_normal, param_part_name ) \
+ program { name: param_name_focused; \
+ source: param_part_name; \
+ signal: "mouse,down,1"; \
+ action: STATE_SET "selected" 0.0; \
+ target: param_part_name; \
+ } \
+ program { name: param_name_normal; \
+ source: param_part_name; \
+ signal: "mouse,up,1"; \
+ action: STATE_SET "default" 0.0; \
+ target: param_part_name; \
+ }
+
+#define BEAT_GENLIST_PROGRAM_SLIDE_WITH_AFTER( param_name, param_state, param_next ) \
+ program { name: param_name; \
+ action: STATE_SET "hide" param_state; \
+ target: "bg"; \
+ transition: LINEAR 0.3; \
+ after: param_next; \
+ }
+
+#define BEAT_GENLIST_PROGRAM_SLIDE( param_name, param_state_name, param_state_value ) \
+ program { name: param_name; \
+ action: STATE_SET param_state_name param_state_value; \
+ target: "bg"; \
+ transition: LINEAR 0.3; \
+ }
+
+#define DESC_FLIP_IMAGE( param_state_value, param_image_file_name ) \
+ description { state: "flipping" param_state_value; \
+ inherit: "default" 0.0; \
+ image { normal: param_image_file_name; } \
+ }
+
+#define DESC_TEXT_HIDE( param_state_value ) \
+ description { state: "hide" param_state_value; \
+ inherit: "default" 0.0; \
+ color: 0 0 0 (255*(1-param_state_value/0.20)); \
+ }
+
+#define BEAT_GENLIST_EDIT_PART_BASE( param_item_height ) \
+ part { name: "base"; \
+ type: RECT; \
+ repeat_events: 0; \
+ scale: 1; \
+ description { state: "default" 0.0; \
+ min: 0 param_item_height; \
+ color: 0 0 0 0; \
+ } \
+ }
--- /dev/null
+/*
+ * Copyright 2012 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.tizenopensource.org/license
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "email-viewer-theme-macro.edc"
+
+collections {
+//#include "email-viewer-button.edc"
+
+ group {
+ name: "layout.email.web_view";
+
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ //color: 246 245 237 255;
+ color: 255 255 255 255;
+ }
+ }
+
+ part {
+ name: "web_body";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 0;
+ aspect: 0.0 0.0;
+ aspect_preference: VERTICAL;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ }
+ }
+ }
+ }
+
+ group {
+ name: "layout.email.no_content";
+
+ data.item: "stacking" "above";
+ data.item: "selectraise" "on";
+
+ parts {
+ part {
+ name: "bg";
+ type: RECT;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0;}
+ rel2 { relative: 1.0 1.0;}
+ color: 239 239 239 255;
+ }
+ }
+
+ part {
+ name: "btn";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 0;
+ //rel1 { relative: 0.05 0.85; }
+ //rel2 { relative: 0.95 0.95; }
+ rel1 { relative: 0.05 0.05; }
+ rel2 { relative: 0.95 0.1; }
+ }
+ }
+/*
+ part {
+ name: "noc";
+ type: SWALLOW;
+ scale: 1;
+ mouse_events: 1;
+ description {
+ state: "default" 0.0;
+ align: 0.5 0.0;
+ fixed: 0 0;
+ //rel1 { relative: 0.0 0.0; }
+ //rel2 { relative: 1.0 0.8; }
+ rel1 { relative: 0.0 0.25; }
+ rel2 { relative: 1.0 1.0; }
+ }
+ }
+*/
+ }
+ }
+
+ group { name: "layout.email.partial_download_btn";
+ parts {
+ part { name: "bg";
+ type: RECT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SCALE(80.0);
+ color: 239 239 239 255;
+ }
+ }
+ part { name: "button";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1.relative: 15/450 1/5;
+ rel2.relative: 435/450 4/5;
+ }
+ }
+ }
+ }
+
+ group
+ {
+ name: "layout.email.meeting_req_btn";
+
+ parts
+ {
+ part
+ {
+ name: "rect";
+ type: RECT;
+ mouse_events: 0;
+
+ description
+ {
+ min: 0 SCALE(60.0);
+ state: "default" 0.0;
+ color: 0 0 0 0;
+ }
+ }
+
+ part
+ {
+ name: "swl_accept_btn";
+ type: SWALLOW;
+ mouse_events: 1;
+
+ description
+ {
+ state: "default" 0.0;
+
+ rel1
+ {
+ to: "rect";
+ relative: 0.01 0.0;
+ }
+ rel2
+ {
+ to: "rect";
+ relative: 0.33 1.0;
+ }
+ }
+ }
+
+ part
+ {
+ name: "swl_tentative_btn";
+ type: SWALLOW;
+ mouse_events: 1;
+
+ description
+ {
+ state: "default" 0.0;
+
+ rel1
+ {
+ to: "rect";
+ relative: 0.33 0.0;
+ }
+ rel2
+ {
+ to: "rect";
+ relative: 0.66 1.0;
+ }
+ }
+ }
+
+ part
+ {
+ name: "swl_decline_btn";
+ type: SWALLOW;
+ mouse_events: 1;
+
+ description
+ {
+ state: "default" 0.0;
+
+ rel1
+ {
+ to: "rect";
+ relative: 0.66 0.0;
+ }
+ rel2
+ {
+ to: "rect";
+ relative: 0.99 1.0;
+ }
+ }
+ }
+ }
+ }
+
+ group {
+ name: "layout.email.detail_subject";
+
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ image: "M02_button_expand_closed.png" COMP;
+ image: "M02_button_expand_closed_press.png" COMP;
+ image: "M02_button_expand_opened.png" COMP;
+ image: "M02_button_expand_opened_press.png" COMP;
+ image: "M02_inbox_top_line.png" COMP;
+ image: "M02_button_expand.png" COMP;
+ image: "M02_button_expand_press.png" COMP;
+ }
+
+ parts
+ {
+ BEAT_GENLIST_PART_BASE( SCALE(160.0) )
+ BEAT_GENLIST_PART_BG_IMAGE
+ BEAT_GENLIST_PART_BOTTOM_LINE
+ BEAT_GENLIST_PART_PADDING_TOP( SCALE(26.0) )
+ BEAT_GENLIST_PART_PADDING_BOTTOM( SCALE(10.0) )
+ BEAT_GENLIST_PART_PADDING_LEFT( SCALE(16.0) )
+ BEAT_GENLIST_PART_PADDING_RIGHT( SCALE(16.0) )
+
+ part
+ {
+ name: "elm.topline";
+ clip_to: "disclip";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SCALE(10.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.padding.top";
+ }
+ rel2 {
+ relative: 1.0 0.0;
+ offset: 0 SCALE(10.0);
+ to: "elm.padding.top";
+ }
+ image.normal: "M02_inbox_top_line.png";
+ }
+ }
+
+ part
+ {
+ name: "elm.text";
+ clip_to: "disclip";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SCALE(40.0);
+ fixed: 0 1;
+ align: 0 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: -1*SCALE(80.0) 0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.top";
+ }
+ color: 0 0 0 255;
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 225 225 225 255;
+ }
+ }
+
+ part
+ {
+ name: "elm.subbox";
+ clip_to: "disclip";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 SCALE(48.0);
+ fixed: 1 0;
+ visible: 0;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.left";
+ to_y: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.text.sub";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+
+ rel1 {
+ relative: 0.0 0.0;
+ to: "elm.subbox";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1*SCALE(160.0) 0;
+ to: "elm.subbox";
+ }
+
+ color: 100 100 100 255;
+ text {
+ font: "SLP:style=Regular";
+ size: SCALE(36.0);
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 225 225 225 255;
+ }
+ }
+
+ part
+ {
+ name: "elm.icon.attach";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SCALE(32.0) SCALE(32.0);
+ max: SCALE(32.0) SCALE(32.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -1*SCALE(152.0) SCALE(8.0);
+ to: "elm.subbox";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1*SCALE(120.0) -1*SCALE(8.0);
+ to: "elm.subbox";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.icon.sign";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SCALE(32.0) SCALE(32.0);
+ max: SCALE(32.0) SCALE(32.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -1*SCALE(152.0) SCALE(8.0);
+ to: "elm.subbox";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1*SCALE(120.0) -1*SCALE(8.0);
+ to: "elm.subbox";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.icon.encrypt";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SCALE(32.0) SCALE(32.0);
+ max: SCALE(32.0) SCALE(32.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -1*SCALE(112.0) SCALE(8.0);
+ to: "elm.subbox";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -1*SCALE(80.0) -1*SCALE(8.0);
+ to: "elm.subbox";
+ }
+ }
+ }
+
+ part
+ {
+ name: "touch_favorite";
+ type: RECT;
+ clip_to: "disclip";
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SCALE(64.0) SCALE(64.0);
+ max: SCALE(64.0) SCALE(64.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -1*SCALE(72.0) SCALE(8.0);
+ to: "elm.subbox";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 -1*SCALE(8.0);
+ to: "elm.subbox";
+ }
+ color: 0 0 0 0;
+ }
+ }
+
+ part
+ {
+ name: "elm.icon.favorite";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SCALE(64.0) SCALE(64.0);
+ max: SCALE(64.0) SCALE(64.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ visible: 1;
+
+ rel1 {
+ relative: 1.0 0.0;
+ offset: -1*SCALE(72.0) SCALE(8.0);
+ to: "elm.subbox";
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: 0 -1*SCALE(8.0);
+ to: "elm.subbox";
+ }
+ }
+ }
+
+ part
+ {
+ name: "touch_arrow";
+ type: RECT;
+ clip_to: "disclip";
+ ignore_flags: ON_HOLD;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: SCALE(74.0) SCALE(74.0);
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 1.0 1.0;
+ offset: 0 0;
+ to_x: "elm.text";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.right";
+ to_y: "elm.text";
+ }
+ color: 0 0 0 0;
+ }
+ }
+
+ part
+ {
+ name: "arrow";
+ clip_to: "disclip";
+ ignore_flags: ON_HOLD;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(64.0) SCALE(64.0);
+ max: SCALE(64.0) SCALE(64.0);
+ fixed: 1 1;
+ align: 0.5 0.5;
+ aspect: 1.0 1.0;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "touch_arrow";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "touch_arrow";
+ }
+ image.normal: "M02_button_expand_opened.png";
+ }
+ description {
+ state: "default" 1.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_opened_press.png";
+ }
+ description {
+ state: "active" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand.png";
+ }
+ description {
+ state: "hide" 0.0;
+ inherit: "default" 0.0;
+ visible: 0;
+ }
+ description {
+ state: "active" 1.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_press.png";
+ }
+ }
+
+ BEAT_GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program {
+ name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ }
+ program {
+ name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ transition: LINEAR 0.1;
+ }
+ program {
+ name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "toggle_favorite";
+ signal: "mouse,up,1";
+ source: "touch_favorite";
+ action: SIGNAL_EMIT "elm,action,toggle" "elm";
+ }
+ program {
+ name: "expand";
+ signal: "mouse,up,1";
+ source: "touch_arrow";
+ action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+ }
+ program {
+ name: "arrow_down";
+ signal: "mouse,down,1";
+ source: "touch_arrow";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"arrow", st, 30, vl)
+ if (vl == 0.0)
+ set_state(PART:"arrow", st, 1.0);
+ else
+ set_state(PART:"arrow", st, 0.0);
+ }
+ }
+ program {
+ name: "go_expanded";
+ signal: "elm,state,expanded";
+ source: "elm";
+ action: STATE_SET "active" 0.0;
+ target: "arrow";
+ }
+ program {
+ name: "go_contracted";
+ signal: "elm,state,contracted";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "arrow";
+ }
+ program
+ {
+ name: "hide_arrow";
+ signal: "elm,state,arrow_hidden";
+ source: "elm";
+ action: STATE_SET "hide" 0.0;
+ target: "arrow";
+ }
+ }
+ }
+
+ group {
+ name: "layout.email.to_cc";
+
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ }
+ parts
+ {
+ BEAT_GENLIST_PART_BASE( 0 )
+ BEAT_GENLIST_PART_BG_IMAGE
+ BEAT_GENLIST_PART_BOTTOM_LINE
+ BEAT_GENLIST_PART_PADDING_LEFT( 1 )
+ BEAT_GENLIST_PART_PADDING_RIGHT( 1 )
+ BEAT_GENLIST_PART_PADDING_TOP( 1 )
+ BEAT_GENLIST_PART_PADDING_BOTTOM( 1 )
+
+ part {
+ name: "elm.icon";
+ clip_to: "disclip";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description { state: "default" 0.0;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 1 1;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0 0;
+ to_x: "elm.padding.right";
+ to_y: "elm.padding.bottom";
+ }
+ }
+ }
+ BEAT_GENLIST_PART_DISCLIP
+ }
+ programs {
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ }
+ }
+
+ group {
+ name: "layout.email.attachment_downloading";
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ }
+
+ parts {
+
+ BEAT_GENLIST_PART_BASE( SCALE(120.0) )
+ BEAT_GENLIST_PART_BG_IMAGE
+ BEAT_GENLIST_PART_BOTTOM_LINE
+ BEAT_GENLIST_PART_PADDING_TOP( SCALE(5.0) )
+ BEAT_GENLIST_PART_PADDING_BOTTOM( SCALE(5.0) )
+ BEAT_GENLIST_PART_PADDING_LEFT( SCALE(10.0) )
+ BEAT_GENLIST_PART_PADDING_RIGHT( SCALE(10.0) )
+
+ part {
+ name: "elm.icon.1";
+ type: SWALLOW;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(160.0) SCALE(80.0);
+ max: SCALE(160.0) SCALE(80.0);
+ fixed: 1 1;
+ align: 1.0 0.5;
+ visible: 1;
+
+ rel1.to_x: "elm.padding.right";
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.right";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.padding.cancel.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(30.0) 0;
+ fixed: 1 1;
+ visible: 0;
+ rel1.to: "elm.icon.1";
+ rel2 {
+ relative: 0.0 1.0;
+ to: "elm.icon.1";
+ }
+ }
+ }
+
+ part { name: "elm.text.1";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 SCALE(20.0);
+ fixed: 0 1;
+ align: 0 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.cancel.left";
+ to_y: "elm.padding.top";
+ }
+ color: GENLIST_PART_TEXT_COLOR_INC;
+ /*text {
+ font: "SLP:style=Regular";
+ size: 18;
+ min: 0 1;
+ align: 0.0 0.5;
+ }*/
+ }
+ }
+
+ part { name: "elm.icon.2";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 SCALE(30.0);
+ fixed: 0 1;
+ align: 0 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.text.1";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.cancel.left";
+ to_y: "elm.padding.top";
+ }
+ }
+ }
+
+ part { name: "elm.text.2";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(235.0) SCALE(20.0);
+ max: SCALE(235.0) SCALE(20.0);
+ fixed: 1 1;
+ align: 0 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.icon.2";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.cancel.left";
+ to_y: "elm.padding.bottom";
+ }
+ color: GENLIST_PART_TEXT_COLOR_INC;
+ /*text {
+ font: "SLP:style=Regular";
+ size: 18;
+ min: 0 1;
+ align: 0.0 0.5;
+ }*/
+ }
+ }
+
+ part { name: "elm.text.3";
+ type: SWALLOW;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(235.0) SCALE(20.0);
+ max: SCALE(235.0) SCALE(20.0);
+ fixed: 1 1;
+ align: 1 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.icon.2";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.cancel.left";
+ to_y: "elm.padding.bottom";
+ }
+ color: GENLIST_PART_TEXT_COLOR_INC;
+ /*text {
+ font: "SLP:style=Regular";
+ size: 18;
+ min: 0 1;
+ align: 1.0 0.5;
+ }*/
+ }
+ }
+
+ BEAT_GENLIST_PART_DISCLIP
+ }
+ }
+
+ group
+ {
+ name: "layout.email.attachment_item";
+
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ image: "M02_button_download.png" COMP;
+ image: "M02_button_download_press.png" COMP;
+ }
+
+ parts
+ {
+ BEAT_GENLIST_PART_BASE( SCALE(120.0) )
+ BEAT_GENLIST_PART_BG_IMAGE
+ BEAT_GENLIST_PART_BOTTOM_LINE
+ BEAT_GENLIST_PART_PADDING_TOP( SCALE(20.0) )
+ BEAT_GENLIST_PART_PADDING_BOTTOM( SCALE(20.0) )
+ BEAT_GENLIST_PART_PADDING_LEFT( SCALE(20.0) )
+ BEAT_GENLIST_PART_PADDING_RIGHT( SCALE(20.0) )
+
+ part
+ {
+ name: "elm.icon";
+ clip_to: "disclip";
+ type: SWALLOW;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ min: SCALE(64.0) SCALE(64.0);
+ max: SCALE(64.0) SCALE(64.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ color: 136 136 136 255;
+
+ rel1
+ {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2
+ {
+ relative: 1.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.bottom";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.padding.icon.right";
+ type: RECT;
+ scale: 1;
+
+ description
+ {
+ state: "default" 0.0;
+ min: SCALE(10.0) 0;
+ fixed: 1 0;
+ visible: 0;
+
+ rel1
+ {
+ relative: 1.0 0.0;
+ to_x: "elm.icon";
+ }
+ rel2.to_x: "elm.icon";
+ align: 0.0 0.0;
+ }
+ }
+
+ part
+ {
+ name: "elm.text.rect";
+ clip_to: "disclip";
+ type: RECT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+
+ description
+ {
+ state: "default" 0.0;
+ align: 0 0.5;
+ color: 0 0 0 0;
+
+ rel1
+ {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.icon.right";
+ to_y: "elm.padding.top";
+ }
+ rel2
+ {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.down.left";
+ to_y: "elm.padding.bottom";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.text";
+ clip_to: "disclip";
+ type: TEXT;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+
+ description
+ {
+ state: "default" 0.0;
+ align: 0 0.5;
+ color: 0 0 0 255;
+
+ rel1
+ {
+ relative: 0.0 0.0;
+ to: "elm.text.rect";
+ }
+ rel2
+ {
+ relative: 1.0 1.0;
+ to: "elm.text.rect";
+ }
+ text
+ {
+ font: "SLP:style=Medium";
+ size: 35;
+ min: 0 0;
+ max: 1 0;
+ align: 0.0 0.5;
+ }
+ }
+
+ description
+ {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ }
+
+ part
+ {
+ name: "elm.event.rect";
+ clip_to: "disclip";
+ type: RECT;
+ mouse_events: 1;
+ repeat_events: 1;
+
+ description
+ {
+ state: "default" 0.0;
+ color: 0 0 0 0;
+
+ rel1
+ {
+ relative: 0.0 0.0;
+ to: "base";
+ }
+ rel2
+ {
+ relative: 1.0 1.0;
+ to: "base";
+ }
+ visible: 1;
+ }
+ }
+
+ part
+ {
+ name: "down";
+ clip_to: "disclip";
+ type: RECT;
+ ignore_flags: ON_HOLD;
+ mouse_events: 1;
+ scale: 1;
+
+ description
+ {
+ state: "default" 0.0;
+ min: SCALE(64.0) SCALE(64.0);
+ max: SCALE(64.0) SCALE(64.0);
+ fixed: 1 1;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; // needed?
+
+ rel1.to_x: "elm.padding.right";
+ rel2
+ {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.right";
+ }
+ color: 0 0 0 0;
+ }
+ }
+
+ part
+ {
+ name: "elm.padding.down.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(10.0) 0;
+ fixed: 1 0;
+ visible: 0;
+ align: 1.0 0.5;
+ rel1.to: "down";
+ rel2 {
+ relative: 0.0 1.0;
+ to: "down";
+ }
+ }
+ }
+
+ part {
+ name: "down_image";
+ type: IMAGE;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "down"; }
+ rel2 { relative: 1.0 1.0; to: "down"; }
+ image.normal: "M02_button_download.png";
+ }
+ description {
+ state: "default" 1.0;
+ rel1 { relative: 0.0 0.0; to: "down"; }
+ rel2 { relative: 1.0 1.0; to: "down"; }
+ image.normal: "M02_button_download_press.png";
+ }
+ }
+
+ BEAT_GENLIST_PART_DISCLIP
+ }
+ programs {
+ program {
+ name: "download_btn_down";
+ signal: "mouse,down,1";
+ source: "down";
+ action: STATE_SET "default" 1.0;
+ target: "down_image";
+ }
+ program {
+ name: "download_btn_up";
+ signal: "mouse,up,1";
+ source: "down";
+ action: STATE_SET "default" 0.0;
+ target: "down_image";
+ }
+ program {
+ name: "download_btn_clicked";
+ signal: "mouse,clicked,1";
+ source: "down";
+ action: SIGNAL_EMIT "elm,action,download" "elm";
+ }
+ program {
+ name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ }
+ program {
+ name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ transition: LINEAR 0.1;
+ }
+ program {
+ name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "elm.event.rect_clicked";
+ signal: "mouse,clicked,1";
+ source: "elm.event.rect";
+ action: SIGNAL_EMIT "clicked" "";
+ }
+ program {
+ name: "elm.event.rect_pressed";
+ signal: "pressed";
+ source: "elm.event.rect";
+ action: STATE_SET "pressed" 0.0;
+ target: "base";
+ target: "elm.text";
+ }
+
+ program {
+ name: "elm.event.rect_unpressed";
+ signal: "unpressed";
+ source: "elm.event.rect";
+ action: STATE_SET "default" 0.0;
+ target: "base";
+ target: "elm.text";
+ }
+ }
+ }
+
+ group {
+ name: "layout.email.attachment_head";
+
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ image: "M02_button_expand_closed.png" COMP;
+ image: "M02_button_expand_closed_press.png" COMP;
+ image: "M02_button_expand_opened.png" COMP;
+ image: "M02_button_expand_opened_press.png" COMP;
+ image: "M02_email_icon_attach.png" COMP;
+ image: "M02_button_expand.png" COMP;
+ image: "M02_button_expand_press.png" COMP;
+ }
+
+ parts
+ {
+ BEAT_GENLIST_PART_BASE( SCALE(120.0) )
+ BEAT_GENLIST_PART_BG_IMAGE
+ BEAT_GENLIST_PART_BOTTOM_LINE
+ BEAT_GENLIST_PART_PADDING_TOP( SCALE(20.0) )
+ BEAT_GENLIST_PART_PADDING_BOTTOM( SCALE(10.0) )
+ BEAT_GENLIST_PART_PADDING_LEFT( SCALE(20.0) )
+ BEAT_GENLIST_PART_PADDING_RIGHT( SCALE(20.0) )
+
+ part {
+ name: "elm.icon";
+ clip_to: "disclip";
+ type: IMAGE;
+ scale: 1;
+ ignore_flags: ON_HOLD;
+ description { state: "default" 0.0;
+ min: SCALE(40.0) SCALE(40.0);
+ max: SCALE(40.0) SCALE(40.0);
+ fixed: 1 1;
+ align: 0.0 0.5;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "elm.padding.left";
+ }
+ rel2 {
+ offset: 0 0;
+ to_x: "elm.padding.left";
+ }
+ image.normal: "M02_email_icon_attach.png";
+ }
+ }
+ part {
+ name: "elm.padding.icon.right";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(13.0) 0;
+ fixed: 1 0;
+ visible: 0;
+ rel1 {
+ relative: 1.0 0.0;
+ to_x: "elm.icon";
+ }
+ rel2.to_x: "elm.icon";
+ align: 0.0 0.0;
+ }
+ }
+
+ part
+ {
+ name: "touch_arrow";
+ type: RECT;
+ clip_to: "disclip";
+ ignore_flags: ON_HOLD;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(74.0) SCALE(74.0);
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "arrow";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "arrow";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part
+ {
+ name: "arrow";
+ clip_to: "disclip";
+ ignore_flags: ON_HOLD;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(64.0) SCALE(64.0);
+ max: SCALE(64.0) SCALE(64.0);
+ fixed: 1 1;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; // needed?
+ rel1.to_x: "elm.padding.right";
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.right";
+ }
+ image.normal: "M02_button_expand_opened.png";
+ }
+ description { state: "default" 1.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_opened_press.png";
+ }
+ description { state: "active" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand.png";
+ }
+ description { state: "active" 1.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_press.png";
+ }
+ }
+ part
+ {
+ name: "elm.padding.arrow.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: SCALE(5.0) 0;
+ fixed: 1 0;
+ visible: 0;
+ align: 1.0 0.5;
+ rel1.to: "arrow";
+ rel2 {
+ relative: 0.0 1.0;
+ to: "arrow";
+ }
+ }
+ }
+
+ part
+ {
+ name: "elm.text";
+ clip_to: "disclip";
+ type: SWALLOW;
+ mouse_events: 1;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 SCALE(30.0);
+ fixed: 0 1;
+ align: 0 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.icon.right";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.arrow.left";
+ to_y: "elm.padding.top";
+ }
+ color: 0 0 0 255;
+ /*text {
+ font: "SLP:style=Roman";
+ size: 26;
+ min: 0 1;
+ align: 0.0 0.5;
+ }*/
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 225 225 225 255;
+ }
+ }
+
+ part
+ {
+ name: "elm.text.sub";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.icon.right";
+ to_y: "elm.text";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.arrow.left";
+ to_y: "elm.padding.bottom";
+ }
+ color: 0 0 0 255;
+ text {
+ font: "SLP:style=Medium";
+ size: SCALE(32.0);
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description {
+ state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: 225 225 225 255;
+ }
+ }
+ BEAT_GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program {
+ name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ }
+ program {
+ name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text";
+ transition: LINEAR 0.1;
+ }
+ program {
+ name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "expand";
+ signal: "mouse,up,1";
+ source: "touch_arrow";
+ action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+ }
+ program {
+ name: "arrow_down";
+ signal: "mouse,down,1";
+ source: "touch_arrow";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"arrow", st, 30, vl)
+ if (vl == 0.0)
+ set_state(PART:"arrow", st, 1.0);
+ else
+ set_state(PART:"arrow", st, 0.0);
+ }
+ }
+ program {
+ name: "go_expanded";
+ signal: "elm,state,expanded";
+ source: "elm";
+ action: STATE_SET "active" 0.0;
+ target: "arrow";
+ }
+ program {
+ name: "go_contracted";
+ signal: "elm,state,contracted";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "arrow";
+ }
+ program {
+ name: "save_all";
+ signal: "mouse,up,1";
+ source: "elm.icon";
+ action: SIGNAL_EMIT "att,icon,save,all" "";
+ }
+ }
+ }
+
+ /*group {
+ name: "layout.email.subject_nbeat";
+
+ images {
+ image: "00_list_bar_press_1x80.png" COMP;
+ image: "M02_button_expand_closed.png" COMP;
+ image: "M02_button_expand_closed_press.png" COMP;
+ image: "M02_button_expand_opened.png" COMP;
+ image: "M02_button_expand_opened_press.png" COMP;
+ }
+
+ styles {
+ style { name: "genlist_textblock_sub_style";
+ base: "font=SLP:style=Regular font_size=24 color=#6C6C6C wrap=char text_class=list_item";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+ style { name: "genlist_textblock_sub_selected_style";
+ base: "font=SLP:style=Regular font_size=24 color=#FFFFFF wrap=char text_class=list_item";
+ tag: "br" "\n";
+ tag: "ps" "ps";
+ tag: "tab" "\t";
+ }
+ }
+ parts {
+ part { name: "base";
+ type: RECT;
+ repeat_events: 1;
+ description { state: "default" 0.0;
+ color: 249 249 249 255;
+ }
+ }
+ BEAT_GENLIST_PART_BG_IMAGE
+ BEAT_GENLIST_PART_BOTTOM_LINE
+ BEAT_GENLIST_PART_PADDING_TOP( 10 )
+ BEAT_GENLIST_PART_PADDING_BOTTOM( 10 )
+ BEAT_GENLIST_PART_PADDING_LEFT( 20 )
+ BEAT_GENLIST_PART_PADDING_RIGHT( 10 )
+ BEAT_GENLIST_PART_DIALOGUE_ITEM
+
+ part
+ {
+ name: "touch_arrow";
+ type: RECT;
+ clip_to: "disclip";
+ ignore_flags: ON_HOLD;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 70 80;
+ fixed: 1 1;
+ align: 0.5 0.5;
+ rel1 {
+ relative: 0.5 0.5;
+ to: "arrow";
+ }
+ rel2 {
+ relative: 0.5 0.5;
+ to: "arrow";
+ }
+ color: 0 0 0 0;
+ }
+ }
+ part
+ {
+ name: "arrow";
+ clip_to: "disclip";
+ ignore_flags: ON_HOLD;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 40 40;
+ max: 40 40;
+ fixed: 1 1;
+ align: 1.0 0.5;
+ aspect: 1.0 1.0; // needed?
+ rel1.to_x: "elm.padding.right";
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.right";
+ }
+ image.normal: "M02_button_expand_closed.png";
+ }
+ description { state: "default" 1.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_closed_press.png";
+ }
+ description { state: "active" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_opened.png";
+ }
+ description { state: "active" 1.0;
+ inherit: "default" 0.0;
+ image.normal: "M02_button_expand_opened_press.png";
+ }
+ }
+
+ part
+ {
+ name: "elm.padding.arrow.left";
+ type: RECT;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 5 0;
+ fixed: 1 0;
+ visible: 0;
+ align: 1.0 0.5;
+ rel1.to: "arrow";
+ rel2 {
+ relative: 0.0 1.0;
+ to: "arrow";
+ }
+ }
+ }
+
+ part { name: "elm.text.1";
+ clip_to: "disclip";
+ type: TEXTBLOCK;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ offset: 0 0;
+ to_x: "elm.padding.arrow.left";
+ to_y: "elm.padding.top";
+ }
+ text {
+ style: "genlist_textblock_sub_style";
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ text.style: "genlist_textblock_sub_selected_style";
+ }
+ }
+
+ part { name: "elm.text.2";
+ clip_to: "disclip";
+ type: TEXT;
+ mouse_events: 0;
+ scale: 1;
+ description { state: "default" 0.0;
+ min: 0 38;
+ fixed: 0 1;
+ align: 0 0;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "elm.padding.left";
+ to_y: "elm.text.1";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ offset: 0 0;
+ to_x: "elm.padding.arrow.left";
+ to_y: "elm.padding.bottom";
+ }
+ color: GENLIST_PART_TEXT_COLOR_INC;
+ text {
+ font: "SLP:style=Regular";
+ size: 20;
+ min: 0 1;
+ align: 0.0 0.5;
+ }
+ }
+ description { state: "selected" 0.0;
+ inherit: "default" 0.0;
+ color: GENLIST_PART_TEXT_SELECTED_COLOR_INC;
+ }
+ }
+
+ BEAT_GENLIST_PART_DISCLIP
+ }
+ programs {
+ // signal: elm,state,%s,active
+ // a "check" item named %s went active
+ // signal: elm,state,%s,passive
+ // a "check" item named %s went passive
+ // default is passive
+ program { name: "go_active";
+ signal: "elm,state,selected";
+ source: "elm";
+ action: STATE_SET "selected" 0.0;
+ target: "bg_image";
+ target: "elm.text.1";
+ target: "elm.text.2";
+ }
+ program { name: "go_passive";
+ signal: "elm,state,unselected";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "bg_image";
+ target: "elm.text.1";
+ target: "elm.text.2";
+ transition: LINEAR 0.1;
+ }
+ program { name: "go_disabled";
+ signal: "elm,state,disabled";
+ source: "elm";
+ action: STATE_SET "disabled" 0.0;
+ target: "disclip";
+ }
+ program { name: "go_enabled";
+ signal: "elm,state,enabled";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "disclip";
+ }
+ program {
+ name: "expand";
+ signal: "mouse,up,1";
+ source: "touch_arrow";
+ action: SIGNAL_EMIT "elm,action,expand,toggle" "elm";
+ }
+ program {
+ name: "arrow_down";
+ signal: "mouse,down,1";
+ source: "touch_arrow";
+ script {
+ new st[31];
+ new Float:vl;
+ get_state(PART:"arrow", st, 30, vl)
+ if (vl == 0.0)
+ set_state(PART:"arrow", st, 1.0);
+ else
+ set_state(PART:"arrow", st, 0.0);
+ }
+ }
+ program {
+ name: "go_expanded";
+ signal: "elm,state,expanded";
+ source: "elm";
+ action: STATE_SET "active" 0.0;
+ target: "arrow";
+ }
+ program {
+ name: "go_contracted";
+ signal: "elm,state,contracted";
+ source: "elm";
+ action: STATE_SET "default" 0.0;
+ target: "arrow";
+ }
+ }
+ }*/
+
+}