Implement forwarding crypto mails with attachments
* src/application-events.cpp (EVENT_SINK_INVOKE): Invalidate last mail in the next UI Loop. * src/mail.cpp (Mail::update_body): Safety check for parser. Keep parser around. (Mail::invalidate_last_mail): New. Clear cached last mail ptr. * src/mail.h: Update accordingly. * src/mailitem-events.cpp (EVENT_SINK_INVOKE): Extend write event to detect forward of mails with attachments. * src/oomhelp.cpp (get_inline_body): New. * src/oomhelp.h: Update accordingly. * src/windowmessages.cpp, src/windowmessages.h (INVALIDATE_LAST_MAIL, REVERT_MAIL): New messages. * src/wks-helper.cpp (WKSHelper::send_mail): Check if last mail was invalidated.
This is a first working draft of forwarding crypto mails
with attachments. As we don't see the forward event before
we get the write event (that we have to cancel usually) we
now have some extra magic to detect the forward based on
an ItemLoad of an empty mail in the same UI loop as the
write event. This is pretty magic but it works.
Once we detect the forward we save the mail and then immediately
revert it and save it again. This has the usual uglyness of
reverting (sync) but works and allows to forward mails.
- GnuPG-Bug-Id: T3836