Fix modest_tny_msg_header_get_all_recipients_list (in case from is empty)
[modest] / src / modest-local-folder-info.c
index f066809..d0bcb75 100644 (file)
@@ -30,6 +30,7 @@
 #include <glib/gi18n.h>
 #include <string.h> /* strcmp */
 #include <modest-local-folder-info.h>
 #include <glib/gi18n.h>
 #include <string.h> /* strcmp */
 #include <modest-local-folder-info.h>
+#include <modest-defs.h>
 #include <stdio.h>
 
 typedef struct {
 #include <stdio.h>
 
 typedef struct {
@@ -41,7 +42,6 @@ typedef struct {
 const ModestLocalFolder ModestLocalFolderMap[] = {
        { TNY_FOLDER_TYPE_UNKNOWN,  "<unknown>",  N_("<Unknown>")},
        { TNY_FOLDER_TYPE_NORMAL,   "<normal>",   N_("<Normal>")},
 const ModestLocalFolder ModestLocalFolderMap[] = {
        { TNY_FOLDER_TYPE_UNKNOWN,  "<unknown>",  N_("<Unknown>")},
        { TNY_FOLDER_TYPE_NORMAL,   "<normal>",   N_("<Normal>")},
-       { TNY_FOLDER_TYPE_INBOX,    "inbox",      N_("mcen_me_folder_inbox")},
        { TNY_FOLDER_TYPE_OUTBOX,   "outbox",     N_("mcen_me_folder_outbox")},
        { TNY_FOLDER_TYPE_TRASH,    "trash",      N_("Trash")},
        { TNY_FOLDER_TYPE_JUNK,     "junk",       N_("Junk")},
        { TNY_FOLDER_TYPE_OUTBOX,   "outbox",     N_("mcen_me_folder_outbox")},
        { TNY_FOLDER_TYPE_TRASH,    "trash",      N_("Trash")},
        { TNY_FOLDER_TYPE_JUNK,     "junk",       N_("Junk")},
@@ -49,11 +49,7 @@ const ModestLocalFolder ModestLocalFolderMap[] = {
        { TNY_FOLDER_TYPE_ROOT,     "<root>",     N_("<root>")},
        { TNY_FOLDER_TYPE_NOTES,    "notes",      N_("Notes")},
        { TNY_FOLDER_TYPE_DRAFTS,   "drafts",     N_("mcen_me_folder_drafts")},
        { TNY_FOLDER_TYPE_ROOT,     "<root>",     N_("<root>")},
        { TNY_FOLDER_TYPE_NOTES,    "notes",      N_("Notes")},
        { TNY_FOLDER_TYPE_DRAFTS,   "drafts",     N_("mcen_me_folder_drafts")},
-/* TODO: Do we want these? If so, they need a type ID: 
- *     { TNY_FOLDER_TYPE_OUTBOX,   "contacts",   N_("Contacts")},
-       { TNY_FOLDER_TYPE_OUTBOX,   "calendar",   N_("Calendar")},
-*/
-       { TNY_FOLDER_TYPE_ARCHIVE,  "archive",    N_("Archive")}
+       { TNY_FOLDER_TYPE_ARCHIVE,  "archive",    N_("mcen_me_folder_archive")}
 };
 
 
 };
 
 
@@ -105,28 +101,41 @@ modest_local_folder_info_get_type_display_name (TnyFolderType type)
 
 
 gchar *
 
 
 gchar *
-modest_local_folder_info_get_maildir_path (void)
+modest_local_folder_info_get_maildir_path (const gchar* location_filepath)
 {
 {
-       return g_build_filename (g_get_home_dir(),
+       return g_build_filename (location_filepath ? location_filepath : g_get_home_dir(),
                                 MODEST_DIR,
                                 MODEST_LOCAL_FOLDERS_MAILDIR, 
                                 NULL);
 }
 
                                 MODEST_DIR,
                                 MODEST_LOCAL_FOLDERS_MAILDIR, 
                                 NULL);
 }
 
-gchar *modest_per_account_local_outbox_folder_info_get_maildir_path (TnyAccount *account)
+gchar*
+modest_per_account_local_outbox_folder_info_get_maildir_path (const gchar* account_name)
 {
        /* This directory should contain an "outbox" child directory: */
 {
        /* This directory should contain an "outbox" child directory: */
-       return g_build_filename (g_get_home_dir(),
-                                MODEST_DIR,
-                                MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDERS_MAILDIR, 
-                                tny_account_get_id (account),
-                                NULL);
+       gchar *escaped, *filename;
+
+#if GLIB_CHECK_VERSION(2, 16, 0)
+       escaped = g_uri_escape_string (account_name, NULL, FALSE);
+#else
+       /* TODO: escape without calling glib */
+       escaped = g_strdup (account_name);
+#endif
+       filename = g_build_filename (g_get_home_dir(),
+                                    MODEST_DIR,
+                                    MODEST_PER_ACCOUNT_LOCAL_OUTBOX_FOLDERS_MAILDIR, 
+                                    escaped,
+                                    NULL);
+       g_free (escaped);
+
+       return filename;
 }
 
 }
 
-gchar *modest_per_account_local_outbox_folder_info_get_maildir_path_to_outbox_folder (TnyAccount *account)
+gchar*
+modest_per_account_local_outbox_folder_info_get_maildir_path_to_outbox_folder (const gchar* account_name)
 {
        gchar *path_to_account_folder = 
 {
        gchar *path_to_account_folder = 
-               modest_per_account_local_outbox_folder_info_get_maildir_path(account);
+               modest_per_account_local_outbox_folder_info_get_maildir_path(account_name);
        if (!path_to_account_folder)
                return NULL;
 
        if (!path_to_account_folder)
                return NULL;