Hi, I am in the process of moving away from Gmail to my own mail server. I found the concept of GMail tags very useful, and I'd like to replace it by an IMAP client with flags/keywords support. Almost no mail client does, and I think Trojita is a very good candidate for me to improve. I already developed in Qt, and I find it very easy.
To use Trojita, I would need draft support (messages should be saved as drafts until sent) to prevents from loosing a message if the SMTP transaction fails. I was thinking of the following way of implementing it: - if a message is a draft, the message view allows to edit it - if the message is not a draft, an action would allow to duplicate the message and edit the duplicated one as a draft - everything should be editable in a draft - creating a new message (or replying to an existing one) would create a draft message on the server, and it would be edited from there - draft could be sent through SMTP or other means (I think some IMAP servers support sending messages in a specific mailbox). This would remove the draft flag from the message I am also very interested in looking at message flags/keywords, so I already made a little modification, consisting in showing the flags of a message in the message view. It will probably need to get its UI improved. I pushed it on my repository: https://gitorious.org/~mildred/trojita/mildreds-trojita Next, I'd also like to be able to add/remove a flag from a message. Apparently the underlying model doesn't allow write operations, so I'd need to use a Task object. I believe this touches the underlying IMAP protocol. I think I saw somewhere that modifying this layer was restricted ... I'd like to know how much, and how I can improve Trojita and be sure my modifications can be accepted. Also, I was wondering, why not make the message model (Imap::Mailbox::TreeItem / Imap::Mailbox::Model) accept write operations (the setData method). Would it be acceptable to write a setData method in the model that would create Task objects ? Thank you, Mildred
