diff options
-rw-r--r-- | mail/ChangeLog | 6 | ||||
-rw-r--r-- | mail/em-account-editor.c | 68 |
2 files changed, 40 insertions, 34 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index 3bee5f4317..b1201c7291 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,3 +1,9 @@ +2005-08-12 Vivek Jain <jvivek@novell.com> + + * em-account-editor.c : (emae_check_complete) + first prepare the page and then validate + **Fixes #273842 + 2005-08-11 Not Zed <NotZed@Ximian.com> ** See #232499. diff --git a/mail/em-account-editor.c b/mail/em-account-editor.c index d35255d819..db6daf59bb 100644 --- a/mail/em-account-editor.c +++ b/mail/em-account-editor.c @@ -2414,40 +2414,6 @@ emae_check_complete(EConfig *ec, const char *pageid, void *data) const char *tmp; EAccount *ea; - if (pageid == NULL || !strcmp(pageid, "00.identity")) { - /* TODO: check the account name is set, and unique in the account list */ - ok = (tmp = e_account_get_string(emae->account, E_ACCOUNT_ID_NAME)) - && tmp[0] - && (tmp = e_account_get_string(emae->account, E_ACCOUNT_ID_ADDRESS)) - && is_email(tmp) - && ((tmp = e_account_get_string(emae->account, E_ACCOUNT_ID_REPLY_TO)) == NULL - || tmp[0] == 0 - || is_email(tmp)); - if (!ok) - d(printf("identity incomplete\n")); - } - - if (ok && (pageid == NULL || !strcmp(pageid, "10.receive"))) { - ok = emae_service_complete(emae, &emae->priv->source); - if (!ok) - d(printf("receive page incomplete\n")); - } - - if (ok && (pageid == NULL || !strcmp(pageid, "30.send"))) { - ok = emae_service_complete(emae, &emae->priv->transport); - if (!ok) - d(printf("send page incomplete\n")); - } - - if (ok && (pageid == NULL || !strcmp(pageid, "40.management"))) { - ok = (tmp = e_account_get_string(emae->account, E_ACCOUNT_NAME)) - && tmp[0] - && ((ea = mail_config_get_account_by_name(tmp)) == NULL - || ea == emae->original); - if (!ok) - d(printf("management page incomplete\n")); - } - /* We use the page-check of various pages to 'prepare' or pre-load their values, only in the druid */ if (pageid @@ -2500,6 +2466,40 @@ emae_check_complete(EConfig *ec, const char *pageid, void *data) } } + if (pageid == NULL || !strcmp(pageid, "00.identity")) { + /* TODO: check the account name is set, and unique in the account list */ + ok = (tmp = e_account_get_string(emae->account, E_ACCOUNT_ID_NAME)) + && tmp[0] + && (tmp = e_account_get_string(emae->account, E_ACCOUNT_ID_ADDRESS)) + && is_email(tmp) + && ((tmp = e_account_get_string(emae->account, E_ACCOUNT_ID_REPLY_TO)) == NULL + || tmp[0] == 0 + || is_email(tmp)); + if (!ok) + d(printf("identity incomplete\n")); + } + + if (ok && (pageid == NULL || !strcmp(pageid, "10.receive"))) { + ok = emae_service_complete(emae, &emae->priv->source); + if (!ok) + d(printf("receive page incomplete\n")); + } + + if (ok && (pageid == NULL || !strcmp(pageid, "30.send"))) { + ok = emae_service_complete(emae, &emae->priv->transport); + if (!ok) + d(printf("send page incomplete\n")); + } + + if (ok && (pageid == NULL || !strcmp(pageid, "40.management"))) { + ok = (tmp = e_account_get_string(emae->account, E_ACCOUNT_NAME)) + && tmp[0] + && ((ea = mail_config_get_account_by_name(tmp)) == NULL + || ea == emae->original); + if (!ok) + d(printf("management page incomplete\n")); + } + return ok; } |