aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser.c
diff options
context:
space:
mode:
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r--mail/folder-browser.c50
1 files changed, 34 insertions, 16 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c
index f611f126f4..dc3aefde87 100644
--- a/mail/folder-browser.c
+++ b/mail/folder-browser.c
@@ -1016,8 +1016,10 @@ extern CamelFolder *drafts_folder, *sent_folder, *outbox_folder;
gboolean
folder_browser_is_drafts (FolderBrowser *fb)
{
- const GSList *accounts;
- MailConfigAccount *account;
+ gboolean is_drafts = FALSE;
+ EAccountList *accounts;
+ EAccount *account;
+ EIterator *iter;
g_return_val_if_fail (IS_FOLDER_BROWSER (fb), FALSE);
@@ -1028,14 +1030,21 @@ folder_browser_is_drafts (FolderBrowser *fb)
return TRUE;
accounts = mail_config_get_accounts ();
- while (accounts) {
- account = accounts->data;
- if (account->drafts_folder_uri && camel_store_uri_cmp(fb->folder->parent_store, account->drafts_folder_uri, fb->uri))
- return TRUE;
- accounts = accounts->next;
+ iter = e_list_get_iterator ((EList *) accounts);
+ while (e_iterator_is_valid (iter)) {
+ account = (EAccount *) e_iterator_get (iter);
+ if (account->drafts_folder_uri &&
+ camel_store_uri_cmp (fb->folder->parent_store, account->drafts_folder_uri, fb->uri)) {
+ is_drafts = TRUE;
+ break;
+ }
+
+ e_iterator_next (iter);
}
- return FALSE;
+ g_object_unref (iter);
+
+ return is_drafts;
}
/**
@@ -1048,8 +1057,10 @@ folder_browser_is_drafts (FolderBrowser *fb)
gboolean
folder_browser_is_sent (FolderBrowser *fb)
{
- const GSList *accounts;
- MailConfigAccount *account;
+ gboolean is_sent = FALSE;
+ EAccountList *accounts;
+ EAccount *account;
+ EIterator *iter;
g_return_val_if_fail (IS_FOLDER_BROWSER (fb), FALSE);
@@ -1060,14 +1071,21 @@ folder_browser_is_sent (FolderBrowser *fb)
return TRUE;
accounts = mail_config_get_accounts ();
- while (accounts) {
- account = accounts->data;
- if (account->sent_folder_uri && camel_store_uri_cmp(fb->folder->parent_store, account->sent_folder_uri, fb->uri))
- return TRUE;
- accounts = accounts->next;
+ iter = e_list_get_iterator ((EList *) accounts);
+ while (e_iterator_is_valid (iter)) {
+ account = (EAccount *) e_iterator_get (iter);
+ if (account->sent_folder_uri &&
+ camel_store_uri_cmp (fb->folder->parent_store, account->sent_folder_uri, fb->uri)) {
+ is_sent = TRUE;
+ break;
+ }
+
+ e_iterator_next (iter);
}
- return FALSE;
+ g_object_unref (iter);
+
+ return is_sent;
}
/**