From: Jose Dapena Paz Date: Fri, 9 Jan 2009 12:49:23 +0000 (+0000) Subject: Added new method modest_tny_folder_get_display_name X-Git-Tag: git_migration_finished~845 X-Git-Url: http://git.maemo.org/git/?p=modest;a=commitdiff_plain;h=a0165434d682c6ce44934fd247a1c414df7fe49c Added new method modest_tny_folder_get_display_name pmo-trunk-r7089 --- diff --git a/src/modest-tny-folder.c b/src/modest-tny-folder.c index 62149cb..8188eeb 100644 --- a/src/modest-tny-folder.c +++ b/src/modest-tny-folder.c @@ -489,3 +489,38 @@ modest_tny_folder_is_ancestor (TnyFolder *folder, } return found; } + +gchar * +modest_tny_folder_get_display_name (TnyFolder *folder) +{ + TnyFolderType type = TNY_FOLDER_TYPE_UNKNOWN; + gchar *fname; + + g_return_val_if_fail (TNY_IS_FOLDER (folder), NULL); + + fname = g_strdup (tny_folder_get_name (folder)); + type = tny_folder_get_folder_type (folder); + + if (modest_tny_folder_is_local_folder (TNY_FOLDER (folder)) || + modest_tny_folder_is_memory_card_folder (TNY_FOLDER (folder))) { + type = modest_tny_folder_get_local_or_mmc_folder_type (TNY_FOLDER (folder)); + if (type != TNY_FOLDER_TYPE_UNKNOWN) { + g_free (fname); + fname = g_strdup (modest_local_folder_info_get_type_display_name (type)); + } + } else { + /* Sometimes an special folder is reported by the server as + NORMAL, like some versions of Dovecot */ + if (type == TNY_FOLDER_TYPE_NORMAL || + type == TNY_FOLDER_TYPE_UNKNOWN) { + type = modest_tny_folder_guess_folder_type (TNY_FOLDER (folder)); + } + } + + if (type == TNY_FOLDER_TYPE_INBOX) { + g_free (fname); + fname = g_strdup (_("mcen_me_folder_inbox")); + } + + return fname; +} diff --git a/src/modest-tny-folder.h b/src/modest-tny-folder.h index 585739a..c11f3a7 100644 --- a/src/modest-tny-folder.h +++ b/src/modest-tny-folder.h @@ -203,6 +203,16 @@ gboolean modest_tny_folder_has_subfolder_with_name (TnyFolderStore *folder, gboolean modest_tny_folder_is_ancestor (TnyFolder *folder, TnyFolderStore *ancestor); +/** + * modest_tny_folder_get_display_name: + * @folder: a #TnyFolder + * + * obtain the display name for @folder + * + * Returns: a newly allocated string + */ +gchar * modest_tny_folder_get_display_name (TnyFolder *folder); + G_END_DECLS #endif /* __MODEST_TNY_FOLDER_H__*/