X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-local-folder-info.c;h=d0bcb755a2b037e634dab43f260023222e28b7c4;hp=c1956b41dbf39fd8e916713de81537523a89e5f2;hb=12a672c559d983c4e49a7e4054ee14c0177ecb1c;hpb=50533dff2af0ce1a0d891f7034bd8749670c8e14 diff --git a/src/modest-local-folder-info.c b/src/modest-local-folder-info.c index c1956b4..d0bcb75 100644 --- a/src/modest-local-folder-info.c +++ b/src/modest-local-folder-info.c @@ -30,6 +30,8 @@ #include #include /* strcmp */ #include +#include +#include typedef struct { TnyFolderType type; @@ -40,7 +42,6 @@ typedef struct { const ModestLocalFolder ModestLocalFolderMap[] = { { TNY_FOLDER_TYPE_UNKNOWN, "", N_("")}, { TNY_FOLDER_TYPE_NORMAL, "", N_("")}, - { 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 +49,7 @@ const ModestLocalFolder ModestLocalFolderMap[] = { { TNY_FOLDER_TYPE_ROOT, "", N_("")}, { 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")} }; @@ -102,11 +101,50 @@ modest_local_folder_info_get_type_display_name (TnyFolderType type) 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: */ + 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 (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; +} + + +