I don't think we actually want a patch to do this. also, a few comments below On Tue, 2004-06-01 at 21:18 +0200, Christian Neumair wrote: > Christian Neumair schrieb: > > > The attached patch improves the sort order of folders inside the folder > > treeview. See patch for order details. > > Sorry, the patch was not only lacking the most important part, it didn't > work properly as well. Here comes the fixed patch. > > regs, > Chris > > > Plain text document attachment (evo-treeview-order.diff) > Index: mail/em-folder-tree-model.c > =================================================================== > RCS file: /cvs/gnome/evolution/mail/em-folder-tree-model.c,v > retrieving revision 1.53 > diff -u -r1.53 em-folder-tree-model.c > --- mail/em-folder-tree-model.c 28 May 2004 17:04:18 -0000 1.53 > +++ mail/em-folder-tree-model.c 1 Jun 2004 19:17:12 -0000 > @@ -177,6 +177,40 @@ > G_TYPE_STRING); > } > > +/* This makes folders show up in the following order: Inbox, Outbox, Drafts, Sent, Junk, Trash, Others */ > +static guint don't use guint, use int > +name_to_position (gchar *name) don't use gchar, use const char * > +{ > + g_assert (name); > + > + if ((!strcmp (name, "INBOX") || > + !strcmp (name, "Inbox") || > + !strcmp (name, _("Inbox")))) this should probably use g_ascii_strcasecmp() and g_utf8_strcasecmp()? > + return 0; > + else if ((!strcmp (name, "OUTBOX") || > + !strcmp (name, "Outbox") || > + !strcmp (name, _("Outbox")))) > + return 1; > + else if ((!strcmp (name, "DRAFTS") || > + !strcmp (name, "Drafts") || > + !strcmp (name, _("Drafts")))) > + return 2; > + else if ((!strcmp (name, "SENT") || > + !strcmp (name, "Sent") || > + !strcmp (name, _("Sent")))) > + return 3; > + else if ((!strcmp (name, "TRASH") || > + !strcmp (name, "Trash") || > + !strcmp (name, _("Trash")))) > + return 4; > + else if ((!strcmp (name, "JUNK") || > + !strcmp (name, "Junk") || > + !strcmp (name, _("Junk")))) why is Junk after Trash? that said, I'm not sure on the rest of the ordering either. > + return 5; > + else > + return 6; > +} > + > static int > sort_cb (GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer user_data) > { > @@ -184,6 +218,7 @@ > char *aname, *bname; > CamelStore *store; > gboolean is_store; > + guint atype, btype; don't use guint > > gtk_tree_model_get (model, a, COL_BOOL_IS_STORE, &is_store, > COL_POINTER_CAMEL_STORE, &store, > @@ -207,11 +242,12 @@ > if (bname && !strcmp (bname, _("UNMATCHED"))) > return -1; > } else { > - /* Inbox is always first */ > - if (aname && (!strcmp (aname, "INBOX") || !strcmp (aname, _("Inbox")))) > - return -1; > - if (bname && (!strcmp (bname, "INBOX") || !strcmp (bname, _("Inbox")))) > - return 1; > + atype = name_to_position (aname); > + btype = name_to_position (bname); > + > + if (atype < 6 || > + btype < 6) why did you wrap ehre? don't do that > + return (atype == btype ? 0 : atype > btype ? 1 : -1); return atype - btype; > } > > if (aname == NULL) { Jeff -- Jeffrey Stedfast Evolution Hacker - Novell, Inc. fejj ximian com - www.novell.com
Attachment:
smime.p7s
Description: S/MIME cryptographic signature