Extended plugin system
This MR is intended to provide more extensions to the Plugin system in order to allow the priority (!620 (closed)) to be a plugin.
The plan for the development of this MR is:
-
Add get_message_header(string key), set_message_header(string key, string value) and clear_message_header(string key) to Plugin.Composer. Of course the character set will automatically be matched from Geary.RFC822.Message. Use a hash map to manage headers. (Weight 3) -
Add Plugin.Menu and set_menu(Plugin.Menu) to Plugin.Composer this will allow the plugin to register the priority action. (Weight 5) -
Add get_message_header(string key) to Plugin.Email. (Weight 2) -
Add add_email_status(EmailIdentifier email, MessageStatus) and remove_email_status(EmailIdentifier email, MessageStatus) to EmailContext (Weight 5) -
Create Plugin.MessageStatus and Components.MessageStatus (Weight 4)
Weights goes from 1 to 5. 1 is minimal change, 5 is potentially large changes needed.
DISCLAIMER: The weights given are just estimations and may be subject to change.
Edited by Yuri6037