Warning, /pim/messagelib/messagecomposer/TODO is written in an unsupported language. File is not indexed.

0001 This doc describes the state of the composer when my (cberzan) GSoC project
0002 ended and I could no longer dedicate full time to this.
0003 
0004 Things that should be rethought a little and refactored:
0005 * All GUI bits should move out of the jobs. Currently this is only the
0006   MainTextJob's ugly KMessageBox that warns the user if a charset is not good
0007   for their message.
0008 * Some jobs (the MainTextJob, AttachmentJob at least) need to know what
0009   charset(s) the user has chosen and whether 8bit encoding is allowed. This is
0010   currently stored in the GlobalPart, and it sucks horribly that each job
0011   might need access to this GlobalPart. The globalPart is currently obtained
0012   by checking all ancestors if they are a Composer, and calling
0013   thatAncestor->globalPart(). This has the nasty side effect that jobs require
0014   a Composer grandparent, and can't be used independently. I haven't found a
0015   good way to solve this without duplication. :-/
0016 * Related to the above: it should be possible to use any of these jobs outside
0017   of a composer, especially that the TemplateParser and KJots might need them.
0018   It should also be easy to make have something like MyComposer in an
0019   application, extending upon Composer.
0020 
0021 Things that are still TODO:
0022 The crypto composer. Currently the plan is to have this simple composer LGPL,
0023 and have another GPL crypto composer that would use this, and be used in KMail.
0024 Whereas this Composer outputs a single KMime::Message, the crypto composer
0025 should probably output a list of Akonadi::Items, and store things that are not
0026 part of the sendable message (such as Bcc) as item attributes.