Composer: Clarify and fix the selection of encryption keys
Importantly, this adds a "crypto summary" widget that allows to monitor
for problems, quickly. Users can now trigger manual resolution at will,
rather than being prompted only in case of non-descript problems, and
only after clicking "send".
The patch is quite large, as several bugs were discovered in the
process, which prompted some rewrites, and importantly moving all key
resolution code to a single place, rather than split between
ComposerWindow and ComposerViewBase.
Fixed bugs/problems include:
- Failure to show keys as resolved, if the UIDs contains upper case
- In manual resolution, setting "no key" for a recipient suggests the user will still receive the mail, while actually it was stripped, entirely, without feedback
- Bad keys would show with a green checkmark
- Keys shown in recipients line would not necessarily be the keys actually used. Esp. in case of working with mixed protocols, the choice could silently be changed on the resolver on send.
- No option to select specific keys and/or protocol, until clicking "send" (at which point manual resolution would or would not be triggered, without a way for the user to know in advance).
- Silly message after clicking "Cancel" in manual key resolution