I finally master camel. Today, just a few seconds ago, tinymail for the first time displayed the folders of my own IMAP account. It’s even doing it recursively correct (it can do folders in folders in folders in f..).
Tinymail uses the camel library which was created for Evolution. It uses camel in combination with mainly the proxy design pattern (Although I must admit it’s not yet using the proxy class itself, it’s design is fully ready to use such a proxy class. I first need to create a factory for the real subject which is used in the proxy classes for lazy getting the real subject instances).
There’s still a lot tweaking needed. Anyway, if you’re into crazy GObject coding, using an even more crazy library like camel, if you’d like to help me create a E-mail client targeted at mobile devices: tell me. Not that I’m promising something that might work sooner or later. As usual, as it’s a free-time project, I’m not promising anything :-p.
Its documentation isn’t very complete, so I do hope to some day speak the camel authors at some conference and/or on IRC. Fejj told me I’m the first to use camel outside of Evolution. If true, I hope libtinymail-camel will also be a guide for using camel as a decoupled library.
Oh and, sure it scales to a lot IMAP folders. My “spam” account is subscribed to a lot mailing list. Look for a screenshot of tinymail doing that account here. In fact, it should even scale to a lot E-mail accounts. As I’m also going to build proxy classes for the “account”-type. The treeview model is an account-list model. Its current implementation is a very simple inherited gtktreestore (I wanted something that works a.s.a.p., this might change in future).