}
}
+ if (retval && (priv->filter & MODEST_FOLDER_VIEW_FILTER_SHOW_ONLY_MAILBOXES)) {
+ /* A mailbox is a fake folder with an @ in the middle of the name */
+ if (!TNY_IS_FOLDER (instance) ||
+ !(tny_folder_get_caps (TNY_FOLDER (instance)) & TNY_FOLDER_CAPS_NOSELECT)) {
+ return FALSE;
+ } else {
+ const gchar *folder_name;
+ folder_name = tny_folder_get_name (TNY_FOLDER (instance));
+ if (!folder_name || strchr (folder_name, '@') == NULL)
+ return FALSE;
+ }
+
+ }
+
if (retval && (priv->filter & MODEST_FOLDER_VIEW_FILTER_CAN_HAVE_FOLDERS)) {
if (TNY_IS_FOLDER (instance)) {
/* Check folder rules */
MODEST_FOLDER_VIEW_FILTER_HIDE_ACCOUNTS = 1 << 5,
MODEST_FOLDER_VIEW_FILTER_HIDE_FOLDERS = 1 << 6,
MODEST_FOLDER_VIEW_FILTER_HIDE_LOCAL_FOLDERS = 1 << 7,
+ MODEST_FOLDER_VIEW_FILTER_SHOW_ONLY_MAILBOXES = 1<< 8,
} ModestFolderViewFilter;
typedef struct _ModestFolderView ModestFolderView;