* Fixes NB#91689. fixes a wrong check for ASCII
[modest] / src / modest-local-folder-info.c
index bd91821..c818cca 100644 (file)
@@ -30,6 +30,7 @@
 #include <glib/gi18n.h>
 #include <string.h> /* strcmp */
 #include <modest-local-folder-info.h>
+#include <stdio.h>
 
 typedef struct {
        TnyFolderType   type;
@@ -40,7 +41,6 @@ typedef struct {
 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")},
@@ -48,9 +48,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_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")}
 };
 
 
@@ -89,20 +87,52 @@ modest_local_folder_info_get_type_display_name (TnyFolderType type)
        g_return_val_if_fail (type >= TNY_FOLDER_TYPE_UNKNOWN &&
                              type <  TNY_FOLDER_TYPE_NUM, NULL);
        
+       /* Note that we call _() to get the localized name.
+        * This works because we used N_() on the static string when we initialized the array,
+        * to mark the string for translation.
+        */
        for (i = 0; i != G_N_ELEMENTS(ModestLocalFolderMap); ++i) {
                if (ModestLocalFolderMap[i].type == type)
-                       return ModestLocalFolderMap[i].display_name;
+                       return _(ModestLocalFolderMap[i].display_name);
        }
        return NULL;    
 }
 
 
 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);
 }
 
+gchar*
+modest_per_account_local_outbox_folder_info_get_maildir_path (const gchar* account_name)
+{
+       /* 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, 
+                                account_name,
+                                NULL);
+}
+
+gchar*
+modest_per_account_local_outbox_folder_info_get_maildir_path_to_outbox_folder (const gchar* account_name)
+{
+       gchar *path_to_account_folder = 
+               modest_per_account_local_outbox_folder_info_get_maildir_path(account_name);
+       if (!path_to_account_folder)
+               return NULL;
+
+       gchar *path = g_build_filename (path_to_account_folder, "outbox", NULL);
+
+       g_free (path_to_account_folder);
+
+       return path;
+}
+
+
+