type = TNY_FOLDER_TYPE_UNKNOWN;
folder = g_utf8_strdown (name, strlen(name));
- if (strcmp (folder, "inbox") == 0 ||
- strcmp (folder, _("inbox")) == 0 ||
- strcmp (folder, _("mcen_me_folder_inbox")) == 0)
- type = TNY_FOLDER_TYPE_INBOX;
- else if (strcmp (folder, "outbox") == 0 ||
+// if (strcmp (folder, "inbox") == 0 ||
+// strcmp (folder, _("inbox")) == 0 ||
+// strcmp (folder, _("mcen_me_folder_inbox")) == 0)
+// type = TNY_FOLDER_TYPE_INBOX;
+ if (strcmp (folder, "outbox") == 0 ||
strcmp (folder, _("outbox")) == 0 ||
strcmp (folder, _("mcen_me_folder_outbox")) == 0)
type = TNY_FOLDER_TYPE_OUTBOX;
- else if (g_str_has_prefix(folder, "junk") ||
- g_str_has_prefix(folder, _("junk")))
- type = TNY_FOLDER_TYPE_JUNK;
- else if (g_str_has_prefix(folder, "trash") ||
- g_str_has_prefix(folder, _("trash")))
- type = TNY_FOLDER_TYPE_TRASH;
+// else if (g_str_has_prefix(folder, "junk") ||
+// g_str_has_prefix(folder, _("junk")))
+// type = TNY_FOLDER_TYPE_JUNK;
+// else if (g_str_has_prefix(folder, "trash") ||
+// g_str_has_prefix(folder, _("trash")))
+// type = TNY_FOLDER_TYPE_TRASH;
else if (g_str_has_prefix(folder, "sent") ||
g_str_has_prefix(folder, _("sent")) ||
strcmp (folder, _("mcen_me_folder_sent")) == 0)
g_str_has_prefix(folder, _("draft")) ||
strcmp (folder, _("mcen_me_folder_drafts")) == 0)
type = TNY_FOLDER_TYPE_DRAFTS;
- else if (g_str_has_prefix(folder, "notes") ||
- g_str_has_prefix(folder, _("notes")))
- type = TNY_FOLDER_TYPE_NOTES;
- else if (g_str_has_prefix(folder, "contacts") ||
- g_str_has_prefix(folder, _("contacts")))
- type = TNY_FOLDER_TYPE_CONTACTS;
- else if (g_str_has_prefix(folder, "calendar") ||
- g_str_has_prefix(folder, _("calendar")))
- type = TNY_FOLDER_TYPE_CALENDAR;
+// else if (g_str_has_prefix(folder, "notes") ||
+// g_str_has_prefix(folder, _("notes")))
+// type = TNY_FOLDER_TYPE_NOTES;
+// else if (g_str_has_prefix(folder, "contacts") ||
+// g_str_has_prefix(folder, _("contacts")))
+// type = TNY_FOLDER_TYPE_CONTACTS;
+// else if (g_str_has_prefix(folder, "calendar") ||
+// g_str_has_prefix(folder, _("calendar")))
+// type = TNY_FOLDER_TYPE_CALENDAR;
g_free (folder);
return type;
static gint
get_cmp_subfolder_type_pos (TnyFolderType t)
{
- /* Outbox, Drafts, Sent, User */
- /* 0, 1, 2, 3 */
+ /* Inbox, Outbox, Drafts, Sent, User */
+ /* 0, 1, 2, 3, 4 */
switch (t) {
- case TNY_FOLDER_TYPE_OUTBOX:
+ case TNY_FOLDER_TYPE_INBOX:
return 0;
break;
- case TNY_FOLDER_TYPE_DRAFTS:
+ case TNY_FOLDER_TYPE_OUTBOX:
return 1;
break;
- case TNY_FOLDER_TYPE_SENT:
+ case TNY_FOLDER_TYPE_DRAFTS:
return 2;
break;
- default:
+ case TNY_FOLDER_TYPE_SENT:
return 3;
+ break;
+ default:
+ return 4;
}
}
cmp = modest_text_utils_utf8_strcmp (name1, name2, TRUE);
}
} else {
- GtkTreeIter parent;
- gboolean has_parent;
gint cmp1 = 0, cmp2 = 0;
/* get the parent to know if it's a local folder */
+
+ GtkTreeIter parent;
+ gboolean has_parent;
has_parent = gtk_tree_model_iter_parent (tree_model, &parent, iter1);
if (has_parent) {
GObject *parent_folder;
}
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)));
+ cmp2 = get_cmp_subfolder_type_pos (tny_folder_get_folder_type (TNY_FOLDER (folder2)));
+ }
+
if (cmp1 == cmp2)
cmp = modest_text_utils_utf8_strcmp (name1, name2, TRUE);
else