X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodest-tny-folder.c;h=cea0d09a13b7abc3d050d810bb38b0c13634b227;hb=2d83522afb171edecdbf848a47d1348dc0c7694e;hp=e88524464c3a8fc8c596e70cc93439c414640ce3;hpb=0497c1f70e32dd1d1e4a5b75ce99e2dec79bd329;p=modest diff --git a/src/modest-tny-folder.c b/src/modest-tny-folder.c index e885244..cea0d09 100644 --- a/src/modest-tny-folder.c +++ b/src/modest-tny-folder.c @@ -35,7 +35,6 @@ #include #include #include -#include #include #include #include @@ -300,13 +299,9 @@ modest_tny_folder_get_local_or_mmc_folder_type (TnyFolder *folder) * _full name_, that is, the full path name of the folder, * to distinguish between 'Outbox' and 'myfunkyfolder/Outbox' */ - CamelFolder *camel_folder = tny_camel_folder_get_folder (TNY_CAMEL_FOLDER(folder)); - if (!camel_folder) - return TNY_FOLDER_TYPE_UNKNOWN; - const gchar *full_name = camel_folder_get_full_name (camel_folder); + const gchar *full_name = tny_camel_folder_get_full_name (TNY_CAMEL_FOLDER (folder)); /* printf ("DEBUG: %s: full_name=%s\n", __FUNCTION__, full_name); */ - camel_object_unref (CAMEL_OBJECT(camel_folder)); if (!full_name) return TNY_FOLDER_TYPE_UNKNOWN; @@ -324,25 +319,6 @@ modest_tny_folder_is_outbox_for_account (TnyFolder *folder, TnyAccount *account) return FALSE; return TRUE; -#if 0 - /* we need to use the camel functions, because we want the - * _full name_, that is, the full path name of the folder, - * to distinguis between 'Outbox' and 'myfunkyfolder/Outbox' - */ - CamelFolder *camel_folder = tny_camel_folder_get_folder (TNY_CAMEL_FOLDER(folder)); - if (!camel_folder) - return FALSE; - - const gchar *full_name = camel_folder_get_full_name (camel_folder); - camel_object_unref (CAMEL_OBJECT(camel_folder)); - - if (!full_name) - return TNY_FOLDER_TYPE_UNKNOWN; - else - return modest_local_folder_info_get_type (full_name); - - return FALSE; -#endif } gchar* @@ -434,3 +410,24 @@ modest_tny_folder_has_subfolder_with_name (TnyFolderStore *parent, return same_subfolder; } + +gboolean +modest_tny_folder_is_ancestor (TnyFolder *folder, + TnyFolderStore *ancestor) +{ + TnyFolderStore *tmp = NULL; + gboolean found = FALSE; + + tmp = TNY_FOLDER_STORE (folder); + while (!found && tmp && !TNY_IS_ACCOUNT (tmp)) { + TnyFolderStore *folder_store; + + folder_store = tny_folder_get_folder_store (TNY_FOLDER (tmp)); + if (ancestor == folder_store) + found = TRUE; + else + tmp = folder_store; + g_object_unref (folder_store); + } + return found; +}