X-Git-Url: http://git.maemo.org/git/?p=modest;a=blobdiff_plain;f=src%2Fmodest-local-folder-info.c;h=d0bcb755a2b037e634dab43f260023222e28b7c4;hp=25c02b7f0ea4fc13578f3d9ac3e868121837c629;hb=4d39841513a3a7f7aa9d38ab97cb9fcc9171e80b;hpb=da78260d1ea50e18f9a307b2deb1a0adec2fc2c8 diff --git a/src/modest-local-folder-info.c b/src/modest-local-folder-info.c index 25c02b7..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,17 +42,14 @@ typedef struct { const ModestLocalFolder ModestLocalFolderMap[] = { { TNY_FOLDER_TYPE_UNKNOWN, "", N_("")}, { TNY_FOLDER_TYPE_NORMAL, "", N_("")}, - { TNY_FOLDER_TYPE_INBOX, "inbox", N_("Inbox")}, - { TNY_FOLDER_TYPE_OUTBOX, "outbox", N_("Outbox")}, + { 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_SENT, "sent", N_("Sent items")}, + { TNY_FOLDER_TYPE_SENT, "sent", N_("mcen_me_folder_sent")}, { TNY_FOLDER_TYPE_ROOT, "", N_("")}, { TNY_FOLDER_TYPE_NOTES, "notes", N_("Notes")}, - { TNY_FOLDER_TYPE_DRAFTS, "drafts", N_("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_DRAFTS, "drafts", N_("mcen_me_folder_drafts")}, + { TNY_FOLDER_TYPE_ARCHIVE, "archive", N_("mcen_me_folder_archive")} }; @@ -89,20 +88,63 @@ 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: */ + 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; +} + + +