case TNY_FOLDER_TYPE_ARCHIVE:
prefix = "MAND:";
break;
+ case TNY_FOLDER_TYPE_INVALID:
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+ return; /* don't add it */
default:
prefix = "USER:";
+
}
*list = g_list_append(*list, g_strdup_printf ("%s%s", prefix, id));
}
- /*
- else {
- g_warning ("DEBUG: %s: folder has no name or ID.\n", __FUNCTION__);
- }
-
- }
- */
}
static void
show_clipboard = show_delete = show_cancel_send = TRUE;
show_reply = show_forward = FALSE;
break;
+ case TNY_FOLDER_TYPE_INVALID:
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+ break;
default:
show_reply = show_forward = show_clipboard = show_delete = TRUE;
show_cancel_send = FALSE;
if (msg_folder) {
if (modest_tny_folder_is_local_folder (msg_folder)) {
TnyFolderType type = modest_tny_folder_get_local_or_mmc_folder_type (msg_folder);
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
if (type == TNY_FOLDER_TYPE_DRAFTS)
priv->draft_msg = g_object_ref(msg);
if (type == TNY_FOLDER_TYPE_OUTBOX)
id2 = tny_folder_get_id (TNY_FOLDER(folder));
folder_type1 = modest_tny_folder_guess_folder_type (priv->src);
folder_type2 = modest_tny_folder_guess_folder_type (folder);
+
+ if (folder_type1 == TNY_FOLDER_TYPE_INVALID || folder_type2 == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: folder of type TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
same_folder = ((folder_type1 == folder_type2) &&
(!g_ascii_strcasecmp (id1, id2)));
modest_mail_operation_send_mail (self, info->transport_account, msg);
/* Remove old mail from its source folder */
- draft_folder = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account), TNY_FOLDER_TYPE_DRAFTS);
- outbox_folder = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account), TNY_FOLDER_TYPE_OUTBOX);
+ draft_folder = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account),
+ TNY_FOLDER_TYPE_DRAFTS);
+ outbox_folder = modest_tny_account_get_special_folder (TNY_ACCOUNT (info->transport_account),
+ TNY_FOLDER_TYPE_OUTBOX);
if (info->draft_msg != NULL) {
TnyFolder *folder = NULL;
TnyFolder *src_folder = NULL;
folder = tny_msg_get_folder (info->draft_msg);
if (folder == NULL) goto end;
folder_type = modest_tny_folder_guess_folder_type (folder);
+
+ if (folder_type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: folder of type TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
if (folder_type == TNY_FOLDER_TYPE_OUTBOX)
src_folder = outbox_folder;
else
static TnyFolderType
modest_tny_folder_guess_folder_type_from_name (const gchar* full_name)
{
- g_return_val_if_fail (full_name, TNY_FOLDER_TYPE_UNKNOWN);
+ g_return_val_if_fail (full_name, TNY_FOLDER_TYPE_INVALID);
if (strcmp (full_name, modest_local_folder_info_get_type_name(TNY_FOLDER_TYPE_OUTBOX)) == 0)
return TNY_FOLDER_TYPE_OUTBOX;
{
TnyFolderType type;
- g_return_val_if_fail (TNY_IS_FOLDER(folder), TNY_FOLDER_TYPE_UNKNOWN);
+ g_return_val_if_fail (TNY_IS_FOLDER(folder), TNY_FOLDER_TYPE_INVALID);
if (modest_tny_folder_is_local_folder ((TnyFolder*)folder))
type = modest_tny_folder_get_local_or_mmc_folder_type ((TnyFolder*)folder);
type = modest_tny_folder_guess_folder_type_from_name (folder_name);
}
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
return type;
}
TnyFolderType type;
g_return_val_if_fail (TNY_IS_FOLDER(folder), -1);
-
+
if (modest_tny_folder_is_local_folder (folder) ||
modest_tny_folder_is_memory_card_folder (folder)) {
type = modest_tny_folder_get_local_or_mmc_folder_type (folder);
+ g_return_val_if_fail (type != TNY_FOLDER_TYPE_INVALID, -1);
switch (type) {
case TNY_FOLDER_TYPE_OUTBOX:
/* Neither INBOX nor ROOT, nor ARCHIVE folders should me moveable */
folder_type = modest_tny_folder_guess_folder_type (folder);
+ g_return_val_if_fail (folder_type != TNY_FOLDER_TYPE_INVALID, -1);
+
if ((folder_type == TNY_FOLDER_TYPE_INBOX) ||
(folder_type == TNY_FOLDER_TYPE_ROOT) ||
(folder_type == TNY_FOLDER_TYPE_ARCHIVE)) {
modest_tny_folder_is_memory_card_folder (TnyFolder *folder)
{
g_return_val_if_fail (folder, FALSE);
+ g_return_val_if_fail (modest_tny_folder_guess_folder_type (folder) !=
+ TNY_FOLDER_TYPE_INVALID, FALSE);
/* The merge folder is a special case,
* used to merge the per-account local outbox folders.
return !is_local;
}
+
TnyFolderType
modest_tny_folder_get_local_or_mmc_folder_type (TnyFolder *folder)
{
- g_return_val_if_fail (folder, TNY_FOLDER_TYPE_UNKNOWN);
+ g_return_val_if_fail (folder, TNY_FOLDER_TYPE_INVALID);
g_return_val_if_fail (modest_tny_folder_is_local_folder(folder)||
modest_tny_folder_is_memory_card_folder(folder),
- TNY_FOLDER_TYPE_UNKNOWN);
+ TNY_FOLDER_TYPE_INVALID);
/* The merge folder is a special case,
* used to merge the per-account local outbox folders.
G_BEGIN_DECLS
+/* TODO: move this to tinymail */
+#define TNY_FOLDER_TYPE_INVALID -1
+
typedef enum {
MODEST_FOLDER_RULES_FOLDER_NON_WRITEABLE = 1 << 1,
MODEST_FOLDER_RULES_FOLDER_NON_DELETABLE = 1 << 2,
/* Gets folder type (OUTBOX headers will be opened in edit window */
if (modest_tny_folder_is_local_folder (folder)) {
folder_type = modest_tny_folder_get_local_or_mmc_folder_type (folder);
+ if (folder_type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
}
+
if (folder_type == TNY_FOLDER_TYPE_OUTBOX) {
TnyTransportAccount *traccount = NULL;
ModestTnyAccountStore *accstore = modest_runtime_get_account_store();
case TNY_FOLDER_TYPE_ARCHIVE:
help_id = "applications_email_managefolders";
break;
+ case TNY_FOLDER_TYPE_INVALID:
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+ break;
default:
help_id = "applications_email_managefolders";
}
/* Get folder type */
folder_type = modest_tny_folder_guess_folder_type (folder);
-
+ if (folder_type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
/* Check foler type */
for (i=0; i < ntypes; i++) {
result = result || folder_type == types[i];
}
type = modest_tny_folder_guess_folder_type (folder);
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
style = modest_header_view_get_style (header_view);
key = _modest_widget_memory_get_keyname_with_double_type (name, type, style,
return TRUE; /* no folder: no settings */
type = modest_tny_folder_guess_folder_type (folder);
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
style = modest_header_view_get_style (header_view);
key = _modest_widget_memory_get_keyname_with_double_type (name, type, style,
folder_type = modest_tny_folder_guess_folder_type (folder);
g_object_unref (folder);
+ g_return_if_fail (folder_type != TNY_FOLDER_TYPE_INVALID);
+
/* Get header data */
from = g_strdup (tny_header_get_from (header));
to = g_strdup (tny_header_get_to (header));
{
gchar *count_s, *size_s, *name = NULL;
gint size, count;
+
+
+ g_return_if_fail (folder && TNY_IS_FOLDER (folder));
+ g_return_if_fail (modest_tny_folder_get_local_or_mmc_folder_type (folder)
+ != TNY_FOLDER_TYPE_INVALID);
/* Set window title */
gtk_window_set_title (GTK_WINDOW (self), _("mcen_ti_folder_properties"));
the local OUTBOX folder */
if (type == TNY_FOLDER_TYPE_NORMAL ||
type == TNY_FOLDER_TYPE_UNKNOWN) {
- type = modest_tny_folder_guess_folder_type (TNY_FOLDER (instance));
+ type = modest_tny_folder_guess_folder_type (TNY_FOLDER (instance));
}
switch (type) {
+ case TNY_FOLDER_TYPE_INVALID:
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+ break;
+
case TNY_FOLDER_TYPE_ROOT:
if (TNY_IS_ACCOUNT (instance)) {
case TNY_FOLDER_TYPE_UNKNOWN:
case TNY_FOLDER_TYPE_NORMAL:
type = modest_tny_folder_guess_folder_type(TNY_FOLDER(instance));
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
if (type == TNY_FOLDER_TYPE_OUTBOX ||
type == TNY_FOLDER_TYPE_SENT
|| type == TNY_FOLDER_TYPE_DRAFTS)
if ((parent_type == TNY_FOLDER_TYPE_ROOT) &&
TNY_IS_ACCOUNT (parent_folder) &&
modest_tny_account_is_virtual_local_folders (TNY_ACCOUNT (parent_folder))) {
- cmp1 = get_cmp_subfolder_type_pos (modest_tny_folder_get_local_or_mmc_folder_type (TNY_FOLDER (folder1)));
- cmp2 = get_cmp_subfolder_type_pos (modest_tny_folder_get_local_or_mmc_folder_type (TNY_FOLDER (folder2)));
+ cmp1 = get_cmp_subfolder_type_pos (modest_tny_folder_get_local_or_mmc_folder_type
+ (TNY_FOLDER (folder1)));
+ cmp2 = get_cmp_subfolder_type_pos (modest_tny_folder_get_local_or_mmc_folder_type
+ (TNY_FOLDER (folder2)));
}
g_object_unref (parent_folder);
}
-
+
/* if they are not local folders */
if (cmp1 == cmp2) {
cmp1 = get_cmp_subfolder_type_pos (tny_folder_get_folder_type (TNY_FOLDER (folder1)));
{
TnyList *headers = NULL;
TnyFolder *folder = NULL;
+ TnyFolderType folder_type;
ModestMailOperation *mail_op = NULL;
GtkTreeIter source_iter, dest_iter;
ModestWindowMgr *mgr = NULL;
TNY_GTK_FOLDER_STORE_TREE_MODEL_INSTANCE_COLUMN,
&folder, -1);
+ if (!folder || TNY_IS_FOLDER_STORE(folder)) {
+ //g_warning ("%s: not a valid target folder", __FUNCTION__);
+ goto cleanup;
+ }
+
+ folder_type = modest_tny_folder_guess_folder_type (folder);
+ if (folder_type == TNY_FOLDER_TYPE_INVALID) {
+ g_warning ("%s: invalid target folder", __FUNCTION__);
+ goto cleanup; /* cannot move messages there */
+ }
+
+ if (modest_tny_folder_get_rules((TNY_FOLDER(folder))) & MODEST_FOLDER_RULES_FOLDER_NON_WRITEABLE)
+ goto cleanup; /* verboten! */
+
/* Ask for confirmation to move */
main_win = modest_window_mgr_get_main_window (mgr);
response = modest_ui_actions_msgs_move_to_confirmation (main_win, folder,
/* Restore sort column id */
if (cols) {
type = modest_tny_folder_guess_folder_type (folder);
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+
sort_colid = modest_header_view_get_sort_column_id (self, type);
sort_type = modest_header_view_get_sort_type (self, type);
gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(sortable),
/* Sort tree model */
type = modest_tny_folder_guess_folder_type (priv->folder);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(sortable),
+ if (type == TNY_FOLDER_TYPE_INVALID)
+ g_warning ("%s: BUG: TNY_FOLDER_TYPE_INVALID", __FUNCTION__);
+ else {
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE(sortable),
sort_colid,
sort_type);
- /* Store new sort parameters */
- modest_header_view_set_sort_params (self, sort_colid, sort_type, type);
-
- /* Save GConf parameters */
-/* modest_widget_memory_save (modest_runtime_get_conf(), */
-/* G_OBJECT(self), "header-view"); */
-
+ /* Store new sort parameters */
+ modest_header_view_set_sort_params (self, sort_colid, sort_type, type);
+ }
}
void