#include "email-setting.h"
#include "email-setting-utils.h"
+static email_account_t *account_data = NULL;
+
static int _create(struct viewdata *vd);
static int _update(struct viewdata *vd);
static int _destroy(struct viewdata *vd);
struct priv_data {
struct viewdata *vd;
- email_account_t *selected_account;
Evas_Object *entry_account_name;
Evas_Object *entry_email_address;
char *str_sending_username;
char *str_sending_password;
- int index;
int account_deleted;
int b_first_focus_on_pw;
int b_first_focus_on_sending_pw;
p->vd = vd;
_get_selected_account_details(vd);
- if (p->selected_account == NULL) {
+ if (account_data == NULL) {
debug_log("Can't get account info");
return FALSE;
}
p->str_sending_password = NULL;
}
+ if (account_data) {
+ email_engine_free_account_list(&account_data, 1);
+ account_data = NULL;
+ }
+
return TRUE;
}
p->gl_sending_pw_item = elm_genlist_item_append(p->genlist, &(p->itc_ef), (void *)i, NULL,
ELM_GENLIST_ITEM_NONE, _gl_ef_sel_cb, (void *)i);
- if (p->selected_account->outgoing_server_use_same_authenticator) {
+ if (account_data->outgoing_server_use_same_authenticator) {
elm_object_item_disabled_set(p->gl_sending_user_item, EINA_TRUE);
elm_object_item_disabled_set(p->gl_sending_pw_item, EINA_TRUE);
}
{
debug_log("");
struct priv_data *p;
- int nCount;
EmailSettingUGD *ugd = vd->ugd;
p = vd->priv;
- debug_log("selected account count %d", ugd->account_count);
-
- p->selected_account = NULL;
-
- for (nCount = 0; nCount < ugd->account_count; nCount++) {
- if (ugd->account_list[nCount].account_id == ugd->account_id) {
- debug_log("selected account index %d", ugd->account_list[nCount].account_id);
- p->index = nCount;
- p->selected_account = &ugd->account_list[nCount];
-
- char buf[30] = { 0, };
- char password_buf[MAX_STR_LEN] = { 0, };
- char sending_password_buf[MAX_STR_LEN] = { 0, };
- int pass_len = 0;
- int i = 0;
- email_get_password_length_of_account(p->selected_account->account_id, &pass_len);
- debug_log("password length:%d", pass_len);
- memset(password_buf, 0, sizeof(password_buf));
- memset(sending_password_buf, 0, sizeof(sending_password_buf));
-
- if (pass_len > 0 && pass_len < MAX_STR_LEN) {
- for (i = 0; i < pass_len; i++) {
- password_buf[i] = '*';
- }
- }
+ if (account_data) {
+ email_engine_free_account_list(&account_data, 1);
+ account_data = NULL;
+ }
- //TODO get length of sending password
-
- p->str_account_name = g_strdup(p->selected_account->account_name);
- p->str_user_name = g_strdup(p->selected_account->incoming_server_user_name);
- p->str_email_address = g_strdup(p->selected_account->user_email_address);
- p->str_password = g_strdup(password_buf);
- p->str_password_backup = g_strdup(password_buf);
- p->str_smtp_server = g_strdup(p->selected_account->outgoing_server_address);
- snprintf(buf, sizeof(buf), "%d", p->selected_account->outgoing_server_port_number);
- p->str_smtp_port = g_strdup(buf);
- p->str_incoming_server = g_strdup(p->selected_account->incoming_server_address);
- snprintf(buf, sizeof(buf), "%d", p->selected_account->incoming_server_port_number);
- p->str_incoming_port = g_strdup(buf);
-
- if (p->selected_account->outgoing_server_use_same_authenticator) {
- p->str_sending_username = g_strdup(p->selected_account->incoming_server_user_name);
- p->str_sending_password = g_strdup(password_buf);
- p->str_sending_password_backup = g_strdup(password_buf);
- } else {
- p->str_sending_username = g_strdup(p->selected_account->outgoing_server_user_name);
- p->str_sending_password = g_strdup(sending_password_buf);
- p->str_sending_password_backup = g_strdup(sending_password_buf);
- }
+ if (!setting_get_acct_full_data(ugd->account_id, &account_data)) {
+ debug_log("setting_get_acct_full_data failed");
+ return;
+ }
- break;
+ char buf[30] = { 0, };
+ char password_buf[MAX_STR_LEN] = { 0, };
+ char sending_password_buf[MAX_STR_LEN] = { 0, };
+ int pass_len = 0;
+ int i = 0;
+ email_get_password_length_of_account(account_data->account_id, &pass_len);
+ debug_log("password length:%d", pass_len);
+ memset(password_buf, 0, sizeof(password_buf));
+ memset(sending_password_buf, 0, sizeof(sending_password_buf));
+
+ if (pass_len > 0 && pass_len < MAX_STR_LEN) {
+ for (i = 0; i < pass_len; i++) {
+ password_buf[i] = '*';
}
}
+
+ //TODO get length of sending password
+
+ p->str_account_name = g_strdup(account_data->account_name);
+ p->str_user_name = g_strdup(account_data->incoming_server_user_name);
+ p->str_email_address = g_strdup(account_data->user_email_address);
+ p->str_password = g_strdup(password_buf);
+ p->str_password_backup = g_strdup(password_buf);
+ p->str_smtp_server = g_strdup(account_data->outgoing_server_address);
+ snprintf(buf, sizeof(buf), "%d", account_data->outgoing_server_port_number);
+ p->str_smtp_port = g_strdup(buf);
+ p->str_incoming_server = g_strdup(account_data->incoming_server_address);
+ snprintf(buf, sizeof(buf), "%d", account_data->incoming_server_port_number);
+ p->str_incoming_port = g_strdup(buf);
+
+ if (account_data->outgoing_server_use_same_authenticator) {
+ p->str_sending_username = g_strdup(account_data->incoming_server_user_name);
+ p->str_sending_password = g_strdup(password_buf);
+ p->str_sending_password_backup = g_strdup(password_buf);
+ } else {
+ p->str_sending_username = g_strdup(account_data->outgoing_server_user_name);
+ p->str_sending_password = g_strdup(sending_password_buf);
+ p->str_sending_password_backup = g_strdup(sending_password_buf);
+ }
}
static int _check_null_field(struct viewdata *vd)
struct priv_data *p;
p = vd->priv;
- if (p->selected_account->account_name == NULL ||
- strlen(p->selected_account->account_name) == 0 ||
- p->selected_account->user_email_address == NULL ||
- strlen(p->selected_account->user_email_address) == 0 ||
- p->selected_account->incoming_server_user_name == NULL ||
- strlen(p->selected_account->incoming_server_user_name) == 0 ||
+ if (account_data->account_name == NULL ||
+ strlen(account_data->account_name) == 0 ||
+ account_data->user_email_address == NULL ||
+ strlen(account_data->user_email_address) == 0 ||
+ account_data->incoming_server_user_name == NULL ||
+ strlen(account_data->incoming_server_user_name) == 0 ||
p->str_password == NULL || strlen(p->str_password) == 0 ||
- p->selected_account->incoming_server_address == NULL ||
- strlen(p->selected_account->incoming_server_address) == 0 ||
- p->selected_account->incoming_server_port_number == 0 ||
- p->selected_account->outgoing_server_address == NULL ||
- strlen(p->selected_account->outgoing_server_address) == 0 ||
- p->selected_account->outgoing_server_port_number == 0) {
+ account_data->incoming_server_address == NULL ||
+ strlen(account_data->incoming_server_address) == 0 ||
+ account_data->incoming_server_port_number == 0 ||
+ account_data->outgoing_server_address == NULL ||
+ strlen(account_data->outgoing_server_address) == 0 ||
+ account_data->outgoing_server_port_number == 0) {
return FALSE;
} else {
- if (p->selected_account->outgoing_server_use_same_authenticator == 0) {
- if (p->selected_account->outgoing_server_user_name == NULL ||
- strlen(p->selected_account->outgoing_server_user_name) == 0 ||
+ if (account_data->outgoing_server_use_same_authenticator == 0) {
+ if (account_data->outgoing_server_user_name == NULL ||
+ strlen(account_data->outgoing_server_user_name) == 0 ||
p->str_sending_password == NULL ||
strlen(p->str_sending_password) == 0)
return FALSE;
{
debug_log("");
struct priv_data *p;
- /*char *temp;*/
p = vd->priv;
_free_all_entries(vd);
debug_log("account name %s", p->str_account_name);
- p->selected_account->account_name = g_strdup(p->str_account_name);
+ account_data->account_name = g_strdup(p->str_account_name);
debug_log("email addr %s", p->str_email_address);
- p->selected_account->user_email_address = g_strdup(p->str_email_address);
+ account_data->user_email_address = g_strdup(p->str_email_address);
debug_log("user name %s", p->str_user_name);
- p->selected_account->incoming_server_user_name = g_strdup(p->str_user_name);
+ account_data->incoming_server_user_name = g_strdup(p->str_user_name);
if (g_strcmp0(p->str_password, p->str_password_backup) == 0)
- p->selected_account->incoming_server_password = NULL;
+ account_data->incoming_server_password = NULL;
else
- p->selected_account->incoming_server_password = g_strdup(p->str_password);
+ account_data->incoming_server_password = g_strdup(p->str_password);
debug_log("display name %s", p->str_user_name);
- p->selected_account->user_display_name = g_strdup(p->str_user_name);
+ account_data->user_display_name = g_strdup(p->str_user_name);
debug_log("incoming server %s", p->str_incoming_server);
- p->selected_account->incoming_server_address = g_strdup(p->str_incoming_server);
+ account_data->incoming_server_address = g_strdup(p->str_incoming_server);
debug_log("outgoing server %s", p->str_smtp_server);
- p->selected_account->outgoing_server_address = g_strdup(p->str_smtp_server);
+ account_data->outgoing_server_address = g_strdup(p->str_smtp_server);
debug_log("incoming port %s", p->str_incoming_port);
if (p->str_incoming_port != NULL && strlen(p->str_incoming_port) > 0) {
- p->selected_account->incoming_server_port_number = atoi(p->str_incoming_port);
+ account_data->incoming_server_port_number = atoi(p->str_incoming_port);
} else {
- p->selected_account->incoming_server_port_number = 0;
+ account_data->incoming_server_port_number = 0;
}
debug_log("outgoing port %s", p->str_smtp_port);
if (p->str_smtp_port != NULL && strlen(p->str_smtp_port) > 0) {
- p->selected_account->outgoing_server_port_number = atoi(p->str_smtp_port);
+ account_data->outgoing_server_port_number = atoi(p->str_smtp_port);
} else {
- p->selected_account->outgoing_server_port_number = 0;
+ account_data->outgoing_server_port_number = 0;
}
- if (p->selected_account->outgoing_server_use_same_authenticator == 0) {
- p->selected_account->outgoing_server_user_name = g_strdup(p->str_sending_username);
+ if (account_data->outgoing_server_use_same_authenticator == 0) {
+ account_data->outgoing_server_user_name = g_strdup(p->str_sending_username);
if (g_strcmp0(p->str_sending_password, p->str_sending_password_backup) == 0)
- p->selected_account->outgoing_server_password = NULL;
+ account_data->outgoing_server_password = NULL;
else
- p->selected_account->outgoing_server_password = g_strdup(p->str_sending_password);
- debug_log("sending_password %s", p->selected_account->outgoing_server_password);
+ account_data->outgoing_server_password = g_strdup(p->str_sending_password);
+ debug_log("sending_password %s", account_data->outgoing_server_password);
}
}
struct priv_data *p;
p = vd->priv;
- if (p->selected_account->account_name) {
- g_free(p->selected_account->account_name);
- p->selected_account->account_name = NULL;
+ if (account_data->account_name) {
+ g_free(account_data->account_name);
+ account_data->account_name = NULL;
}
- if (p->selected_account->user_email_address) {
- g_free(p->selected_account->user_email_address);
- p->selected_account->user_email_address = NULL;
+ if (account_data->user_email_address) {
+ g_free(account_data->user_email_address);
+ account_data->user_email_address = NULL;
}
- if (p->selected_account->user_display_name) {
- g_free(p->selected_account->user_display_name);
- p->selected_account->user_display_name = NULL;
+ if (account_data->user_display_name) {
+ g_free(account_data->user_display_name);
+ account_data->user_display_name = NULL;
}
- if (p->selected_account->incoming_server_user_name) {
- g_free(p->selected_account->incoming_server_user_name);
- p->selected_account->incoming_server_user_name = NULL;
+ if (account_data->incoming_server_user_name) {
+ g_free(account_data->incoming_server_user_name);
+ account_data->incoming_server_user_name = NULL;
}
- if (p->selected_account->incoming_server_password) {
- g_free(p->selected_account->incoming_server_password);
- p->selected_account->incoming_server_password = NULL;
+ if (account_data->incoming_server_password) {
+ g_free(account_data->incoming_server_password);
+ account_data->incoming_server_password = NULL;
}
- if (p->selected_account->incoming_server_address) {
- g_free(p->selected_account->incoming_server_address);
- p->selected_account->incoming_server_address = NULL;
+ if (account_data->incoming_server_address) {
+ g_free(account_data->incoming_server_address);
+ account_data->incoming_server_address = NULL;
}
- if (p->selected_account->outgoing_server_address) {
- g_free(p->selected_account->outgoing_server_address);
- p->selected_account->outgoing_server_address = NULL;
+ if (account_data->outgoing_server_address) {
+ g_free(account_data->outgoing_server_address);
+ account_data->outgoing_server_address = NULL;
}
- if (p->selected_account->outgoing_server_user_name) {
- g_free(p->selected_account->outgoing_server_user_name);
- p->selected_account->outgoing_server_user_name = NULL;
+ if (account_data->outgoing_server_user_name) {
+ g_free(account_data->outgoing_server_user_name);
+ account_data->outgoing_server_user_name = NULL;
}
- if (p->selected_account->outgoing_server_password) {
- g_free(p->selected_account->outgoing_server_password);
- p->selected_account->outgoing_server_password = NULL;
+ if (account_data->outgoing_server_password) {
+ g_free(account_data->outgoing_server_password);
+ account_data->outgoing_server_password = NULL;
}
}
p = vd->priv;
- if (p->selected_account == NULL) {
+ if (account_data == NULL) {
debug_log("account_data is NULL");
return;
}
- if (email_engine_update_account(p->selected_account->account_id, p->selected_account) == TRUE)
+ if (email_engine_update_account(account_data->account_id, account_data) == TRUE)
debug_log("Account updated successfully");
}
struct priv_data *p = vd->priv;
EmailSettingUGD *ugd = vd->ugd;
- ret = email_engine_update_account_with_validation(account_id, p->selected_account);
+ ret = email_engine_update_account_with_validation(account_id, account_data);
if (ugd->popup_one) {
evas_object_del(ugd->popup_one);
ugd = vd->ugd;
p = vd->priv;
- vd->ugd->account_id = p->selected_account->account_id;
+ vd->ugd->account_id = account_data->account_id;
_read_all_entries(vd);
Eina_Bool state = elm_check_state_get(obj);
if (obj == p->onoff[0]) {
- p->selected_account->pop_before_smtp = state;
- debug_log("pop before smtp %d", p->selected_account->pop_before_smtp);
+ account_data->pop_before_smtp = state;
+ debug_log("pop before smtp %d", account_data->pop_before_smtp);
}
if (obj == p->onoff[1]) {
- p->selected_account->outgoing_server_need_authentication = state;
- debug_log("smtp auth %d", p->selected_account->outgoing_server_need_authentication);
+ account_data->outgoing_server_need_authentication = state;
+ debug_log("smtp auth %d", account_data->outgoing_server_need_authentication);
}
if (obj == p->onoff[2]) {
- p->selected_account->outgoing_server_use_same_authenticator = state;
- debug_log("same as pop3/imap4 %d", p->selected_account->outgoing_server_use_same_authenticator);
+ account_data->outgoing_server_use_same_authenticator = state;
+ debug_log("same as pop3/imap4 %d", account_data->outgoing_server_use_same_authenticator);
- if (p->selected_account->outgoing_server_use_same_authenticator) {
+ if (account_data->outgoing_server_use_same_authenticator) {
/* user name */
if (p->gl_sending_user_item) {
elm_object_item_disabled_set(p->gl_sending_user_item, EINA_TRUE);
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
char buf[MAX_STR_LEN] = { 0, };
if (!g_strcmp0(part, "elm.text.1")) {
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
char buf[MAX_STR_LEN] = { 0, };
if (!g_strcmp0(part, "elm.text.1")) {
int index = (int)data;
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
if (!g_strcmp0(part, "elm.icon")) {
switch (index) {
int index = (int)data;
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
if (!g_strcmp0(part, "elm.icon")) {
Evas_Object *radio = elm_radio_add(p->genlist);
int index = (int)data;
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
if (!g_strcmp0(part, "elm.icon")) {
Evas_Object *radio = elm_radio_add(p->genlist);
evas_object_propagate_events_set(check, EINA_FALSE);
if (index == 0) {
- elm_check_state_set(check, p->selected_account->pop_before_smtp);
+ elm_check_state_set(check, account_data->pop_before_smtp);
p->onoff[index] = check;
}
if (index == 1) {
- elm_check_state_set(check, p->selected_account->outgoing_server_need_authentication);
+ elm_check_state_set(check, account_data->outgoing_server_need_authentication);
p->onoff[index] = check;
}
if (index == 2) {
- elm_check_state_set(check, p->selected_account->outgoing_server_use_same_authenticator);
+ elm_check_state_set(check, account_data->outgoing_server_use_same_authenticator);
p->onoff[index] = check;
}
int index = (int)data;
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
int sel_radio = 0;
Elm_Object_Item *item = (Elm_Object_Item *)event_info;
int index = (int)data;
struct viewdata *vd = g_vd;
struct priv_data *p = vd->priv;
- email_account_t *account = p->selected_account;
+ email_account_t *account = account_data;
int sel_radio = 0;
Elm_Object_Item *item = (Elm_Object_Item *)event_info;
switch (index) {
case 0:
- p->selected_account->pop_before_smtp = !p->selected_account->pop_before_smtp;
- elm_check_state_set(p->onoff[0], p->selected_account->pop_before_smtp);
- debug_log("pop before smtp %d", p->selected_account->pop_before_smtp);
+ account_data->pop_before_smtp = !account_data->pop_before_smtp;
+ elm_check_state_set(p->onoff[0], account_data->pop_before_smtp);
+ debug_log("pop before smtp %d", account_data->pop_before_smtp);
break;
case 1:
- p->selected_account->outgoing_server_need_authentication = !p->selected_account->outgoing_server_need_authentication;
- elm_check_state_set(p->onoff[1], p->selected_account->outgoing_server_need_authentication);
- debug_log("smtp auth %d", p->selected_account->outgoing_server_need_authentication);
+ account_data->outgoing_server_need_authentication = !account_data->outgoing_server_need_authentication;
+ elm_check_state_set(p->onoff[1], account_data->outgoing_server_need_authentication);
+ debug_log("smtp auth %d", account_data->outgoing_server_need_authentication);
break;
case 2:
- p->selected_account->outgoing_server_use_same_authenticator = !p->selected_account->outgoing_server_use_same_authenticator;
- elm_check_state_set(p->onoff[2], p->selected_account->outgoing_server_use_same_authenticator);
- debug_log("same as pop3/imap4 %d", p->selected_account->outgoing_server_use_same_authenticator);
+ account_data->outgoing_server_use_same_authenticator = !account_data->outgoing_server_use_same_authenticator;
+ elm_check_state_set(p->onoff[2], account_data->outgoing_server_use_same_authenticator);
+ debug_log("same as pop3/imap4 %d", account_data->outgoing_server_use_same_authenticator);
- if (p->selected_account->outgoing_server_use_same_authenticator) {
+ if (account_data->outgoing_server_use_same_authenticator) {
/* user name */
if (p->gl_sending_user_item) {
elm_object_item_disabled_set(p->gl_sending_user_item, EINA_TRUE);